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.

[参考译文] TMS320F28379D:生成 hex2000 8位十六进制文件

Guru**** 2562120 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1243346/tms320f28379d-hex2000-8bit-hex-file-generation

器件型号:TMS320F28379D

你好  

我们需要一个8位十六进制文件进行刷写。 我已使用 hex2000工具生成了一个8位十六进制文件、并具有 memwidth 8选项。
我现在看到的是、在8位 hex 文件中、会交换字节。 我可以使用 hex2000中的选项来更改它吗?

这是8Bit 文件:

 这是一个16位文件:

您好

约兴

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

    我怀疑这个选择 --交换字节 有所帮助。  但我不确定。   

    我不确定8位或16位文件的含义。  请展示 Hex2000 用于创建每个文件的命令。  请复制并粘贴每个命令的文本、不要使用屏幕截图。

    谢谢。此致、

    -乔治

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

    你好

    这是生成具有8Bit 寻址功能的十六进制文件的命令。

    -------------------------------------------------------------------------------------------------------------------

    /*用于通过 SAC 获取具有8位寻址的十六进制文件的特殊设置*/
    ——英特尔
    -图像
    --交换字节
    -- memwidth 8


    ROM
    {
    /*将闪存段的链接器寻址乘以2 (16位至8位寻址)*/
    /*使用--binary 选项时,所有地址都转换为二进制(字节寻址)*/
    FLASHIMAGE:org=0x0110000、len=0x30000、romwidth=16、fill=0xFFFF
    文件={.\mainSAC.hex}

    -------------------------------------------------------------------------------------------------------------------

    此命令用于生成具有16位寻址的十六进制文件。

    -------------------------------------------------------------------------------------------------------------------

    ——英特尔
    -图像

    ROM
    {
    FLASHIMAGE:org=0x088000、len=0x18000、romwidth=16、fill=0xFFFF、
    文件={.\main.hex}

    -------------------------------------------------------------------------------------------------------------------

    您好

    约兴

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

    我仍然不确定你打算做什么。  因此,我不想提出任何解决办法。  我可以发表一些我认为会有帮助的评论。

    在 C28x 上、每个地址对应于1个16位字。  不是1个8位字节、几乎所有其他 CPU 都是这种情况。

    请在 C28x 汇编工具手册 中搜索标题为" 了解存储器宽度"的子章节。  这解释了目标宽度、宽度和高度之间的关系、 -- memwidth --从宽度 。  在本例中、目标宽度始终为16、  --从宽度 始终为16 (设置于 FLASHIMAGE 线路输入 ROM 指令)、和 -- memwidth 在8和16之间变化。  有趣的情况是、 --从宽度 小于 -- memwidth 。  不会在这些条件下发生。   

    当单独查看时,此注释是正确的...

    /*在使用--binary 选项时,所有地址都转换为二进制(字节寻址)*/

    但这在背景上仍然是错误的。  因为 ——英特尔 未使用、 -二进制 。  因此、您不应将器件的地址和长度加倍、 ROM 指令。

    选项 --交换字节 没有任何变化 -- memwidth=8 --romwidth=16 。  尝试时间 -- memwidth=16 --romwidth=16

    谢谢。此致、

    -乔治