LPC2136错误

[复制链接]
 楼主| raoxianbin 发表于 2015-1-18 20:58 | 显示全部楼层 |阅读模式
帮忙看下这个错,谢谢   IAR 编译报错:Error[Li005]: no definition for "?main" [referenced from D:\me\Debug\Obj\cstartup.o]
有遇到过的吗,提示下,谢谢
戈卫东 发表于 2015-1-18 21:33 | 显示全部楼层
没有“main”。。。。。。。
戈卫东 发表于 2015-1-18 21:34 | 显示全部楼层
原来的start.s之类的文件可能是不必要的,从工程中去掉。。。。
 楼主| raoxianbin 发表于 2015-1-19 09:39 | 显示全部楼层
戈卫东 发表于 2015-1-18 21:34
原来的start.s之类的文件可能是不必要的,从工程中去掉。。。。

没有添加这些文件啊  
 楼主| raoxianbin 发表于 2015-1-19 09:40 | 显示全部楼层
我就添加了cstartup.s这个启动文件
戈卫东 发表于 2015-1-19 09:43 | 显示全部楼层
raoxianbin 发表于 2015-1-19 09:40
我就添加了cstartup.s这个启动文件

用IAR的话这个启动文件应该是不必要的
 楼主| raoxianbin 发表于 2015-1-19 09:45 | 显示全部楼层
是吗,我再试下,先等我一下,谢谢
 楼主| raoxianbin 发表于 2015-1-19 09:45 | 显示全部楼层
戈卫东 发表于 2015-1-19 09:43
用IAR的话这个启动文件应该是不必要的

还是会报错,我看网上说这个是不能省的啊
戈卫东 发表于 2015-1-19 09:53 | 显示全部楼层
报什么错?
 楼主| raoxianbin 发表于 2015-1-19 09:53 | 显示全部楼层
戈卫东 发表于 2015-1-19 09:53
报什么错?

Error[Li005]: no definition for "__iar_program_start" [program entry]
戈卫东 发表于 2015-1-19 09:53 | 显示全部楼层
那个时代是不能省,现在已经不同了。
 楼主| raoxianbin 发表于 2015-1-19 09:57 | 显示全部楼层
戈卫东 发表于 2015-1-19 09:53
报什么错?

这个符号确实是在那个启动文件中有定义。。。
 楼主| raoxianbin 发表于 2015-1-19 09:57 | 显示全部楼层
戈卫东 发表于 2015-1-19 09:53
那个时代是不能省,现在已经不同了。


什么意思呢,以前都是用KEIL调过,好几年不用了,对IAR调试ARM还是第一次,请指点下,谢谢
戈卫东 发表于 2015-1-19 10:00 | 显示全部楼层
几年前KEIL IAR并不提供MCU启动代码,现在提供了,那些汇编语言启动文件已经不必要了。
 楼主| raoxianbin 发表于 2015-1-19 10:02 | 显示全部楼层
戈卫东 发表于 2015-1-19 10:00
几年前KEIL IAR并不提供MCU启动代码,现在提供了,那些汇编语言启动文件已经不必要了。 ...

那它现在的启动代码在哪呢,哪个文件是?还是说系统内部自带?
 楼主| raoxianbin 发表于 2015-1-19 10:02 | 显示全部楼层
封装好了,用户不可见?
戈卫东 发表于 2015-1-19 10:05 | 显示全部楼层
但是需要注意,好像KEIL那个时候还提供时钟/PLL/IO配置之类的在它的启动代码里面,如果不用它的START.S你要自己搞定这些。
或者仍然用那个START.S,不过要改一改跳向main()的符号名,IAR应该不是“?main”这样的名字,可能是“__main”,或者“cmain”之类的。。。。。
 楼主| raoxianbin 发表于 2015-1-19 10:09 | 显示全部楼层
戈卫东 发表于 2015-1-19 10:05
但是需要注意,好像KEIL那个时候还提供时钟/PLL/IO配置之类的在它的启动代码里面,如果不用它的START.S你要 ...

        把这个两个EXTERN  ?main         ldr     r0,=?main   名字改掉?
戈卫东 发表于 2015-1-19 10:17 | 显示全部楼层
raoxianbin 发表于 2015-1-19 10:09
把这个两个EXTERN  ?main         ldr     r0,=?main   名字改掉?

可以,但你需要先确定IAR提供的代码会使用什么样的符号名。。。。。
 楼主| raoxianbin 发表于 2015-1-19 10:18 | 显示全部楼层
戈卫东 发表于 2015-1-19 10:17
可以,但你需要先确定IAR提供的代码会使用什么样的符号名。。。。。

如何确定呢,由于比较急,问的有点小白了,请见谅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

244

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

36

主题

244

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部