CC2530 芯片中BootLoader 程序的设计与实现
2016-05-16樊星男
樊星男
(太原学院,山西 太原 030032)
1 引言
BootLoader(启动引导)程序是运行于主程序之前的一段程序,其主要功能是要完成对主程序的更新、配置和启动[1-2]。BootLoader 程序与主程序是两个独立存在的程序,它所实现的功能并不被用户可见,但是对设备的运行、维护、升级却起着极其重要的作用。我们知道,设备在使用过程中经常会遇到需要进行软件升级的情况,有时是为了修改已有的软件错误,有时是为了增加新功能。这时BootLoader 程序可以极大的简化软件更新方式,降低设备维护成本。同时,BootLoader 程序还可以接受外部控制命令,完成对主程序运行参数的配置。
2 BootLoader程序功能分析
BootLoader 程序运行于主程序之前。当设备上电后首先运行BootLoader 程序。一般情况下,BootLoader 程序会对设备芯片进行必要的配置,并检查是否有外部触发信号。如果没有触发信号,则跳转至主程序;如果有触发信号,则进入BootLoader 循环。外部触发信号可以是多种多样的,常用的方式有跳线、按键、串口字符等。BootLoader 循环的主要功能是等待外部通过串口发送来的命令,然后执行该命令。BootLoader 程序是与硬件平台强相关的,所以对于不同的硬件设备,程序实现的方式会各不相同,但是整体的工作流程和功能是基本一致的。BootLoader 程序工作流程见图1。

图1 BootLoader 程序工作流程图
3 BootLoader程序在CC2530芯片上的实现
CC2530 芯片使用的是8051内核,所以我们选取IAR for 8051 软件作为BootLoader 程序的集成开发环境,这也是德州仪器公司推荐使用的开发环境。
3.1 CC2530芯片闪存划分
BootLoader 程序与主程序是两个相互独立的程序,所以二者必须被存储于独立的闪存空间。……
