搜索
bottom↓
回复: 37

RVMDK 中这个错误怎么解决 Error: L6218E: Undefined symbol __BASEPRICONFIG (ref

[复制链接]

出0入0汤圆

发表于 2008-9-7 09:58:11 | 显示全部楼层 |阅读模式
Build target 'Target 1'
compiling stm32f10x_nvic.c...
linking...
MyProject.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).
MyProject.axf: Error: L6218E: Undefined symbol __GetBASEPRI (referred from stm32f10x_nvic.o).
MyProject.axf: Error: L6218E: Undefined symbol __RESETFAULTMASK (referred from stm32f10x_nvic.o).
MyProject.axf: Error: L6218E: Undefined symbol __RESETPRIMASK (referred from stm32f10x_nvic.o).
MyProject.axf: Error: L6218E: Undefined symbol __SETFAULTMASK (referred from stm32f10x_nvic.o).
MyProject.axf: Error: L6218E: Undefined symbol __SETPRIMASK (referred from stm32f10x_nvic.o).
Target not created
在测试一个SPI的程序,需要用到stm32f10x_nvic.c这个源文件,但出现很多未定义的错误,不知为何,难道固件库本身有问题?
望大虾指教,谢谢了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2008-10-9 13:56:07 | 显示全部楼层
少了一个文件

出0入0汤圆

发表于 2008-10-9 13:56:23 | 显示全部楼层
估计你用的是MDK

出0入0汤圆

发表于 2008-10-17 16:46:15 | 显示全部楼层
stm32f10x_conf.h



/************************************* NVIC ***********************************/

#define _NVIC



是不是注释了“#define _NVIC”

出0入0汤圆

发表于 2008-10-27 20:10:07 | 显示全部楼层
我也碰到LZ的问题了,只要用到NVIC就会这样!

出0入0汤圆

发表于 2008-10-27 21:12:08 | 显示全部楼层
用IAR的启动文件替换MDK的,可以到MDK的例子下找到这个文件stm32f10x_vector.s.那些定义都是IAR启动文件里面的,在MDK里面用借用一下就可以了

出0入0汤圆

发表于 2008-10-27 21:32:22 | 显示全部楼层
stm32f10x_conf.h 是定义哪些功能是否使用的,使用了的话,要包含相应的C文件的,如果使用了nvic,就要包含stm32f10x_nvic.c,并且修改stm32f10x_conf.h 的#define _NVIC。其他的也是类似的。如果不确定,可以全部都使用,然后用编译器的优化,会吧用不到的代码去除的。

出0入0汤圆

发表于 2008-10-28 18:58:56 | 显示全部楼层
不是stm32f10x_conf.h的问题,是启动文件的原因。把MDK的启动文件STM32F10x.s删除掉,把IAR的启动文件cortexm3_macro.s和stm32f10x_vector.s装载进来,同时还要装载IAR的stm 32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h这样就好了。

出0入0汤圆

发表于 2008-10-29 16:28:48 | 显示全部楼层
cortexm3_macro.s,关键是这个文件,实现了对cortex特殊指令的声明,如果没有的话一定要添加进去,因为stm32f10x_nvic.c需要

出0入0汤圆

发表于 2009-6-24 10:20:31 | 显示全部楼层
添加了cortexm3_macro.s,有两个错误,

   Unknow RSEG opcode
   a lable was found which was no area

出0入0汤圆

发表于 2009-6-24 10:25:21 | 显示全部楼层
搞错了,添加了iar下的cortexm3_macro.s,添加MDK下的cortexm3_macro.s就ok了!!

出0入0汤圆

发表于 2009-11-21 21:50:13 | 显示全部楼层
半分钟前我也遇到了,半分钟后工程里加上.c文件就OK了。

出0入0汤圆

发表于 2010-3-8 09:37:39 | 显示全部楼层
遇到过这个问题 mark

出0入0汤圆

发表于 2010-3-20 21:28:43 | 显示全部楼层
工程里添加cortexm3_macro.s就行了?
能否具体点给个方法?直接运行Example是没问题的,一样的配置,自己搞的就不行了

出0入0汤圆

发表于 2010-10-6 23:38:57 | 显示全部楼层
工程里缺少 misc.C 文件

出0入0汤圆

发表于 2010-11-12 11:04:59 | 显示全部楼层
MARK  被相识的问题挡住了。

出0入0汤圆

发表于 2010-11-12 11:43:06 | 显示全部楼层
应该是缺core_cm3.c文件。该文件在.\CMSIS\Core\CM3目录下。

出0入0汤圆

发表于 2010-11-18 21:37:18 | 显示全部楼层
小弟正在被这个“低级的”问题困扰。自己如今连个流水等都没有搞出来啊!哪位大侠不吝赐教啊?

出0入0汤圆

发表于 2010-11-18 21:42:19 | 显示全部楼层
少stm32f10x_nvic.c 从库里加进去

出0入0汤圆

发表于 2011-1-9 21:13:09 | 显示全部楼层
我往时移植ucos2时也是遇到这几个编译错误,我是这样在C文件中直接写这几个函数解决嘅:
__asm void __SETFAULTMASK(void)
{
CPSID F;
BX LR;
}

