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.

DCSM加密flash后用仿真器仿真可以跑,断开仿真器或者复位dsp就不能跑



如标题:DCSM加密flash后用仿真器仿真可以跑,断开仿真器或者复位dsp就不能跑

声明:程序是开发好了的,不存在代码全部在RAM中跑的情况

第一步:

代码不对flash进行加密,用仿真器烧写成功后程序运行正常,用仿真器进行复位再次全速运行代码,程序也正常;拔掉仿真器并且重新上电程序也正常在跑。从这些步骤可以断定代码可以跑并且已经烧写到了flash中

第二步:

代码对flash进行加密,烧写代码进行仿真调试,代码正常,观察flash内容,确认代码已经烧写进flash中,并且代码可以跑

第三步:

用仿真器进行复位,观察flash内容为全0,说明flash已经加密成功,代码开始执行boot28.asm里面的启动代码,执行第一条代码MOV SP,#__statck程序就直接跑飞

第四步:

拔掉仿真器,重新上电,代码仍然不运行,应该是和第三步情况一样

希望TI的人员回答专业一点

  • 未受保护的区段是不能访问受保护区段的数据的,修改了一下CMD文件
    e2echina.ti.com/.../7526
  • 可以通过修改CMD设置文件
  • 代码是在flash sector0——3中跑,加密的flash是sector4,这样也会访问到吗?

  • 彻底没思路了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 手动@TI 员工。这样怎么会存在非保护区访问保护区的问题。28004x这个功能不会是个坑吧?
  •  .sect "b0_dcsm_otp_z2_linkpointer"
        .long 0x1FFFFFFF     ;B0_Z2OTP_LINKPOINTER1
        .long 0xFFFFFFFF     ;Reserved
        .long 0x1FFFFFFF     ;B0_Z2OTP_LINKPOINTER2
        .long 0xFFFFFFFF     ;Reserved
        .long 0x1FFFFFFF     ;B0_Z2OTP_LINKPOINTER3
        .long 0xFFFFFFFF     ;Reserved

          .sect "b0_dcsm_otp_z2_gpreg"
        .long 0xFFFFFFFF     ;Z2OTP_BOOTPIN_CONFIG
        .long 0xFFFFFFFF     ;Z2OTP_GPREG2

          .sect "b0_dcsm_otp_z2_pswdlock"
        .long 0xFFFFFFFF     ;Z2OTP_PSWDLOCK
        .long 0xFFFFFFFF     ;Reserved

          .sect "b0_dcsm_otp_z2_crclock"
        .long 0xFFFFFFFF     ;Z2OTP_CRCLOCK
        .long 0xFFFFFFFF     ;Reserved

          .sect "b0_dcsm_otp_z2_bootctrl"
        .long 0xFFFFFFFF     ;Z2OTP_GPREG3
        .long 0xFFFFFFFF     ;Z2OTP_BOOTCTRL

          .sect "b0_dcsm_zsel_z2"
        .long 0xFFFFFFFF     ;B0_Z2OTP_EXEONLYRAM
        .long 0xFFFFFFFF     ;B0_Z2OTP_EXEONLYSECT
        .long 0xFFFFFFFF     ;B0_Z2OTP_GRABRAM
        .long 0xFFFFFFFF     ;B0_Z2OTP_GRABSECT

        .long 0xFFFFFFFF     ;B0_Z2OTP_CSMPSWD0 (LSW of 128-bit password)
        .long 0xE3FFFFFE     ;B0_Z2OTP_CSMPSWD1   ;; 修改密码0xE3FFFFFF->0xE3FFFFFE    
        .long 0xFFFFFFFF     ;B0_Z2OTP_CSMPSWD2
        .long 0xFFFFFFFF     ;B0_Z2OTP_CSMPSWD3 (MSW of 128-bit password)

          .sect "b1_dcsm_otp_z2_linkpointer"
        .long 0x1FFFFFFF     ;B1_Z2OTP_LINKPOINTER1
        .long 0xFFFFFFFF     ;Reserved
        .long 0x1FFFFFFF     ;B1_Z2OTP_LINKPOINTER2
        .long 0xFFFFFFFF     ;Reserved
        .long 0x1FFFFFFF     ;B1_Z2OTP_LINKPOINTER3
        .long 0xFFFFFFFF     ;Reserved

          .sect "b1_dcsm_zsel_z2"
        .long 0xFFFFFFFF     ;Reserved
        .long 0xFFFFFFFF     ;B1_Z2OTP_EXEONLYSECT
        .long 0xFFFFFFFF     ;Reserved
        .long 0x57FFFFFF     ;B1_Z2OTP_GRABSECT

        .long 0xFFFFFFFF     ;Reserved
        .long 0xFFFFFFFF     ;Reserved
        .long 0xFFFFFFFF     ;Reserved
        .long 0xFFFFFFFF     ;Reserved

  • 日常签到,还未解决