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.

TMS320F280023C: F28002X 如何使用DCSM加密?使用Flash模式,如何在280023_FLASH_lnk.cmd 添加相关的CMD文件?

Part Number: TMS320F280023C

Dear All:

尝试使用F28002X 的DCSM对程序加密,TI FAE的那个使用DCSM相关的使用也看了,F2800X的 dcsm_security_tool列程也看过了,

都没说清楚,如何在如何在28002X_FLASH_lnk.cmd 添加相关DSCM的CMD文件?

根据F2800X的 dcsm_security_tool的列程,在工程中添加了dcsm.asm程序:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
;----------------------------------------------------------------------
; Zone 1
;----------------------------------------------------------------------
.sect "dcsm_otp_z1_linkpointer"
.retain
.long 0x1FFFFFFF ;Z1-LINKPOINTER1
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFFF ;B0_Z1OTP_LINKPOINTER2
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFFF ;B0_Z1OTP_LINKPOINTER3
.long 0xFFFFFFFF ;Reserved
.sect "dcsm_otp_z1_pswdlock"
.retain
.long 0xFB7FFFFF ;Z1-PSWDLOCK
.long 0x7FFFFFFF ;Reserved
.sect "dcsm_otp_z1_crclock"
.retain
.long 0x4BFFFFFF ;Z1-CRCLOCK
.long 0x3FFFFFFF ;Reserved
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

F2800X的 dcsm_security_tool的列程中有相关的dcsm.cmd文件,如下图:

但是例程的28002X_generic_flash_lnk.cmd文件中没有如何相关DCSM的内容,说明DCSM的存储应该是dcsm.cmd文件的,

现在是如何把dcsm.cmd的内容移植到我的项目工程文件中?

方式1,直接把dcsm.cmd的内容复制到28002X_FLASH_lnk.cmd文件中,程序编译不通过!

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MEMORY
{
PAGE 0 : /* Program Memory */
/* Z1 OTP. LinkPointers */
DCSM_OTP_Z1_LINKPOINTER : origin = 0x78000, length = 0x00000C
/* Z1 OTP. GPREG1/GPREG2 */
DCSM_OTP_Z1_GPREG : origin = 0x7800C, length = 0x000004
/* Z1 OTP. PSWDLOCK/RESERVED */
DCSM_OTP_Z1_PSWDLOCK : origin = 0x78010, length = 0x000004
/* Z1 OTP. CRCLOCK/RESERVED */
DCSM_OTP_Z1_CRCLOCK : origin = 0x78014, length = 0x000004
/* Z1 OTP. RESERVED/BOOTCTRL */
DCSM_OTP_Z1_BOOTCTRL : origin = 0x7801C, length = 0x000004
/* DCSM Z1 Zone Select Contents (!!Movable!!) */
/* Z1 OTP. Z1 password locations / Flash and RAM partitioning */
DCSM_ZSEL_Z1_P0 : origin = 0x78020, length = 0x000010
/* Z2 OTP. LinkPointers */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

方式2:直接添加dcsm.cmd文件到工程文件中,也是无法编译通过!

或者移植的dcsm.cmd的内容是否有错误?只要其中一部份?

如何具体操作?把DCSM加密功能实现?

这个问题已经困恼好几天,还是无法解决?

  • 您好我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

  • 老外的回复我看了,他说的就的意思好像就是把dcsm.asm 和cmd文件添加到我的工程文件即可,但是我原来就是这么操作的,添加DCSM cmd文件后就无法编译通过,我把我的工程文件做了一个测试例程,我把工程上传上来,让那个老外来帮忙改下,我看了关于DCSM的问题很多都是他来回答的?

    @Cherry Zhou 你再帮忙翻译一下

    非常感谢!

  • 好的,反馈给工程师了,您请耐心等待下答复。

  • 您好,看起来您同一个 cmd 文件用了两次,所以有该错误,您试下删除其中一个 DCSM.cmd 文件看看。工程师正在查看您的工程,有新的进展会给到您。

  • Dear Cherry Zhou :

          帮忙问下@Vivek Singh  目前测试的怎么样了?

    核心问题就是dcsm.cmd文件如何和28002X_FLASH_lnk.cmd文件嵌入在一起,使程序能使用DCSM加密

    非常感谢!

  • 好的跟进给工程师了哈,您这边有没有试过删除其中一个 DCSM.cmd 文件看看?

  • Dear Cherry Zhou :

        英文论坛回复了Vivek Singh出差去了,另外一个工程师回复说是不要让再上传测试工程文件。

    还有如果我把dcsm.cmd删除了,那加密功能就失效了,没有把加密的内容存入相应的区域里。

  • 嗯嗯好的,我们会继续跟进您的问题,之后有新的进展会尽快跟进给您。您还请耐心等待下,给您带来的不便敬请谅解。

  • Dear,

    Vivek说的删除cmd 文件是删除cmd文件中相同部分的冗余定义。 现在已经使用了 DCSM.cmd,那您需要通过删除已经在 DCSM .cmd 中定义的相应部分来修改现有的 f28002x_headers_nonbios.cmd。 工程师已修改了 f28002x_headers_nonbios.cmd,请查看以下文件(工程师测试过,现在可以编译)。 您请替换掉项目中的文件,应该就可以清除出现的编译故障。

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/171/f28002x_5F00_headers_5F00_nonbios.zip

    希望对您有所帮助。

  • Dear All:

      非常感谢 @Cherry Zhou  @   你们两个提供的帮助,通过你们给的CMD,我修改后,已经可以编译通过了,查看了MAP文件,也有相关的dcsm加密相关的存储内容了,接着马上我会继续测试DCSM加密相关的内容,后续如有问题,请再帮忙指导!

    Thanks          

x 出现错误。请重试或与管理员联系。