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.

[参考译文] TMS320F2800137:0x80000

Guru**** 2587365 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1401478/tms320f2800137-0x80000

器件型号:TMS320F2800137

工具与软件:

你好、专家

我构建两个不同的 CCS 工程、在 hex 文件中、我发现0x80000的值是不同的?

为什么?

原因是什么?

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

    尊敬的 Youjun:

    此问题可能与以下主题有关:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/905286/tms320f28388d-hex-file-difference-same-project-generated-from-different-pc-with-different-project-name

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

    尊敬的 Youjun:

    工程之间的编译器优化是否相同?

    此致!

    Ryan Ma

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

    你(们)好

    是的、编译器优化在不同项目之间是相同的。  

    什么信息存储在0x80000的此地址?

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

    尊敬的 Youjun:

    如果您使用闪存配置构建项目、codestart 通常 位于0x80000。 这可以从.map 中看到

    以及链接器命令文件

    此致!

    Ryan Ma

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

    你好  

    是的、我知道  codestart 将是0x80000

    什么信息或者设置存储在0x80000,0x80001这个地址,因为不同的 CCS 项目有不同的值( CCS 设置和 cmd 是相同的),我想了解真正的请求。

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

    尊敬的 Youjun:

    我需要就此向编译器团队进行验证、以了解该位置为什么有不同的值。

    此致!

    Ryan Ma

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

    你好

    好的、我正在等待您的响应。

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

    尊敬的 Youjun:

    Ryan 今天不在办公室、请预计周一前回复。

    谢谢!

    Luke

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

    尊敬的 Youjun:

    抱歉、两个不同 CCS 工程之间的内容是否相同? 唯一的区别是它们是两个名称不同的项目吗?

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

    你(们)好

    两个不同 CCS 项目之间的内容 是不同的、但是 项目和 cmd 文件的属性 是相同的。

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

    尊敬的 Youjun:

    您使用的是哪个版本的 CCS? 您使用的十六进制实用程序的输出格式是什么? 是 Motorola S hex (-m=3)吗? 我已联系另一位同事、解释您看到的信息可能在两个项目中有所不同的原因。

    此致!

    Ryan Ma

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

    尊敬的 Youjun:

    您能否执行以下步骤来交叉检查两个不同项目之间0x80000处的内容

    1.为这两个项目在.out 文件上运行以下命令  

    • ccs1270\ccs\tools\compiler\ti-cgt-C2000_22.6.1.sts\bin\dis2000.exe your_out_file.out > some_file.txt
    • 这将提供反汇编功能

    2.您会注意到、这两个项目将具有不同的地址、LB 用于此地址。

    在上面的屏幕截图中、位于0x80000处的 LB 指令有一个不同的地址、它将从该地址加载。 如果两个项目的功能相同、那么这里有什么问题? 此处存储的信息是要加载的地址、首先将跳转到指令以禁用看门狗、然后转到 c_int00、然后跳转到主代码。 对于任一工程、它们都应跳转以执行相同的功能、但地址可能会因每个相应工程中的内容而更改。

    此致!

    Ryan Ma

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

    你(们)好

    好的、我的 CCS 版本是12.4。  Motorola S hex (-m=3)。

    从你的 屏幕截图和我的屏幕 截图,我看到0x80000的值是相同的。

    什么信息存储在0x80001的此地址?该值是不同的。

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

    请运行 dis2000实用程序以查看该地址的内容。

    此致!

    Ryan Ma

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

    你(们)好

     什么是 dis2000实用程序?

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

    尊敬的 Youjun:

    Dis2000是一个实用程序、允许您查看反汇编以查看您想要了解的地址处的内容。

    此致!

    Ryan Ma

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

    你(们)好

    在哪里可以找到此实用程序 ?

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

    尊敬的 Youjun:

    您可以在 C:\ti\ccs1270\ccs\tools\compiler\ti-cgt-C2000_22.6.1.sts\bin 文件夹下找到该实用程序。

    此致!

    Ryan Ma

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

    你(们)好

    我运行 dis2000实用程序以查看地址中的内容。但我仍然不知道在0x80001的此地址存储了哪些信息?该值与您的值不同。

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

    尊敬的 Youjun:

    这是存储在0x80000和0x80001处的完整操作码。

    0000_0000_001C_CCCC

    CCCCC_CCCCCC_CCCC_CCCC

    上部操作码存储在0x80000:0000_0000_0010_1000 = 0x0048。 C 是常数。

    操作码的下部存储在0x80001:0xEB6F 处

    这是这些地址存储的内容。 希望这对您有所帮助。

    此致!

    Ryan Ma

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

    你(们)好

    计算此完整操作码?的基础是什么、例如、0x80000: 0x0048不是0x38?0x80001:0xEB6F 不是0x80001 :0x1234