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.

[参考译文] CCSTUDIO-THEIA:CCS 20.4.1.4 “Disassembly“视图二进制输出对于 48 位以上数据包不正确

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1664666/ccstudio-theia-ccs-20-4-1-4-disassembly-view-binary-output-is-incorrect-for-48-bit-packets

部件号: CCSTUDIO-THEIA
Thread 中讨论的其他器件: F29H85X-F29H85X-EVM-EVM SOM

在 CCS 20.4.1.4___1.10.1 版本中 SOM、调试 F29H85X-CCM-EVM 时、“Disassembly View“中 48 位或更大指令包的二进制文件会显示第二个半字两次、而不是显示第三个半字。 例如:

0x10002172 0fa8 2f47 2f47      CALL    @#0x10108000
0x10002178 0a44 0004 0004      MV      A4,#0x30180004

在“Memory View“中、这会正确显示为`2F470FA8 0A440008 30180004`、该视图针对小端字节序进行了校正后、将显示为:

0fa8 2f47 0008
0a44 0004 3018

这是正确的(因为 48 位指令的操作数是小端字节序、而`call`指令是作为有符号偏移量计算的)、但是不会显示反汇编代码。

 

这始终适用于数据包的第三个半字、即使它不是指令中的第三个半字也是如此、例如:

0x1000227C 8f66 a911 a911 7325 0048 0120
                                     BCMP    @#0x1000230c,A.LT,A9,A0
                                  || SUBR.U16        A1,A1,#0x4
                                  || MV      A2,A5