首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

飞思卡尔HCS12系列 Flash的加密解密解决方法

2013-01-25 
飞思卡尔HCS12系列 Flash的加密解密我要做一个功能,对Flash进行加锁,解锁。我用的单片机是MC9S12G128.加锁

飞思卡尔HCS12系列 Flash的加密解密
我要做一个功能,对Flash进行加锁,解锁。我用的单片机是MC9S12G128.
加锁部分的代码已经实现了,如下:

const unsigned char flash_array[] @0xFF00 =    //设置密钥(四个字:0XAAAA,0XAAAA,0XAAAA,0XAAAA)
{
 0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA
}; 

const char Set_key @0xFF0F = 0X80;              //加锁

但是解锁部分,按照资料设置的,却不能解锁。解锁部分代码如下:
//    FSTAT_CCIF = 1;         //launch command
//    while(FSTAT_CCIF == 0); //wait for done
//  }
static unsigned char Send_Command[]=
{
  0x1C, 0x01, 0x06, 0x80, 0x1F, 0x01, 0x06, 0x80, 0xFB, 0x3D
};

while(FSTAT_CCIF == 0);            // wait if command in progress
  FSTAT = 0x30;                      // clear ACCERR and PVIOL    
  

  FCCOBIX = 0x00;                    // Verify Backdoor Access Key
  FCCOB = 0x0C00;
  
  FCCOBIX = 0x01;                    // Backdoor key was defined in the variable
  FCCOB = 0xAAAA;                    // "flash_array" above as
  FCCOBIX = 0x02;                    // 0xAAAA,0xAAAA,0xAAAA,0xAAAA
  FCCOB = 0xAAAA;
  FCCOBIX = 0x03;
  FCCOB = 0xAAAA;
  FCCOBIX = 0x04;
  FCCOB = 0xAAAA;
  
  asm JSR Send_Command;

求大侠指教,解锁部分问题在哪?有没有参考代码?
调试环境是codewarrior
[解决办法]
按照你这解锁代码,是可以解锁的。可能跟你的codewarrior版本有关系,我在5.0版本,XS128可以解锁
[解决办法]
应该可解。。。

热点排行