This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR1642: SBL与APP合并出现问题?APP无法正常被执行

Part Number: AWR1642
Other Parts Discussed in Thread: UNIFLASH

目前产品处于量产前夕,我们想把SBL和APP程序合并为一个新的.bin文件,但是发现合并过后,通过脱机烧录器烧录合并后的固件,程序不能正常运行。目前已做了如下验证

1、SBL和APP程序通过uniflash工具烧录,APP程序是可以正常运行的,一切没有问题。

2、SBL和APP程序合并为一个固件后,通过脱机烧录器烧写,SBL可以正常运行,APP无法被正常加载,显示错误为:Error: Meta header absent!!!

      基于第二点,做了如下验证

      2.1、在src\metaheader_parser.c里面读取metaHeaderStart的值为0xcccccccc。如果正确,应该为0x5254534d

      2.2、把合并后的固件与APP和SBL做对比是完全一样的

      2.3、基于上述第1点(一切正常的情况下),把烧录到程序的SBL和APP打印出来看,均与SBL.bin和APP.bin一样。

      2.4、假设使用脱机烧录器将SBL烧写在0xc0000000(flash基地址)+0x00000000(地址偏移)地址处,APP烧写在0xc0000000(flash基地址)+0x00180000(地址偏移)地址处,程序无法正常运行。但是基于此,我们通过uniflash将任意一个固件烧写在image3这个区域。SBL和APP均可正常运行。

期待专家们的回复、