嵌入式系统是指以应用为中心,以计算机技术为基础,软件和硬件可剪裁以适应应用系统对功能、可靠性、成本、功耗等要求的专用计算机系统。嵌入式系统核心是嵌入式处理器,此外还包含外围硬件设备,嵌入式操作系统和特定的应用程序。嵌入式系统具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系,可以实现对其它设备的控制、监控或管理等多种功能。数字信号处理器是一种嵌入式系统的核心处理器,专门用来实时,快速地实现各种数字信号处理算法。自从20世纪80年代来,DSP芯片的运算能力越来越强大,广泛应用于通信、语音、图像、雷达、工业控制、仪器仪等领域[1]。10417
嵌入式设备与在应用编程
传统的嵌入式系统使用EPROM,E2PROM等存储器,这些存储器需要专用的编程器来烧写数据。而Flash是一种非易失性存储器,掉电后存储的信息不会丢失,具有容量大、速度快、功耗低的特点[2]。Flash还可以直接使用MCU来烧写数据,所以现在通常用Flash作为嵌入式系统的程序存储器。
对Flash编程可以使用JTAG口把数据下载烧写到Flash中,这种方法不需要额外的硬件接口,烧写迅速,但也有缺点,比如:通信距离短,需要连接仿真器等,往往要打开设备外壳,因此这种方法适合程序调试时和首次将程序烧写到Flash中。对于设备应用期间的软件升级,使用JTAG口对Flash编程则会比较麻烦和不便。为了克服这些不便,在应用编程技术应运而生。
在应用编程(IAP)是指电路板上的MCU可以获取新代码并重新对自己编程,即通过程序来改变程序,更新代码 [3]。使用IAP时,嵌入式系统的存储器分成至少两个部分:一部分存储器空间利用存储于其中的IAP程序将数据烧写到对另一部分存储空间。当烧写的数据是通过通信接口传输过来时,嵌入式设备就可以实现软件的自动化升级。
嵌入式设备更新方式现状
现在常见的更新方式主要有:(1)主机作为TFTP服务器,并在根目录下存放固件文件,通过使用Redboot中load命令直接将固件文件加载到设备内存中,然后用fis命令把固件文件从内存写入Flash中。这种方法局限于使用Redboot的系统,并且需要搭建TFTP服务器[9]。(2)基于串行通信进行DSP程序远程更新。即利用基于通用异步收发器(UART)的串行通信远程来更新DSP。在DSP正常加载启动后,主控机发送程序更新指令,与DSP建立通信连接。DSP就终止现有进程并将系统的控制权交给PC,然后等待PC发送程序和数据,DSP根据定义好的协议将数据和程序写入Flash。当程序更新完成后,PC发送查询指令检查数据写入是否正确。若校验不正确,则提示PC 将数据重传并写入,反之则退出。系统重新上电后DSP 就会自动从FLASH加载并运行更新后的程序[17]。(3)基于CAN总线的程序调试技术。即通过CAN总线把需要修改程序下载到目标DSP板中,利用预先设计好的Flash烧写程序修改固定地址的目标程序,实现DSP关键程序在线修改和调试。DSP芯片TMS320F2812本身有多种接口模块,其中就包括CAN总线,因此通过CAN不需要额外的硬件资源[14]。(4)通过Web远程传输并刷新固件程序设计,远程PC作为客户端,嵌入式设备作为Web服务器端。在客户端,将所有文件打包,在浏览器界面访问嵌入式设备。在服务器端,设软件程序守候客户端的连接请求,当客户发起请求后,客户端和服务器之间经过三次握手建立连接。守候程序接到HTTP请求消息后,对其解析。如果利用CGI应用程序,则服务器执行CGI应用程序进程,把客户端的固件文件传输到嵌入式设备的Flash中,然后进行解析,写入MTD设备,最后重启嵌入式设备即可运行新的系统[9]。基于web的固件更新方式不需要额外设计上位机软件,直接使用浏览器窗口进行控制,但是需要在嵌入式设备中搭建Web服务器,对嵌入式设备的要求比较高。(5)此外还有其他方法:比如RS485,RS232接口来实现远程控制端和嵌入式系统的信息交换,但由于这些是串行接口,速度一般,不适合高速应用;或者通过GPRS和3G网络来进行固件更新时的数据交换,这样使用范围更广,可以在任何时间和任何时刻进行嵌入式系统的更新,尤其适合野外和移动的设备。
- 上一篇:质子交换膜燃料电池测控研究现状
- 下一篇:师生交流平台国内外研究现状
-
-
-
-
-
-
-
当代大学生慈善意识研究+文献综述
十二层带中心支撑钢结构...
酸性水汽提装置总汽提塔设计+CAD图纸
大众媒体对公共政策制定的影响
杂拟谷盗体内共生菌沃尔...
乳业同业并购式全产业链...
河岸冲刷和泥沙淤积的监测国内外研究现状
中考体育项目与体育教学合理结合的研究
java+mysql车辆管理系统的设计+源代码
电站锅炉暖风器设计任务书