请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1294NCPDT 工具与软件:
大家好、我已经在引导加载程序中启用了 CRC32检查、之后我 注意到了我的问题。
我已经添加了16字节标头并添加了标记字、计算了 CRC32值 binpack 可执行文件。
我注意到的第一个问题是这个
pui32App = (uint32_t *)APP_START_ADDRESS;
if((pui32App[0] == 0xffffffff) ||
((pui32App[0] & 0xfff00000) != 0x20000000) ||
(pui32App[1] == 0xffffffff) ||
((pui32App[1] & 0xfff00001) != 0x00000001))
{
return(1);
}由于标头位于二进制的顶部,因此该代码将始终返回1 (标记字: 0xFF01FF02和 0xFF03FF04 )。
在我更改此代码后
pui32App = (uint32_t *)APP_START_ADDRESS;
if((pui32App[4] == 0xffffffff) ||
((pui32App[4] & 0xfff00000) != 0x20000000) ||
(pui32App[5] == 0xffffffff) ||
((pui32App[5] & 0xfff00001) != 0x00000001))
{
return(1);
}它已通过 CRC32检查、但我的代码未启动。
我需要做更多的修改吗 ?