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.

[参考译文] CCS/TMS320F2.8075万:CCS生成的十六进制文件中左对齐的地址?

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/578678/ccs-tms320f28075-left-justified-addresses-in-hex-files-generated-by-ccs

部件号:TMS320F2.8075万

工具/软件:Code Composer Studio

我正在尝试使用十六进制文件(由CCSv6生成)在运行时对闪存进行重新编程。  我的问题是在2.8075万中,闪存只能被左对齐写入64位边界;即地址必须以0或8结尾。  CCS生成的十六进制文件并不总是以左对齐格式提供数据(请参阅下面我的十六进制文件的摘录)。  是否有任何方法可以让CCS生成始终以64位边界开始的十六进制文件?  如果没有,TI是否为2.8075万提供了建议的解决方法,必须对其闪存进行左对齐编程?

谢谢!

Justin

:204E0.0008万CE29A00FE860006FE021E42761F02380E0C1EAC56650042A9420642EC09064280  [Addr86.0006万 [Addr:4.2761万:4E00]0.238万4E00](5665.0042万(在此942.0642万在此,906.428万,地址以左对齐的'0'结尾)
:204E1000EC0A0201564100420642EDFC6F0428A901F46F029A00FE82FF690006FE028F08B6   [201.5641万 [地址42.0642万地址:0428:4E10]69.0006万4E10]
:204E20.002亿C41E428F08210006C41E428F08220006C41E428F08230006C41E4202017C   [08210006 [地址822.0006万地址:823.0006万:4E20]420.2017万4E20]
:204E3.00076408亿DC4FE820006FE041E428748290156440042FF451E44764086A00644FE8450   [82.0006万 [地址42.8748万地址:29.0156万:4E30]44.0042万4E30]</s>44764086 006448450
:204E40万06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FE041E44E8.</s>6万 0万0万0万0万0万0万0万0万0万0万0万0万0万0万0万     [地址:4E40]
:204E5000A842064207448AA9924876408CB4FE840006761F02388A04D02A4894EF039A017A   [84.2064万 [地址20.7448万地址:9924876408:4E50]8.40006761亿4E50]</s>0.2388万 4894
:124E6.0006万F029A020006761F02388A04D02A0694000636</s>0.20006761亿 0.2388万0694000636                                     [地址:4E60]
:204E6C00B2BD59A99B019A015CA17.6489万D14761F02B692A1743A8BBE00069A019B017648A0  [1.4761万 [地址1743地址:0.0069万:4E6C]1.7648万4E6C]  (从此处开始,地址以'C'结尾,这意味着它不会左对齐为64位边界)
:204E7C009D209A3A7.6484万E6C9A312B3A76484E6C9A3076484E6C923F76484E6C761F02B78C  [7.6484万 [地址307.6484万地址:7.6484万:4E7C]
:204E8C0.92万FFC376489C9976484E6C761F02B7CC00000F76489C9976484E6C0006761F18   [37.6489万 [地址997.6484万地址:0万:4E8C]7.6489万4E8C]</s>997.6484万 0.6761万
:204E9C0002B6B2BDCC3A00FF59A9FFC376489C9976484E6C92A1900F76489C9976484E6C5E  [37.6489万 [地址997.6484万地址:1900:4E9C]7.6489万4E9C]</s>997.6484万
:204EAC009A0D7.6484万E6C9A0A76484E6CD0228F00C24656BF01942B0656BF010356BFC8044D  [7.6484万 [地址0228地址:2.4656万:4EAC]0.1942万4EAC]</s>0656 1.0356万8044
:204EBC008BBE0006B2BD761F02A3592E761F02B656BF5A3F761F02B556BF092B761F02B779   [3592 [地址:4EBC]

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Justin Gullotta 说:
     是否有任何方法可以让CCS生成始终以64位边界开始的十六进制文件? [/QUOT]我看不到十六进制实用程序的命令行选项,无法确保十六进制文件从64位边界开始。

    解决方法可以在链接程序命令文件中使用palign运算符来指定放置在闪存中的部分需要8字节对齐和填充。 如果链接器已对齐并将闪存中的部分填充为8字节,则表示十六进制实用程序的输出应与64位边界对齐。

    有关  面板运算符的详细信息,请参阅"与填充对齐"一节。