zoukankan      html  css  js  c++  java
  • MDK 如何 加密ARM

    用keil编写的程序是没有加密功能的,而用ADS编写则可以选择加密(RelInflash)
     
    不加密(DebugInflash/DebugInram)。虽然ADS功能很强大,但很多开发者可能更喜
     
    欢用keil来开发的,一是keil支持扩展了的C语言,即keil C,应该说编写程序比在
     
    ADS中用标准C来得灵活、简便;二是51的开发均为keil,便于从51单片机向ARM的
     
    过渡。然而,很多商用的领域上,需要保护自己的知识产权,均要求程序具有加
     
    密功能。能不能在keil中实现加密呢?
     
         一开始走了一条弯路:将keil程序转为标准C然后在ADS中编译实现加密。这种
     
    法虽然理论上行得通,但实际做起来工程量很大,keil中对ARM芯片一般只需要
     
    一个启动加载文件(startup.s),而ADS中有多个,差别蛮大。
     
           后来发现,加密的机理其实很简单:对Philips的Lpc系列ARM芯片,加密就是向
     
    Flash地址单元0x1FC(用户Flash扇区0)写入0x87654321来使能!因此,只要在keil
     
    中程序中在中断向量表后面一直用nop;填充到0x1FC,再在该单元写入
     
    0x87654321。OK了...
  • 相关阅读:
    Leetcode Spiral Matrix
    Leetcode Sqrt(x)
    Leetcode Pow(x,n)
    Leetcode Rotate Image
    Leetcode Multiply Strings
    Leetcode Length of Last Word
    Topcoder SRM 626 DIV2 SumOfPower
    Topcoder SRM 626 DIV2 FixedDiceGameDiv2
    Leetcode Largest Rectangle in Histogram
    Leetcode Set Matrix Zeroes
  • 原文地址:https://www.cnblogs.com/hnrainll/p/1880232.html
Copyright © 2011-2022 走看看