当前位置:首页 > 单片机 > 单片机
[导读] 最近本人在学习ARM7的远程升级,在这里将自己的学习过程与大家分享,有错误的地方还请大家指出便于改正! ISP(In-System Programming)即“在系统可编程”,指电路板上的空白器件可以编程写入最

最近本人在学习ARM7远程升级,在这里将自己的学习过程与大家分享,有错误的地方还请大家指出便于改正!

ISP(In-System Programming)即“在系统可编程”,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。

IAP(In-Application Programming) 即MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP和IAP技术是未来仪器仪表的发展方向。

ISP和IAP的工作原理

ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。

IAP的实现相对要复杂一些,在实现IAP功能时, 单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为APP(应用程序)区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作且程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能,如果条件不满足则再次执行BOOT区的程序,保证可以进行再次的IAP。

通常在程序设计时有两种思路,见下图

思路1:将MCU分为3个区:BootLoader区、APP1(应用程序1)区、APP2(应用程序2)区,系统上电后程序从BootLoader区开始执行,根据条件选择跳到APP1(应用程序1)区中,当需要使用远程升级时,通过IAP,对APP2(应用程序2)区进行编程,改变相关标志位,然后使系统复位,系统再次从BootLoader区开始执行,通过判断标志位,选择跳到APP1(应用程序1)区或者APP2(应用程序2)区。当再次升级时,再对APP2(应用程序2)区进行编程,保证APP1(应用程序1)区不改变,这样即使升级失败,也能正常运行APP1(应用程序1)区程序,可以再次远程升级。

思路2:思路2是对思路1的简化,即将MCU分为2个区:BootLoader区与APP1(应用程序1)区合为一体、APP2(应用程序2)区,系统上电后程序从BootLoader区开始执行,由于两者合为一体了,所以也就运行了APP1程序,当需要使用远程升级时,通过IAP,对APP2(应用程序2)区进行编程,改变相关标志位,然后使系统复位,系统再次从BootLoader区开始执行,通过判断标志位,选择跳到APP2(应用程序2)区。当再次升级时,再对APP2(应用程序2)区进行编程,保证BootLoader区不改变,这样即使升级失败,也能正常运行APP1(应用程序1)区程序,可以再次远程升级。

思路1与思路2的总体思想是一样的,他们远程升级的核心都是IAP,而这里的IAP就是远程升级时所要用到的非常重要的知识点。这个IAP我打算放到下一篇重点介绍,这里的两种思路后续还会介绍,今天先和大家讲讲ISP的使用,由于J-Link的普及(既可调试程序也可直接下载程序),所以实际产品开发过程中ISP用的比较少,所以这里就简单介绍一下利用ISP下载程序。

%20ISP的使用:

%20讲ARM7%20LPC2378的ISP,这里不得不提NXP公司的工具Flash%20Magic。下载地址:http://www.flashmagictool.com/%20点击打开链接%20%20%20%20%20%20%20%20%20%20%20%20仔细看一下LPC2378的数据手册,会发现LPC2378一个引脚的名称为ISP(P2.10),P2.10%20复位后的低电平被当作启动%20ISP%20命令处理器的外部硬件请求。


注意:在将管脚%20P2.10%20作为%20ISP%20硬件请求时需要特别注意:由于%20P2.10%20在复位后处于高阻模式,所以要使该管脚的状态稳定,%20用户需要提供外部硬件(上拉电阻或其它器件)。否则一不小心可能就进入了%20ISP%20模式。
%20%20%20%20%20%20%20%20%20
ISP电路设计时加上上拉电阻
Flash Magic烧写程序:


1、选择芯片类型、COM口、波特率、晶振频率为实际硬件电路的晶振频率

2、选择需要擦除的Flash

3、点击Browse,选择要下载的Hex文件

4、选择编译完成后进行校验

5、点击Start,开始下载


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

  5月16日消息,美图秀秀发布了全球首款搭载800W像素前置摄像头的美颜自拍手机Meitu Kiss,从美图秀秀官方微博来看,首批手机为贝壳白、樱花粉两款颜色,外观设计较为适合年轻女性。基于美

关键字: isp kiss odm 美图秀秀 meitu

1、FH8510ISP处理芯片简介 FH8510是一款针对CIS(CMOSImageSensor)的图像信号处理芯片,它内置强大图像处理引擎,CMOS图像传感器接口,TV编码器,D/A转

关键字: isp 图像处理

华为为菲律宾最大的互联网服务供应商(ISP)Converge ICT Solutions公司提供了其敏捷广域网解决方案(Agile WAN SoluTIon),以支持后者推出菲律宾首张端到端光纤

关键字: isp 互联网 华为 广域网

本站原创,本站编辑根据ARM和华为最新产品资讯整理而成。 2019年注定是不平静的一年,科技届刚刚迎来CES2019的多家产品发布,但是没有在CES展上亮相的还有许多有分量的产品发布,

关键字: ARM CPU isp 华为

2019年11月27日,中关村集成电路设计园产业服务平台(IC-PARK ISP)正式启动,这标志着北京首个专注于芯片产业的服务平台成功上线,也代表着中关村集成电路设计园构建的“一平台三节点”产业生态体系正式落地。

关键字: isp 芯片 ic-park

在不同医疗机构间,建起医疗信息整合平台,将医院之间的业务流程进行整合,医疗信息和资源可以共享和交换,跨医疗机构也可以进行在线预约和双向转诊,这使得“小病在社区,大病进医院,康复回社区”的居民就诊就医模式成为现实,从而大...

关键字: isp 医疗信息 智慧医疗

ISP程序下载器硬件连接图 ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。利用...

关键字: isp at89s系列 单片机下载器

写在前面:三个周之前,我突然想写一个远程升级的程序。那个时候我只是大概知道IAP的意思是在应用编程,但怎么编,我还一无所知。我给自己定下一个个阶段目标,从最基础的代码一点点写起,解决一个又一个的问题。三个

关键字: iap keil mdk 远程升级

STC89C51、52内部都自带有2K字节的EEPROM,54、55和58都自带有16K字节的EEPROM,STC单片机是利用IAP技术实现的EEPROM,内部Flash擦写次数可达100,000 次以上,先来介绍下IS...

关键字: eeprom iap stc单片机
关闭
关闭