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 Version: 11.1.0.00011
在CCS中配置HEX文件生成Motorola S M3格式,程序段数据可正常生成,数据段数据会自动生成一个扩展名为.m10,文件格式类似HEX的文件。查看改文件中地址信息为程序中Page1的 .econst段和自定义的const常量数据存储段。
1.是否有哪里我设置的不对,是否有什么方法可以生成一份合并的Hex文件,还是必须通过第三方工具来进行Hex文件的merge.
2.CCS 中C2000 Hex Utility文件生成的字节对齐和填充是否可以配置,应该如何操作。
搜索了一下中英文论坛,找了一些关于这些问题的帖子,你可以参考一下:
2、关于hex文件的生成,一般在CCS中右键工程名,properties - build - C2000 Hex Utility中可以设置,这个wiki中6.1.3.1.2. Build Properties也有说明。但是我记得生成的应该是intel格式的hex文件,不知道你生成的Motorola S M3格式是怎么设置的?
另外,关于生成了两个hex文件,可以试试这里的小程序:e2echina.ti.com/.../hex2000-hex
3、关于hex文件的merge:https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/199617/hex-mergehex
4、关于字节对齐,编译器的说明中有介绍,比如3.15.2章节中有数据对齐,7.17中有域/结构体对齐
感谢您的的答复。
1.这个帖子我之前已经看到了,我也知道原因是在Page1中有初始化的const数据,所以hex将程序段和数据段生成了两份hex文件。我想问的是这是必须的吗,还是可以通过在CCS中做哪些配置生成一份合并程序段和数据段的hex文件。
2.hex文件我已经正确生成了,文件生成的正确性也没有问题。properties - build - C2000 Hex Utility-Output format options中可以设置输出文件类型,如intel,motorola,ASCII
3.Merge有很多工具可以完成的,无论是APP和Boot的hex Merge,还是程序段和数据段的Merge。回到第一个问题,这个CCS中是否可以通过配置完成程序段和数据段合并的Hex文件,还是必须通过编译后处理,调用工具来完成。
4.对齐我理解的,我也可以设置的。这里想问的是生成的Hex文件的对齐,如128字节对齐,填充0xFF,重新计算CRC等,第三方工具都可以完成。问题同上,CCS中是否可以自动完成,还是必须编译后第三方工具来完成。
你好,
关于生成两个hex文件的问题,可以通过更改链接器命令文件来实现,具体的可以看一下这个帖子:https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/550845/why-lost-data-in-flash-during-converter-out-to-hex-use-lab5b/2014744#2014744
关于对齐和填充的问题对方提到可以对齐并填充cmd文件中的输出部分来实现,不过他没有具体解释,我还在追问。
另外,关于对齐,工程师确实提到可以删除MEMORY分区中的“PAGE 1”
将“PAGE=1”的所有其他实例更改为“PAGE=0”
可以看一下TI Linker Command File Primer,了解链接器命令文件的一般背景。
我看了一下我的邮箱,没有收到邮件,不知道你是发送到哪个邮箱地址了?
另外,编辑框下面的“插入”种可以选择插入图像/视频/文件,有些格式的文件直接拖进编辑框里也可以。