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了...
  • 相关阅读:
    MongoDB ObjectId
    MongoDB固定集合
    MongoDB 正则表达式
    MongoDB Map Reduce
    MongoDB操作
    VIM跳到指定行
    linux之echo命令
    rpm and yum commands
    CentOS 7 下的软件安装建议
    apt系统中sources.list文件的解析
  • 原文地址:https://www.cnblogs.com/hnrainll/p/1880232.html
Copyright © 2011-2022 走看看