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.

[参考译文] TMS320F28386D:HEX 指令

Guru**** 2455560 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1379486/tms320f28386d-hex-directive

器件型号:TMS320F28386D
Thread 中讨论的其他器件:C2000WARE

工具与软件:

使用128位对齐长度的含义是什么?

如何在 ROMS 指令中实现?

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

    你(们)好

    请参阅第12.4节-"ROMS 指令"以及本文档的相关章节: https://www.ti.com/lit/ug/spru513w/spru513w.pdf 

    CMAC 密钥需要存储在闪存位置、并且需要128位对齐。

    -Kedar

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

    我已经阅读了该文档、但没有找到如何实现文档中的128位对齐。

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

    我需要有关如何使128位对齐的帮助。 它是否需要在上述 cmd 文件中写入特殊符号?TI 是否拥有制作方法 exmaple?

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

    请看一下: https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html 

    "将库中的输入段分配到不同的加载和运行地址"部分详细介绍了"align"关键字如何工作。

    -Kedar

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

    抱歉、我检查了器件、但仍未获得指导如何实现 128位对齐的所需信息

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

    您需要使用"align (8)"。 这将按8个字的大小对齐数据。

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

    我之前试过、μ s、但结果是生成错误。

    "c:/ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000 diag"-v28 -ml -mt -cla_support=cla2 --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 /ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/lib -- vcu_support=vcrc -Ooff --define=_flash --define=debug --define=CPU1 --secure_flash=10063 /ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include --/device/device.obj /device/f2838x_codestartbranch.obj /ti/c2000/C2000Ware_5_02_00_00/libraries/boot_rom/f2838x/revA/rom_symbol_libs/cpu1/secureZoneCode/F2838xCPU1_SecureZoneCode_Symbols_/ti/c2000/C2000Ware_5_02_00_00/driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib

    完成构建目标:"boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.out"

    构建辅助目标:"boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.hex"
    调用:C2000十六进制实用程序
    "c:/ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/hex2000 --cmac="C:cmac="c:/WorkspaceCyberSecurity/boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1/boot_ex1_user_cmac_key.txt cmc"--image --memwidth=16 --romwidth=16 "C:/WorkspaceCyberSecurity/boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1 boot_ex1_flash_hex_lnk_cpu1.cmd"--zero --diag_wrap=off --boot --sci8 --ascii -o "boot_ex1_cpu1_secure_cpu1_c_flash_exu1_cpu1_c_flash_ex1cm_cpu1.c"
    FLASH_SECTOR0_13:O=0x00080000 l=0x00040000、填充= 0xFFFF、对齐
    ^μ A
    Makefile:154:目标"boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.hex"的配方失败
    错误:语法错误
    gmake[1]:***[boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.hex]错误1.
    gmake[1]:由于错误、不会重制目标"辅助输出"。
    Makefile:143:目标"全部"的配方失败
    gmake:***[All]错误2.

    ****构建完成****

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

    命令是否放置在 CMD 文件中? 您能否共享您的命令文件?

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

    示例项目中有两个命令、 boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1

    e2e.ti.com/.../0363.CMD.zip

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

    "align"关键字通常用于 CMD 文件的"SECTIONS"部分。

    /* CPU1闪存扇区*/

    /*十六进制实用程序需要十六进制指令来生成黄金 CMAC 标签*/
    /*带有一个表示分配的所有闪存存储器的条目*/
    ROM
      FLASH_SECTOR0_13:O=0x00080000 l=0x00040000、Fill = 0xFFFF /*如果未指定填充、则默认值为全0 */
    }

    部分中)
      FLASH_SECTOR_0_13:> FLASH_SECTOR0_13、ALIGN (8)
    }
     
    而在 C 文件中、使用 pragma 将数据放置在段中:
    #pragma CODE_SECTION (MyConst"flash_sector_0_13 ");
    const unsigned long MyConst = 0x0000000;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我以前也尝试过这种方法、它显然导致了构建错误

    构建目标:"boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.out"
    调用:C2000链接器
    "c:/ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000 diag"-v28 -ml -mt -cla_support=cla2 --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 /ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/lib -- vcu_support=vcrc -Ooff --define=_flash --define=debug --define=CPU1 --secure_flash=10063 /ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include --/device/device.obj /device/f2838x_codestartbranch.obj /ti/c2000/C2000Ware_5_02_00_00/libraries/boot_rom/f2838x/revA/rom_symbol_libs/cpu1/secureZoneCode/F2838xCPU1_SecureZoneCode_Symbols_/ti/c2000/C2000Ware_5_02_00_00/driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib

    完成构建目标:"boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.out"

    构建辅助目标:"boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.hex"
    调用:C2000十六进制实用程序
    "c:/ti/ccs1271/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/hex2000 --cmac="C:cmac="c:/WorkspaceCyberSecurity/boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1/boot_ex1_user_cmac_key.txt cmc"--image --memwidth=16 --romwidth=16 "C:/WorkspaceCyberSecurity/boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1 boot_ex1_flash_hex_lnk_cpu1.cmd"--zero --diag_wrap=off --boot --sci8 --ascii -o "boot_ex1_cpu1_secure_cpu1_c_flash_exu1_cpu1_c_flash_ex1cm_cpu1.c"
    FLASH_SECTOR0_13:> FLASH_SECTOR0_13、ALIGN (8.
    ^μ A
    Makefile:154:目标"boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.hex"的配方失败
    错误:非法输入字符:0x3e
    错误:语法错误
    gmake[1]:***[boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1.hex]错误1.
    gmake[1]:由于错误、不会重制目标"辅助输出"。
    Makefile:143:目标"全部"的配方失败
    gmake:***[All]错误2.

    ****构建完成****

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

    您可以告诉我有任何更新吗? 因为我们是在紧急情况下。

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

    是否有任何更新?

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

    我正在关注这个主题、如果有任何更新、您能告诉我吗?

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

    该主题 在两周内没有 TI 专家关注。 有人能帮忙吗?