Thread 中讨论的其他器件:C2000WARE
工具与软件:
使用128位对齐长度的含义是什么?
如何在 ROMS 指令中实现?


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.
工具与软件:
使用128位对齐长度的含义是什么?
如何在 ROMS 指令中实现?


你(们)好
请参阅第12.4节-"ROMS 指令"以及本文档的相关章节: https://www.ti.com/lit/ug/spru513w/spru513w.pdf
CMAC 密钥需要存储在闪存位置、并且需要128位对齐。
-Kedar
请看一下: https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html
"将库中的输入段分配到不同的加载和运行地址"部分详细介绍了"align"关键字如何工作。
-Kedar
我之前试过、μ 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.
****构建完成****
示例项目中有两个命令、 boot_ex1_cpu1_cpu2_cm_secure_flash_cpu1

"align"关键字通常用于 CMD 文件的"SECTIONS"部分。
我以前也尝试过这种方法、它显然导致了构建错误

构建目标:"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.
****构建完成****