当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]LPC2100系列ARM7微控制器加密ARM芯片

  1. 加密原理说明

  LPC2100系列ARM7微控制器是世界首款可加密的ARM芯片,对其加密的方法是通过用户程序在指定地址上设置规定的数据。PHILIPS公司规定,对于LPC2100芯片(除LPC2106/2105/2104外),当片内FLASH地址0x000001FC处的数据为0x87654321时,芯片即被加密。在加密设置后,JTAG调试接口无效,ISP功能只提供读ID及全片擦除功能。注意:将带有加密设置的程序下载到芯片内部FLASH,在下一次系统复位后加密生效。

  2. 加密程序实现

  为了实现加密设置,用户必须保证在0x000001FC处定义数据0x87654321。我们先来分析一下带有加密设置的程序结构,如图1所示,地址0x000000~0x00000020为异常向量表,若向量表中使用L DR指令跳转,可以在0x00000020~0x00000040之间定义各个异常服务入口地址;在异常向量表之后,0x000001FC地址之前,这一小块空间可以编写部分初始化代码或FIQ中断处理程序;然后使用NOP指令填充,直到0x000001FC地址,在该地址上定义数据0x87654321即可,用户的其它程序代码紧跟其后。

  异常向量表

  部分初始化代码

  或

  FIQ中断处理

  NOP

  NOP

  …

  DCD 0x87654321

  用户代码

    加密程序的实现部分在LPC2100的起动代码Startup.s文件中,如程序清单1所示。程序首先使用IF伪指令判断是否已定义EN_CRP全局变量,若已声明,则编译程序清单1(2)~(8)的代码,进行加密设置。说明:EN_CRP全局变量可以在汇编器中预定义或在该文件开头用GBLA/GBLL声明。

  程序清单1(2)是用来判断当前代码地址是否已超过0x000001FC,若超过则使用INFO伪指令显示出错信息,见程序清单1(3)。程序清单1(5)~(7)用于填充NOP指令,直到0x000001FC为此。程序清单1(8)即是在0x000001FC地址上定义数据0x87654321,以实现加密设置。

  0x00000000

  0x00000020

  0x000001FC

  程序清单1 LPC2100加密程序实现代码 ;

  异常向量表

  …

  …

  IF

 

EF: EN_CRP (1)
 

  IF . >= 0x1fc (2)

  INFO 1,"nThe data at 0x000001fc must be 0x87654321.nPlease delete some source before this line." (3)

  ENDIF (4)

  CrpData WHILE . < 0x1fc (5)

  NOP (6)

  WEND (7)

  CrpData1 DCD 0x87654321 (8)

  ENDIF (9)

  3. 工程模板中可加密的目标

  使用LPC2100专用工程模板建立的工程,当选用RelInFLASH目标时,将会生成带有加密设置的程序。

  对于Thumb Executable Image for UCOSII(for lpc21xx) 工程模板,当选用ThumbRelInFLASH目标时,将会生成带有加密设置的程序。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

全球半导体短缺让所有微控制器使用者的生活都变得难熬了起来,如今的订货周期有时会长达好几年。不过,售价4美元的树莓派Pico是一个亮点,它是一个以新型RP2040芯片为基础的微控制器。RP2040不仅有强大的计算能力,还没...

关键字: 半导体 微控制器 芯片

近日,东航、南航、海航等多家航空公司宣布恢复并加密多条国际航线。10月17日,东方航空官宣,计划于10月底恢复多条国际航线,包括上海—曼谷—青岛、杭州/青岛/南京/昆明—东京成田、青岛...

关键字: 加密 MDASH

在下述的内容中,小编将会对MCU微控制器的相关消息予以报道,如果MCU微控制器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: MCU 微控制器 智能控制

今天,小编将在这篇文章中为大家带来MCU微控制器的有关报道,通过阅读这篇文章,大家可以对MCU微控制器具备清晰的认识,主要内容如下。

关键字: MCU 微控制器 物联网

MCU微控制器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对MCU微控制器的相关情况以及信息有所认识和了解,详细内容如下。

关键字: MCU 微控制器 芯片

一直以来,MCU微控制器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来MCU微控制器的相关介绍,详细内容请看下文。

关键字: MCU 微控制器 控制器

在这篇文章中,小编将对MCU微控制器的相关内容和情况加以介绍以帮助大家增进对MCU微控制器的了解程度,和小编一起来阅读以下内容吧。

关键字: MCU 微控制器 芯片

新加坡航空公司将于2022年10月11日开通成都往返新加坡(航班号:SQ843/SQ842)的客运航班服务,航班采用空客A350-900远程客机执飞,每逢周二运营。与此同时,新航深圳往返新加坡(航班号:SQ847/SQ8...

关键字: 新加坡 加密

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便...

关键字: 单片机 微控制器 芯片

伦敦, Aug. 31, 2022 (GLOBE NEWSWIRE) -- Meco Limited(Mecobit)于2020年8月在香港科技局举行的精英发布活动上发布了备受期待的终极太阳能发电系统(一套具有惊人备份和...

关键字: LIMIT 加密 太阳能 电力

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