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.
工具/软件:Code Composer Studio
你好。 TI 人
我构建了我的项目、总是会出现警告。 如何消除它?
'调用:ARM 十六进制实用程序'
"C:/ti/ccs720/ccsv7/tools/compiler/ti-cgt-arm_5.2.5/bin/armhex --英特尔-o "64T_PWR_Discrete HSFB_20180412.hex" 64T_PWR_Discrete HSFB_20180412.out"
转换为英特尔格式...
"64t_PWR_Discrete _HSFB_20180412.out".vectors =>.vectors
"64t_PWR_Discrete HSFB_20180412.out".text =>.text
"64t_PWR_Discrete HSFB_20180412.out".const =>.const
"64t_PWR_Discrete _HSFB_20180412.OUT".zero_out_integrity_word =>.zero_out_integrity_word
"64t_PWR_Discrete HSFB_20180412.out".config =>.config
警告:第64T_PWR_Discrete、HSFB_20180412.out (.const)部分在中填充了2
大小为808、以满足指定的存储器宽度4
'完成的建筑:64t_PWR_Discrete HSFB_20180412.hex'
这是我的 Linkfile
.FIQ :{}>0x001C/* 快速中断处理程序 */
.text :{}>(pflash align(16)) /*代码 */
.const :{}>(pflash align(16))/* 常量数据 */
.cinit :{}>(pflash align(16)) /*初始化表 */
FixedDeviceID :{}>(DEVICEID) /*设备 ID 的固定位置 */
FixedTfaStep :{}>FIXTFA /*固定位置 TFA 步骤大小 */
FixedConstants:{}>FIXCONST /*固定位置常量 */
flashi :{}> FLASHSUM /* pflash Integrity Word */
BR
Dana
虽然它取决于.hex 文件接下来会发生什么、但您可能会忽略该警告。 在 ARM 可执行文件上、默认情况下、存储器宽度为32位或4字节。 const 段的长度必须为806字节。 因此、在.const 的十六进制输出的末尾添加一个额外的两个0字节。
如果这确实与您有关、则您可以安排在链接期间添加填充。 对于链接命令文件中的.const 行、将 align 更改为 palign。 palign 指令执行与 align 相同的对齐、但它还会将段填充到该字节数。 这最终会浪费几个字节、这可能是也可能不是问题。
关于您的十六进制命令,我想指出您可能忽略的内容... --Intel 选项的默认 ROM 宽度为8位或1字节。 这意味着您不会获得单个输出文件、而是4个输出文件。 第一个名为 64T_PWR_Discrete HSFB_20180412.hex。 但其余的名称分别为 64T_PWR_Discrete HSFB_20180412.i1、 64T_PWR_Discrete HSFB_20180412.i2和 64T_PWR_Discrete HSFB_20180412.i3。 我很确定您不希望这样做。 为了避免这种情况、通过添加选项--romwidth=32、使 ROM 宽度与存储器宽度匹配。
谢谢、此致、
乔治
[引用用户="Dana Huang"]是否有任何影响,某些字节会填充未知值?
否 请在 ARM 汇编工具手册中标题为与 Padding 对齐的部分中阅读有关该文档的更多信息。
谢谢、此致、
乔治