工具/软件:TI C/C++编译器
我在不同版本的编译器之间使用十六进制文件生成工具时遇到了一些问题。 文档中没有任何内容表明这些版本之间存在变化。
在翻译过程中、可执行文件的基址会丢失。
我正在使用调用该工具
/ti/ccsv7/tools/compiler/ti-cgt-arm_18.1.1.LTS/bin/armhex.exe -map=st-app.map -a st-app.out -o st-app.hex -order MS -romwidth 32
如果我使用18.1.0.LTS 进行编译、则 hexfile 的前几行如下所示:
A0000美元、
00 40 2D E9 D1 6D 00 EB B7 70 00 EB 00 80 BD E8 00 72 87 00 80 00
(有另一行包含非标准字符以启动文件。 A0000地址*不*正确。
但是、如果我在相同的.bin 文件上运行 armhex.exe 的16.9.6版本(相同的选项)、我会得到:
A84000000美元、
00 40 2D E9 D1 6D 00 EB B7 70 00 EB 00 80 BD E8 00 72 87 00 80 00
这是正确的(或至少显然不是错误的)。
有什么想法吗?
John