您好、再说一次、
最近、我为我的项目使用了以太网引导加载程序、我已根据我的项目的需要对其进行了修改(引导加载程序基于 TivaWare 库中提供的示例)。 经过数天的测试后、发现它的工作效果绝对不错。
尽管现在我需要在引导加载程序中添加 CRC32检查、但我对 binpack 工具有疑问。 构建项目后、我获取输出.bin 文件、并使用 binpack 工具使用以下命令对其进行处理:
binpack -i initial.bin -o initial_crc.bin -a 0x00004000 -d
在输出二进制文件(其中包含 CRC32)上、我可以看到以下十六进制值
0000-0010:01 00 10 00-bc 53 00 00-48 A3 00 20-01 42 00… S. H.... B.
其中前两个字节包含由 binpack 工具添加的标记模式(0x01、0x00)、然后接下来的两个字节包含图像起始地址除以1024 (0x10、0x00)、接下来的4个字节包含二进制大小(0xbc、0x53、0x00、0x00)。 通过在 binpack 工具中使用上述命令添加所有这些字节。
如果我不通过指定闪存地址来处理初始 bin 文件、我将获得以下输出
0000-0010:48 A3 00 20-01 42 00 00-15 42 00 00-17 42 00 h...B. B.
根据 binpack 工具的文档、这两个输出都是合理的。 尽管如此、如果我要在 TM4C1294NCPDT 上加载包含 CRC32的二进制文件、是否会正确加载应用? 我可以看到应用程序入口点已右移并放置在 binpack 工具添加的页眉之后。 但引导加载程序是否能够进入应用程序入口点?
APP_START_ADDRESS 已在引导加载程序中的0x4000处定义、但在使用 binpack 工具进行处理后、我可以看到应用程序从0x4004开始。 我是否需要更改 引导加载程序中的 APP_START_ADDRESS?
提前感谢您的帮助!
