APP下载

远程自动抄表系统BootLoader的设计

2016-06-14张国勤国电南瑞三能电力仪表南京有限公司

科学中国人 2016年14期
关键词:嵌入式应用程序远程

张国勤国电南瑞三能电力仪表(南京)有限公司



远程自动抄表系统BootLoader的设计

张国勤
国电南瑞三能电力仪表(南京)有限公司

摘要:为了方便基于ARM体系的电力远程抄表系统中的功能应用程序的变化更新,特将程序划为二部分,一部分为引导程序(BootLoader);另一部分为功能应用程序。引导程序的主要功能是加载或升级功能应用程序。

关键词:电力远程抄表系统;BootLoader

现今移动设备得到了广泛的应用和发展,嵌入式系统受到了更多的关注和发展。随着计算机和微电子技术的发展,微控制芯片的功能也越来越强大,从而得到了越来越广泛的应用。嵌入式系统在功耗、成本、可靠性及硬件的体积大小等方面有着相当严格的要求。随着技术的发展,UCOS、linux、WINCE等操作系统也对嵌入式系统进行了成熟稳定支撑,这也提高了处理器的要求。当今,ARM体系的微处理器精简指令构架及其兼顾复杂指令的设计,使其做到了高性能低功耗,从而得到了广泛的应用。

本文主要研究的是采用ARM体系的电力远程抄表终端的BootLoader的设计与实现。BootLoader是电力远程抄表终端中执行功能应用程序前的一段程序,它的作用主要是升级或加载功能应用程序。

1 硬件设计

BootLoader的硬件平台是根据整个电力远程抄表的需求,选择合适的硬件环境,从而以最优的性价比实现系统的功能为原则而选择的。本系统的硬件平台是经过慎重考虑后选择了基于512kB程序空间的ARM微控制器搭建起来的。

2 软件分解

BootLoader程序分为上下两层,分别是硬件驱动与应用层。底层驱动包含串口通信、定时器、SPI、DATAFLASH、外扩RAM与LCD显示等。应用层主要含有升级信息检测、接收待升级的应用软件、软件跳转、程序加载,升级进度显示等五大功能。

2.1硬件驱动

硬件驱动主要实现对芯片资源的直接访问,硬件驱动接口提供了应用层访问硬件资源的一个接口。

2.2应用层

图1 工作流程图

上述提到应用部分主要实现升级信息检测、接收待升级的应用软件、软件跳转、程序加载,升级进度显示等五个功能。工作流程图如图1所示。

3 地址分配

BootLoader软件设计完成后,接着需要设计BootLoader的存放位置、功能应用程序的存放位置。严密准确的地址分配,才能避免相互冲突,系统失控。

ARM系统复位后,首先从物理地址0x00000000开始运行,该地址是MCU预先设定的。我们设计BootLoader程序在此处运行,当BootLoader运行到程序的末尾时,程序将跳转到预定的功能应用程序地址0x00008000继续运行。为BootLoader预留的程序空间是32KB,下图2为具体的地址分配图:

图2 地址分配图

4 设计应用

本公司的电力远程抄表终端在多个省份已广泛使用,本节介绍BootLoader在设计使用中遇到的瓶颈。

4.1程序空间大小限制

在设计使用中,由于我们选用的ARM芯片总的程序空间只有512kB,我们的主应用程序使用程序空间已达到470kB左右,这样留给BootLoader的空间实际不到40kB,为了给主应用程序空间留点余量,我们将BootLoader程序空间预留了32kB,在设计完基本的串口升级,存储、显示简单的页面等功能后,BootLoader程序空间已达到了30kB左右,如果要在BootLoader中实现GPRS升级以及图片显示等功能,程序空间已不足。

4.2接收缓存、速率限制

目前的BootLoader串口升级最大每帧可达10240字节,速率为57600bps,升级完一个功能应用程序(470kB)需47帧左右,如果增大每帧字节数,速率必须降低,否则容易出现丢字节;如果增加速率,每帧最大字节数必须减少,否则也会出现丢字节,经过反复的验证,每帧10240字节,速率57600bps是基于该芯片(最高主频可达72MHz)最优最快的程序升级配置。

5 结论

BootLoader是在嵌入式系统的发展过程中产生的。它的使命是升级或加载功能应用程序,为了给设计人员提供更多的便利,BootLoader的功能也得到了更多的扩充,比如增加了网络、丰富的图形显示等。

现今,BootLoader在电力远程抄表系统中已得到广泛的使用,为抄表集中器的运行维护带来了极大的方便。

参考文献:

[1]陈海军,申卫昌,史颖.嵌入式系统引导程序详探[J].微机发展,2006年01期.

[2]郭志,洪秀臣,曾奕.一个嵌入式系统的启动分析[J].微计算机信息,2005年第22期.

作者简介:张国勤(1976- ),男,工作于国电南瑞三能电力仪表(南京)有限公司工程师研究方向:嵌入式设计开发。

猜你喜欢

嵌入式应用程序远程
基于IMX6ULL的嵌入式根文件系统构建
远程求助
远程工作狂综合征
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
删除Win10中自带的应用程序
基于ARM嵌入式的关于图像处理的交通信号灯识别
TS系列红外传感器在嵌入式控制系统中的应用
谷歌禁止加密货币应用程序
远程诈骗
三星电子将开设应用程序下载商店