TI中文支持网
TI专业的中文技术问题搜集分享网站

F28075 的 DCSM 的PSWDLOCK 位无法写入值

你好, TI 的工程师们

Mcu: F28075

软件:CCS:8.3.0

F28075 的 DCSM 的PSWDLOCK 位无法写入值, 具体情况如下:

1.CMD 文件:

MEMORY
{
PAGE 0 : /* Program Memory */

/* Z1 OTP. LinkPointers */
DCSM_OTP_Z1_LINKPOINTER : origin = 0x78000, length = 0x00000C
/* 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 = 0x78050, length = 0x000010

/* Z2 OTP. LinkPointers */
DCSM_OTP_Z2_LINKPOINTER : origin = 0x78200, length = 0x00000C
/* Z2 OTP. GPREG1/GPREG2 */
DCSM_OTP_Z2_GPREG : origin = 0x7820C, length = 0x000004
/* Z2 OTP. PSWDLOCK/RESERVED */
DCSM_OTP_Z2_PSWDLOCK : origin = 0x78210, length = 0x000004
/* Z2 OTP. CRCLOCK/RESERVED */
DCSM_OTP_Z2_CRCLOCK : origin = 0x78214, length = 0x000004
/* Z2 OTP. GPREG3/BOOTCTRL */
DCSM_OTP_Z2_BOOTCTRL : origin = 0x7821C, length = 0x000004

/* DCSM Z1 Zone Select Contents (!!Movable!!) */
/* Z2 OTP. Z2 password locations / Flash and RAM partitioning */
DCSM_ZSEL_Z2_P0 : origin = 0x78220, length = 0x000010

}

SECTIONS
{
dcsm_otp_z1_linkpointer : > DCSM_OTP_Z1_LINKPOINTER PAGE = 0/*, type = DSECT*/
dcsm_otp_z1_pswdlock : > DCSM_OTP_Z1_PSWDLOCK PAGE = 0/*, type = DSECT*/
dcsm_otp_z1_crclock : > DCSM_OTP_Z1_CRCLOCK PAGE = 0/*, type = DSECT*/
dcsm_otp_z1_bootctrl : > DCSM_OTP_Z1_BOOTCTRL PAGE = 0/*, type = DSECT*/
dcsm_zsel_z1 : > DCSM_ZSEL_Z1_P0 PAGE = 0/*, type = DSECT*/

dcsm_otp_z2_linkpointer : > DCSM_OTP_Z2_LINKPOINTER PAGE = 0, type = DSECT
dcsm_otp_z2_pswdlock : > DCSM_OTP_Z2_PSWDLOCK PAGE = 0, type = DSECT
dcsm_otp_z2_crclock : > DCSM_OTP_Z2_CRCLOCK PAGE = 0, type = DSECT
dcsm_otp_z2_bootctrl : > DCSM_OTP_Z2_BOOTCTRL PAGE = 0, type = DSECT
dcsm_zsel_z2 : > DCSM_ZSEL_Z2_P0 PAGE = 0, type = DSECT
}

2.DCSM 文件

.sect "dcsm_otp_z1_linkpointer"
.long 0x1FFFFFF8 ;Z1-LINKPOINTER1
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFF8 ;Z1-LINKPOINTER2
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFF8 ;Z1-LINKPOINTER3
.long 0xFFFFFFFF ;Reserved

.sect "dcsm_otp_z1_pswdlock"
.long 0xFFFFFFFE ;Z1-PSWDLOCK
.long 0xFFFFFFFF ;Reserved

.sect "dcsm_otp_z1_crclock"
.long 0xFFFFFFFF ;Z1-CRCLOCK
.long 0xFFFFFFFF ;Reserved

.sect "dcsm_otp_z1_bootctrl"
.long 0xFFFFFFFF ;Reserved
.long 0xFFFFFFFF ;Z1-BOOTCTRL

.sect "dcsm_zsel_z1"

.long 0xFFFFFFFF ;Z1-EXEONLYRAM
.long 0xFFFFFFFF ;Z1-EXEONLYSECT
.long 0xDFFF5555 ;Z1-GRABRAM
.long 0xF5555555 ;Z1-GRABSECT

.long 0xFFFFA5A5 ;Z1-CSMPSWD0 (LSW of 128-bit password)
.long 0xFFFF5A5A ;Z1-CSMPSWD1
.long 0xFFFFA5A5 ;Z1-CSMPSWD2
.long 0xFFFF5A5A ;Z1-CSMPSWD3 (MSW of 128-bit password)

3, 编译成OUT文件,写入提示故障

C28xx_CPU1: Error during Flash programming (Flash algorithm returned error code). FMSTAT value = 0. Operation Cancelled (0).
C28xx_CPU1: File Loader: Memory write failed: Unknown error
C28xx_CPU1: GEL: File: D:\v210\F2807x_examples_Cpu1\timed_led_blink\cpu01\ccs\CPU1_RAM\timed_led_blink_cpu01.out: Load failed.

4.DCSM OTP 内容(0x78000)

1FFFFFF8 FFFFFFFF 1FFFFFF8 FFFFFFFF 1FFFFFF8 FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFF1 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF

 参照《C2000DCSM模块使用说明.pdf》尝试很多次,都无法写入PSWDLOCK值,

问题:

新的芯片,是不是写了LINKPOINTER和CSMPSWD,然后再写PSWDLOCK值,就无法写入?

Green Deng:

Address locations for other security settings (PSWDLOCK/CRCLOCK) that are not part of
Zone Select blocks) can be programmed only once; therefore, the user should program them
towards end of the development cycle.
你的程序是不是之前有对PSWDLOCK写入过了?
另外可以参考这个FAE分享:e2echina.ti.com/…/dcsm

hy huang:

回复 Green Deng:

OTP的数据在上面,你能看的见啊

hy huang:

回复 Green Deng:

你分享的内容(e2echina.ti.com/…/dcsm),我已经研究过很多遍了,就是无法写入PSWDLOCK,我的问题是“新的芯片,是不是写了LINKPOINTER和CSMPSWD,然后再写PSWDLOCK值,就无法写入?”

hy huang:

回复 Green Deng:

你分享的内容,我已经看过好多遍了,文件里有好几个地址是错误,TI做为一个大公司,不应该出现这个问题。还有我的问题是“新的芯片,是不是写了LINKPOINTER和CSMPSWD,然后再写PSWDLOCK值,就无法写入?”

Green Deng:

回复 hy huang:

我没发现这几个寄存器有写入方面的限制。我会找其他工程师确认之后再给你答复。

赞(0)
未经允许不得转载:TI中文支持网 » F28075 的 DCSM 的PSWDLOCK 位无法写入值
分享到: 更多 (0)