实验条件如下:
1、AM335X_StarterWare_02_00_01_01打了BeagleBone Black的补丁。
2、IAR工程编译过程出现报警(Error[Lp049]: there was no reference to __iar_data_init3, but it is needed to initialize section .bss ….),修改了.icf文件 ,把 do not initialize { section .noinit }; 改成了 do not initialize { section .bss };(参考文章e2echina.ti.com/…/97888 ),消除编译报警。
问题如下:
1、在BeagleBone Black上跑StarterWare的GPIO测试程序,在CSS和IAR上通过JTAG调试都没问题。
2、SD卡启动,CSS编译出来的MLO和app拷入SD卡,SD卡启动,程序正常跑;IAR编译出来的MLO(boot_ti.bin)和app(gpioLEDBlink_ti.bin)拷入SD卡,无法启动,IAR编译出来的MLO和app文件都查过,加了TI的头信息。
2、SD卡启动,CSS编译出来的MLO和app拷入SD卡,SD卡启动,程序正常跑;IAR编译出来的MLO(boot_ti.bin)和app(gpioLEDBlink_ti.bin)拷入SD卡,无法启动,IAR编译出来的MLO和app文件都查过,加了TI的头信息。
哪位遇到这样的情况,麻烦给解答一下?不知是否与上述修改.icf文件消除编译报警有关?
谢谢!!!!
Shine:
建议用仿真器跟一下boot过程看代码有没有正确加载?
user5363590:
回复 Shine:
跟了,BootLoader在线加载运行,单步运行在ImageCopy都正常,就是跳转到app运行后直接跳出,跟app有关,CSS编译出来的app就正常,IAR编译出来的就不行。