历史上的今天
返回首页

历史上的今天

今天是:2024年12月12日(星期四)

正在发生

2018年12月12日 | ARM7 LPC2378 远程升级----ISP与IAP

2018-12-12 来源:eefocus

       最近本人在学习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下载程序。


ISP的使用:


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


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


                                   ISP电路设计时加上上拉电阻


Flash Magic烧写程序:

  


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


  2、选择需要擦除的Flash


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


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


  5、点击Start,开始下载


推荐阅读

史海拾趣

Arima Lasers Corp公司的发展小趣事

随着产品线的丰富和技术的成熟,Arima Lasers Corp开始积极寻求市场拓展的机会。公司首先与一些知名的电子设备制造商建立了合作关系,为其提供定制的激光解决方案。这些合作不仅帮助公司扩大了市场份额,也提升了品牌知名度。随后,Arima Lasers Corp进一步拓展了国际市场,与海外企业开展技术交流和贸易往来,推动了公司的全球化发展。

BESTECH公司的发展小趣事

随着产品线的丰富和技术的成熟,Arima Lasers Corp开始积极寻求市场拓展的机会。公司首先与一些知名的电子设备制造商建立了合作关系,为其提供定制的激光解决方案。这些合作不仅帮助公司扩大了市场份额,也提升了品牌知名度。随后,Arima Lasers Corp进一步拓展了国际市场,与海外企业开展技术交流和贸易往来,推动了公司的全球化发展。

HI Microwave Technology Limited公司的发展小趣事

随着技术的不断积累和市场需求的日益增长,HI Microwave不断加大研发投入,成功开发出了一系列高性能的微波组件产品,包括隔离器、循环器、开关、滤波器、功率分配器/合成器、定向耦合器、天线、混频器、压控振荡器(VCOs)和射频放大器等。这些产品广泛应用于无线电信和光纤通信行业,满足了客户多样化的需求。同时,公司还积极与国内外知名企业和科研机构合作,共同推动微波通信技术的发展。

DECON公司的发展小趣事

DECON公司成立于电子行业的蓬勃发展时期,初创期便专注于研发和生产高质量的电子连接器产品。通过对市场的深入调研和技术创新,公司成功定位自己在高端连接器市场的位置,并凭借其出色的产品质量和稳定的性能,逐步在市场中树立了良好的口碑。

GWP Group公司的发展小趣事

在电子行业中,技术更新换代迅速,DECON公司深知技术创新的重要性。因此,公司不断投入研发资金,引进高端技术人才,加强自主创新,推出了多款具有领先技术的连接器产品。这些产品不仅满足了市场需求,还提高了公司的市场竞争力。同时,公司还积极与国内外知名企业合作,共同研发新产品,推动了电子连接器行业的发展。

DAYLIGHT公司的发展小趣事

随着公司规模的扩大和市场份额的增加,DAYLIGHT开始将目光投向国际市场。公司通过与国际知名电子企业的合作,成功将其产品打入国际市场,并在多个国家和地区建立了销售渠道。同时,DAYLIGHT还积极参与国际电子展和技术交流会议,不断提升其在国际市场上的知名度和影响力。

问答坊 | AI 解惑

新世纪汽车主动与被动安全技术应用2

被动安全系统方面     被动安全系统是指在交通事故发生后尽量减小损伤的安全系统,包括对乘客和行人的保护。     福特公司通过不断创新,推出先进的乘客约束系统和安全气囊技术,在乘员保护方面 ...…

查看全部问答>

智能型充电器的电源和显示的设计

智能型充电器的电源和显示的设计--AVR单片机做的好东西…

查看全部问答>

怎么一进中断I/O的状态就改变了,我在中断里面读取I/O的状态,怎么跟示波器显示的不一样?

怎么一进中断I/O的状态就改变了,我在中断里面读取I/O的状态,怎么跟示波器显示的不一样?…

查看全部问答>

[转载] 簡易開核 輕鬆暢玩 ASUS M4A89GTD PRO/USB3 (存開箱)

AMD 現今最夯的口號 我想還是  核心動力全開 小弟也藉由這次開核風氣 入手了M4A89GTD PRO/USB3 入手也一陣子了 就來發個開箱吧 本次的主角出現了 X2 555 與M4A89GTD PRO/USB3 這次華碩用的主機板的彩盒還滿亮眼的 在一張,把閃 ...…

查看全部问答>

WinCE系统的驱动问题

各位大哥大姐:     小弟求教!     WinCE操作系统镜像生成以后,希望可以将其下载到Flash中,在以后系统复位或者重新上电以后,WinCE操作系统可以自动运行。可是,当我把镜像文件下载到Flash中后,却启动不起来,请问: &n ...…

查看全部问答>

不知不觉已经wince驱动快一周年,写点学习经验,顺便散分,嘿嘿

   刚洗完澡,头发未干,精神抖擞。想起自己快毕业一年了,特别来劲,情不自禁的在键盘上敲打起来。    我清楚的记得,我是2008.07.01被“轰出”校门的,然后申请了延迟离校,才可以在学校住宿,但是手里有几千块钱,于是就跑 ...…

查看全部问答>

用什么cpld来替代xc9572?

9572要停产,现在产品要用新的cpld来替代9572 哪位高手能说一下用什么来替代比较合适…

查看全部问答>

STM32没有MPU

                                 如题,是不是没有MPU(Memory protect unit)?…

查看全部问答>

09.29【每周讨论】12岁的编程天才,英雄出少年

12岁的编程天才 田众和,1999年生,今年12岁,任时代网络软件工作室CEO兼CTO(技术总监)。小学4年级自学编程,创作第一个比较成熟的编程作品Othink系统,获得第一笔创业资金300元,招聘并领导11人团队,集资2000余元创建工作室,4个月盈利三万余 ...…

查看全部问答>

Ubuntu 手机即将问世

本帖最后由 jameswangsynnex 于 2015-3-3 19:56 编辑 Canonical公司在职位的描述文字中写道“寻找业务拓展的精英来发展与行业伙伴的深度合作关系,来促进Ubuntu作为智能手机系统最终登陆手机”,以及“目标是创立一种围绕Ubuntu智能手机系统的良好 ...…

查看全部问答>