写在前面
以往在烧写芯片时,往往需要将芯片主板从系统中取出,离开电路后,才能用编程器烧写程序。也就是说芯片不能脱离系统而进行写入。
这个在众多应用环境中带来了很多的不便及困扰。比如:一些早期的STB机顶盒,还未有操作系统的涉入,但是如果系统程序需要做优化升级,但是产品早已发给客户端,挨家挨户的取做升级,显然是不太可能的事情。
这就引发了人们对于在线编程的探讨。
关键字:在线编程,ISP,IAR,固件更新,程序烧写,远程,TCP/IP,CATV;
很多时候, 我们很难将设备取下来并对其进行更新 :
气象站,交通控制系统,CATV光纤收/发器。
再或我们一些Arduino爱好者, 做的一些远程监控家中空气湿度、温度的小应用等等太多的设备,那么如能都应用远程更新固件就再方便不过了。
在室外,某些放置于高处的气象站的设备,不便于取下来, 而又不想丢失一部分气象数据;用于高压站或是不便操作地点附近的监控系统,或是交通系统中的道路监控;CATV的光纤收/发器,渐渐也走进千家万户,这么多的设备更新起来太麻烦了。
那么今天就为大家介绍我们开发的这款远程固件更新应用,为您解决这些问题!
那么如何能够实现‘不离线’,远程更新固件程序呢?
常见的有两种在线编程技术——ISP和IAP
ISP(在系统可编程),即逻辑器件不用脱离系统,就可以进行程序写入。
ISP实现起来相对容易,通常的做法是利用上位机软件通过串口来改写单片机的内部存储器。条件是单片机需要具备非易失性存储器,用来存储由上位机传来的程序和数据。实现ISP的硬件接口支持JTAG、串口、无线等等。该接口通常固化在单片机所在的电路板上,芯片烧写时无需返厂或技术人员亲临现场,用户只需要通过计算机上的RS232接口或者USB接口就可以自行改写程序。
IAP(在应用可编程),即逻辑器件不用脱离应用,就可以进行程序写入。
IAP实现起来相对要复杂一些,单片机内部需要有两个存储区,一块被称为BOOT区,一块被称为APP区。单片机上电后,首先运行在BOOT区,满足改写程序的条件时,则对APP区的程序进行改写操作,程序改写完成后,单片机重新启动;如果不满足改写程序的条件时,程序指针直接跳转到APP区,开始执行存放在APP区的程序。实现IAP的硬件接口支持串口、无线、网口等等。由于网口的原因,一方面工作人员可以不用亲临现场即可实现固件的远程更新,另一方面,可以通过以太网的广播、组播数据包实现多个用户的同时全部更新,节省人力物力资源。
由于一些类型模块被固化在其他设备当中,因此我们想到开发这款应用程序——Nuri,来实现对该模块固件的远程更新,避免了繁琐复杂的手动连接。只要设备连接到网络,就能够对其进行设置或重置。同时,通过网络的广播和组播,还可实现对多个设备的同时更新,省时省力。
那么以 W5200E01-M3为例,给大家讲解一下在线更新固件的应用原理。
在W5200E01-M3中,通过ISP的方式来烧写BOOT程序。之后由BOOT程序远程更新APP程序时,采用的是IAP方式。
注:W5200E01-M3模块是一款嵌入W5200 (使用全硬件TCP/IP协议)开发板,单片机使用的是STM32F103CB(有128KB的FLASH存储空间),可以将固件程序存储在该存储器中。
上位机通过电缆与下位机相连。下位机进行数据预处理,组成一定的数据格式,通过RS-232串行口,将数据送到上位机,上位机采用串口终端方式接收数据,保证采集数据的实时处理。
那么在远程固件更新的过程中。PC机作为上位机,接收数据,进行固件程序的更新。
操作过程就十分容易:
(W5200E01-M3中已装载有固件boot.bin)
1 主程序界面
设备信息即更新到“Device”,“Connection”和“Option”标签下。点开左侧串口转以太网下面的设备MAC地址前面的“加号”,可以查看该硬件设备的固件版本信息,如图所示,当前版本信息为0.1。
2 查看固件版本
更改设备IP地址:
修改Device IP address中的内容为192.168.11.101,然后点击“Setting”图标,即完成了硬件设备的IP地址更改操作。设备的IP地址被设置为192.168.11.101。如下图所示
3 设置IP地址
恢复出厂设置:
点击“Factory Reset”图标,实现恢复出厂设置的功能,再点击“Search”图标更新界面信息,发现Device IP address又恢复为192.168.11.100,即完成了恢复出厂设置的操作。
4 恢复出厂设置
升级完成后,点击“Search”图标,更新显示信息:可以看到固件版本从0.1升级为1.0。
5 更新显示信息
需要注意的内容:
远程更新固件时,主机与设备必须处于同一网段内,否则更新将不被允许。
远程更新固件时,W5200硬件开关必须处于“RUN”运行模式下,而不是“PROM”编程模式,否则更新将不被允许。
感谢您的关注!
应用程序下载:http://pan.baidu.com/share/link?shareid=593485&uk=1930353891
更多信息请关注WIZnet官方微博:
http://weibo.com/wiznet2012