PCB论坛网

 找回密码
 注册
查看: 968|回复: 0

LPC2378芯片解密

[复制链接]
发表于 2013-12-25 14:21:41 | 显示全部楼层 |阅读模式
北京首矽致芯科技有限公司可顺利完成LPC2378芯片解密,周期短、费用低,电话:15313166209  QQ:1002668449

LPC2378是一款基于ARM7TDMI-S的32位处理器.它具有512 KB的片内Flash程序存储器、32 KB的静态RAM(SRAM),以及在系统编程(In-System Programming,ISP)和在应用编程(In-Application Program-ming,IAP)功能.由于程序对内存需求比较大,所以外扩了一片64 KB的SRAM.
通常,程序的下载可通过3种方式实现:
①采用嵌入式实时操作系统.该方法加大了系统对存储容量的要求,增加了硬件和软件成本.
②采用增加外控制烧录系统的方法.该方法同样增加了系统的复杂度和成本,且降低了系统本身的可靠性.
③采用IAP技术.该方法充分利用芯片本身的功能,不增加外围器件,是一种最佳的实现方案.

1、 LPC2378的FIash扇区
IAP命令以\"扇区\"为单位进行操作,操作时需要指定扇区号.LPC2378的扇区分布如表1所列.IAP、ISP和RealMonitor程序都位于Boot区,Boot区位于地址0x000TE000~0x0007FFFF处.IAP命令不允许对Boot扇区执行写/擦除/运行操作.

2、LPC2378的IAP功能
IAP程序是Thumb代码,位于地址0x7ffffff1.IAP功能可用下面的C代码来调用.
定义IAP程序的入口地址:
# define IAP_ENTER_ADR 0x7ffffff1
定义函数类型指针:
Typedef void(* IAP)(uint32[ ],uint32[ ])
IAP iap_entry;
设置函数指针:
Iap_entry=(IAP) IAP_ENTER_ADR;
使用下面的语句来调用IAP:
Iap_entry(command,result);
IAP功能主要通过调用iap_entry()函数来实现.

在进行片内Flash修改时,首先需要读取器件的ID和Boot代码命令版本;确认无误后,选择准备编程的扇区;然后擦除扇区并执行扇区查空,将RAM内容复制到Flash中;最后进行RAM内容与Flash的比较,检查是否复制成功.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-5-2 20:56 , Processed in 0.136908 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表