AnsweredAssumed Answered

Hi,I am Using Freescale MC9S08DZ60 in my project,I want to allow backdoor key access  memory.The example Code is as follows :

Question asked by 少峰 孙 on May 18, 2016
Latest reply on May 23, 2016 by Edward Karpicz

const volatile unsigned char NVPROT_INIT @0X0000FFBD=0XC0;

const volatile unsigned char NVPT_INIT   @0X0000FFBF=0XFC;

const byte NVBACK_KEY0 @0x0000FFB0 = 0xC0;

const byte NVBACK_KEY1 @0x0000FFB1 = 0xC1;

const byte NVBACK_KEY2 @0x0000FFB2 = 0xC2;

const byte NVBACK_KEY3 @0x0000FFB3 = 0xC3;

const byte NVBACK_KEY4 @0x0000FFB4 = 0xC4;

const byte NVBACK_KEY5 @0x0000FFB5 = 0xC5;

const byte NVBACK_KEY6 @0x0000FFB6 = 0xC6;

const byte NVBACK_KEY7 @0x0000FFB7 = 0xC7;

 

#define Program_Byte  PGM[21]=0X20;temp=((unsigned char(*)(unsigned int,unsigned char))(PGM))

volatile unsigned char PGM[59]=

{

0X87,0XC6,0X18,0X25,0XA5,0X10,0X27,0X08,0XC6,0X18,0X25,0XAA,0X10,0XC7,0X18,

0X25,0X9E,0XE6,0X01,0XF7,0XA6,0X20,0XC7,0X18,0X26,0X45,0X18,0X25,0XF6,0XAA,

0X80,0XF7,0X9D,0X9D,0X9D,0X9D,0X45,0X18,0X25,0XF6,0XF7,0XF6,0XA5,0X30,0X27,

0X04,0XA6,0XFF,0X20,0X07,0XC6,0X18,0X25,0XA5,0X40,0X27,0XF9,0X8A,0X81

};

 

Decryption process:

 

DisableInterrupts

FCNFG_KEYACC=1;

temp=Program_Byte(0XFFB0,0XC0);

temp=Program_Byte(0XFFB1,0XC1);

__RESET_WATCHDOG();

temp=Program_Byte(0XFFB2,0XC2);

temp=Program_Byte(0XFFB3,0XC3);

__RESET_WATCHDOG();

temp=Program_Byte(0XFFB4,0XC4);

temp=Program_Byte(0XFFB5,0XC5);

__RESET_WATCHDOG();

temp=Program_Byte(0XFFB6,0XC6);

temp=Program_Byte(0XFFB6,0XC6);

__RESET_WATCHDOG();

FCNFG_KEYACC=0;

EnableInterrupts

I find that is not useful to unsecure the chip.According to the database sheet,I have no idea to unsecure,Looking forward to your help,thank you!

Outcomes