12113|13

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

新手请教:AN2557中关于STM32IAP的编译 [复制链接]

新手学习中。。。。。
现将AN2557下载下来,直接运行工程an2557\STM32F10x_AN2557_FW_V3.1.0\Project\IAP\RVMDK\IAP.uvproj,编译报错如下:

linking...
.\Obj\STM3210B-EVAL.axf: Error: L6218E: Undefined symbol __set_MSP (referred from common.o).
Target not created

我使用的是MDK4.0,请教什么原因,如何解决?
此帖出自stm32/stm8论坛

最新回复

我也碰到这样的问题. 有解决方法吗?  详情 回复 发表于 2012-4-17 13:29
点赞 关注
 

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 


在可编译的工程中加入如下内容
#define ApplicationAddress    0x8002000
   __set_MSP(*(__IO uint32_t*) ApplicationAddress);
编译时就会就会出现
linking...
.\Obj\STM3210B-EVAL.axf: Error: L6218E: Undefined symbol __set_MSP (referred from main.o).

而__set_MSP()
在core_m3.c中已经定义了:
__ASM void __set_MSP(uint32_t mainStackPointer)
{
  msr msp, r0
  bx lr
}

请问问题出在哪里呢?
此帖出自stm32/stm8论坛
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 是不是没声明void __set_MSP(uint32_t mainStackPointer)?
此帖出自stm32/stm8论坛
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 声明了,AN2557未做任何修改,就是编译通不过,其它的工程都没问题,不知道什么地方的设置不对吗?
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
在common.c 中包含文件core_m3.h,里边有 声明
void __set_MSP(uint32_t mainStackPointer)
此帖出自stm32/stm8论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

6
 
                                 另找了一台机器,安装uVision4,重新载入工程,仍然不行
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
楼主自己在common.c中加入了包含core_cm3.h的语句吗?
common.c中包含了stm32f10x.h, stm32f10x.h中包含了core_cm3.h,所以不用自己改头文件应该没问题。
没病不死人啊,应该是哪有错误,只是楼主还没发现,呵呵。实在不行,可以自己写一个功能与__SET_MSP()这个函数功能相同的函数,名字改一下,然后在程序里把__SET_MSP替换为自己写的函数,程序里好像只有两个地方调用了__SET_MSP,一个在在main.c 里一个在common.c里。
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 直接在你的主函数里直接重新定义一次,再编译试试
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(中级)

9
 
我没有修改文件头,只是将工程直接拿来编译哦
真是奇了怪了,又找了一台机器编译通过
但是在自己这台机器机器上将程序卸载再安装再卸载卸载再安装,现在安装最新的MDK4.10或MDK3.2还是都不行
现在提示改了
Build target 'STM3210B-EVAL'
compiling common.c...
compiling download.c...
compiling main.c...
compiling stm32f10x_it.c...
compiling ymodem.c...
compiling stm32f10x_usart.c...
compiling stm32f10x_flash.c...
compiling stm32f10x_gpio.c...
compiling stm32f10x_rcc.c...
compiling stm32f10x_wwdg.c...
compiling stm32f10x_exti.c...
compiling misc.c...
compiling system_stm32f10x.c...
compiling core_cm3.c...
compiling stm32_eval.c...
assembling startup_stm32f10x_md.s...
linking...
.\Obj\STM3210B-EVAL.axf: error: L6002U: Could not open file .\obj\core_cm3.o: No such file or directory
Target not created

依然通不过
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

10
 
检查OBJ目录内确实只有core_cm3.crf core_cm3.crf.d文件,没有core_cm3.o文件,但其它的都有.o文件
为什么有的机器可以,我这台不行呢?
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 发现只要有汇编的文件都不能生成.o文件,请问是不是版本的问题呀
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

12
 
                                 好像MDK在我机器里做了记号,在别的机器里可以破解,但在我的机器里破解不完全,不能编译内嵌汇编的文件
此帖出自stm32/stm8论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

13
 

求助

楼主可以将你下载的AN2557给我发一下啊,现在下载不下来了!
此帖出自stm32/stm8论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

14
 

我也碰到这样的问题. 有解决方法吗?

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表