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.

F28035加密后不能解密,仿真器连接不上



1、对F28035烧录了一次加密程序后,就不能再次烧录了,这算是加密成功了吧?烧录了以下程序代码,写在main函数里的:

volatile int *CSMSCR =(volatile int *) 0x00AEF;     //CSMSCR register
volatile int *PWL = (volatile int *)0x003F7FF8;      //Password location

EALLOW; 
*PWL++ = 0x1111;
*PWL++ = 0x2222;
*PWL++ = 0x3333;
*PWL++ = 0x4444;
*PWL++ = 0x5555;
*PWL++ = 0x6666;
*PWL++ = 0x7777;
*PWL++ = 0x8888;
*CSMSCR = 0x8000;
EDIS;

2、想对芯片解锁,但连接不上烧录器,不能烧录解锁程序,提示:

  • 您好,加密有两种方式

    一种是通过修改DSP2833x_CSMPasswords.asm文件编译后烧录,一种是连接仿真器,通过on-chip flash填充密码区后点execute;烧录后再次烧录需要输入正确的密码。

    解锁的话,您通过拉低xrsn引脚,连上仿真器后释放,通过on-chip flash输入正确的密码,编译后擦除flash。

  • 你的意思是加密和解锁都不用写代码实现的吗?

    我修改了位于SXD28035_common\source里面的DSP2803x_CSMPasswords.asm文件里的PWL密码,烧录后为什么没有加密?

  • 上面说的仅第一种方法是改代码实现的,也就是通过csmpassword.asm修改pwl0-pwl7,如下代码:

     .sect "csmpasswds"

          .int    0xFFFF        ;PWL0 (LSW of 128-bit password)
          .int    0xFFFF        ;PWL1
          .int    0xFFFF        ;PWL2
          .int    0xFFFF        ;PWL3
          .int    0xFFFF        ;PWL4
          .int    0xFFFF        ;PWL5
          .int    0xFFFF        ;PWL6
          .int    0xFFFF        ;PWL7 (MSW of 128-bit password)

    填充一下编译即是加密了。

    解锁就按照上面说的那种方式。