__asm void __RESETFAULTMASK(void)
{
CPSIE F;
BX LR;
}

__asm void __SETPRIMASK(void)
{
   MOV R0, #0x01;
   MSR PRIMASK, R0;
   BX LR;
}
__asm void __RESETPRIMASK(void)
  {
   MOV R0, #0x00;
   MSR PRIMASK, R0;
   BX LR;
  }

__asm u32 __GetBASEPRI (void)
{
  MRS R0,BASEPRI;
  BX LR;
}

出0入0汤圆

发表于 2011-2-1 06:33:29 | 显示全部楼层
是缺少STM32F10xR.LIB文件的原因,在MDK安装目录\ARM\RV31\LIB\ST\下。

循着Google的指引过来的,曾无数次在这里找到答案,都完善得不需要补充,这次有机会回馈各位了。

刚才我也出现了这个问题,看见楼上诸位对启动文件的描述,我也开始怀疑这个文件。因为我有几个好用的STM32 USB项目,所以我过去直接把那些文件里面的stm32f10x_vector.s复制过来替换掉了原先的启动文件,但是编译仍然无法通过。如果再照上面说的把IAR那些启动文件挪过去,即使能用也会觉得有点别扭——以前不用这样的啊。

我盯着那几个项目看了好久,总感觉有什么不对劲,回忆了半天记起来没有一个是我自己生成的。所以要问一下大家,出问题的工程是怎么建立的?是不是都直接在MDK工具栏Project里面选了New μVision Project,然后在提示复制启动文件时选择了Yes?

突然想起去MDK的范例目录里翻查,终于找到一个最简框架,下文MDK安装目录简称“MDK_DIR”。我的MDK3.70安装路径是E:\Electronics\Keil_ARM\

这个最简框架的路径是MDK_DIR\ARM\Examples\ST\STM32F10xFWLib\Project\

将这个工程复制到自己的工程目录并打开,会发现项目结构和MDK自动生成的项目差别最大的就是那个LIB文件了。而stm32f10x_vector.s文件都是一样的。前面很多朋友说缺文件,缺的就是它。

出0入0汤圆

发表于 2011-3-25 15:45:03 | 显示全部楼层
21楼,17楼,8楼都是正解。

出0入0汤圆

发表于 2011-4-11 15:27:51 | 显示全部楼层
启动文件的问题,换成IAR的启动文件就行了

出0入0汤圆

发表于 2011-4-12 01:27:01 | 显示全部楼层
添加misc.h头文件

出0入0汤圆

发表于 2011-4-16 00:00:38 | 显示全部楼层
回复【8楼】essencezj
-----------------------------------------------------------------------

谢谢楼主

出0入0汤圆

发表于 2011-4-16 00:01:14 | 显示全部楼层
回复【25楼】wliquory 蓝艺峥
-----------------------------------------------------------------------

错了应该说谢谢8楼

出0入0汤圆

发表于 2011-5-11 13:34:23 | 显示全部楼层
回复【21楼】Alex_rcpilot  
-----------------------------------------------------------------------

谢谢!

出0入0汤圆

发表于 2011-5-28 21:34:30 | 显示全部楼层
我也遇到这个问题了,添加crotexm3_macro.s文件解决问题!

出0入0汤圆

发表于 2011-5-29 13:56:34 | 显示全部楼层
8楼正解,不用复制IAR的文件,MDK自己就有

出0入0汤圆

发表于 2011-6-28 12:10:55 | 显示全部楼层
我也遇到过,少加了一个文件driverlib.lib

出0入0汤圆

发表于 2012-1-9 11:38:35 | 显示全部楼层
加入 crotexm3_macro.s 解决了问题,mark mark

出0入0汤圆

发表于 2012-4-10 20:34:53 | 显示全部楼层
Alex_rcpilot 发表于 2011-2-1 06:33
是缺少STM32F10xR.LIB文件的原因,在MDK安装目录\ARM\RV31\LIB\ST\下。

循着Google的指引过来的,曾无数次 ...

22楼正解

出0入0汤圆

发表于 2012-10-4 23:22:10 | 显示全部楼层
Alex_rcpilot 发表于 2011-2-1 06:33
是缺少STM32F10xR.LIB文件的原因,在MDK安装目录\ARM\RV31\LIB\ST\下。

循着Google的指引过来的,曾无数次 ...

非常感谢,帮我解决问题了

出0入0汤圆

发表于 2012-11-8 16:03:26 | 显示全部楼层
万能的阿莫BBS啊,有解决我一个问题

出0入0汤圆

发表于 2012-11-8 17:49:30 | 显示全部楼层
Alex_rcpilot 发表于 2011-2-1 06:33
是缺少STM32F10xR.LIB文件的原因,在MDK安装目录\ARM\RV31\LIB\ST\下。

循着Google的指引过来的,曾无数次 ...

这年头,各种稀奇古怪的解决方案都出现了。。。。。。。

出0入0汤圆

发表于 2013-10-8 18:07:21 | 显示全部楼层
添加MDK下的cortexm3_macro.s就ok了

出0入0汤圆

发表于 2013-11-13 10:44:38 | 显示全部楼层
9楼正解  填进去就O了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 17:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表