(原创)LPC2478加密设置(LPC)(加密)

时间:2022-06-10 23:34:56

摘要:

       分别在KEIL和IAR环境下介绍LPC2478加密和解除加密的方法。

介绍:

  本文提到的软件:

  IAR,RVMDK,FlashMagic v5.86.2274

  一、先说说如何进行加密:在LPC2478  FLASH的0x1FC地址处 写 0x87654321即可实现加密;加密后,JTAG被禁用,FLASH不可读。

  1、KEIL下:

  

const unsigned crp __attribute__((section(".ARM.__at_0x1FC"))) = 0x87654321;  //加密操作

  2、IAR下:

  在汇编代码里加入

;加密设置,添加下面这段代码,并在分散加载文件中添加  place at address mem:0x1FC { section .encrypt };
encrypt
SECTION .encrypt:CODE:ROOT

DC32 0x87654321

  在分散加载文件ICF里加入

//加密设置
place at address mem:0x1FC { section .encrypt };

  二、解除加密

  加密后,JTAG变为无效,再无法通过JTAG下载和擦除程序。如果要修改程序,必须要启动内部的bootloader才行。

     将EINT0拉低,再复位重启,则可运行内部bootloader,连接串口0至PC机,打开Flash Magic,点击擦除按钮,擦除整片FLASH,即可清除保护位。

     此时需要重启电源,JTAG才能被打开,复位都不行,必须要电源重启。

     然后就可以通过JTAG下载和调试新的程序了。

结语:

  程序开发完成后,要对其进行保护,避免抄袭,加密那是必须滴。