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.

[参考译文] 编译器/MSP430F167:编译器工具 dis430.exe 输出文本格式

Guru**** 2538950 points
Other Parts Discussed in Thread: MSP430F167

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/703983/compiler-msp430f167-compiler-tool-dis430-exe-output-text-format

器件型号:MSP430F167

工具/软件:TI C/C++编译器

作为 MSP430F167代码开发过程的一部分、dis430.exe 将 CCS 中的.out 文件反汇编了。

然后、检查"设计为独立代码段"是否有独立代码定义的地址范围之外的任何呼叫/跳转。

早期版本的 MSP430反汇编器(dis430.exe)在反汇编过程中生成了十六进制地址、但后续版本使用它们的符号名称替换了十六进制地址。

例如、早期的反汇编器会生成此格式

 009840:B012            调用   #0xbe48

但后面的格式会生成该格式

009852:B012            调用   #SET_HW_rev

dis430.exe -h 显示有一个选项

 --nodr,-a                 不在指令中打印带有标签名称的地址

我将其读取为将输出恢复为旧格式、但无法使其生成旧格式。

是否有办法让较新版本的 dis430.exe 生成旧的十六进制格式而不插入符号?

谢谢、

John Wright

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

    感谢您报告此问题。  我可以复制它。  我同意使用--nodr 应显示十六进制地址而不是符号名称。  因此、我在 SDOWP 系统中提交了 CodeGen-4955、以对其进行调查。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。

    作为一种权变措施、我建议您对由新工具创建的可执行文件使用旧的反汇编器。  这不是我们测试的组合。  但是、只要版本之间的距离不是太远、就很可能起作用。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有具有 dis430.exe 不同版本的存档站点?

    在发布之前、我尝试了两个不同的二进制 dis430.exe、我在 CCSV7中找到了两个编译器、但它们都能正常工作(错误)。

    我想使用不具有缺陷的最新版本、但看不到在不同版本的编译器中提取不同版本的情况下获取不同 dis430.exe 版本的方法。

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

    请忽略我的变通办法建议。  据我所知,--nodr 选项从未起作用。   

    请考虑另一种解决方法。  从可执行文件中去除符号、然后运行反汇编器。

    % strip430 -p final_executable.out
    % dis430 final_executable.out 

    strip430实用程序将文件修改到位。  因此、将 final_executable.out 复制到临时文件、然后处理临时文件可能是有意义的。

    谢谢、此致、

    乔治

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

    我将看到它是否起作用。

    请注意、早期版本的 dis430.exe 在反汇编过程中确实使用十六进制而不是符号地址生成输出。

    未使用--nodr 选项,并且在某些早期的 dis430.exe 版本中可能不可用

    我以这种方式调用 CCE2.0反汇编器:

    dis430.exe -c -n file.out > file.txt

    我将尝试删除建议的符号、因为最好使用最新版本的 dis430.exe 工具。

    谢谢、

    John Wright

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

    [引用 user="John Wright15643"]我将尝试删除建议的符号[/引用]

    请告诉我这是否解决了问题。

    谢谢、此致、

    乔治

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

    符号去除之后跟随 dis430.exe 生成了我需要的输出。

    谢谢、

    John Wright