·上一文章:基于Web与CC430F6127的通信电源监控系统设计
·下一文章:F-2011型立体声电唱机电路原理图
4 软件的设计与开发
系统软件的开发包括两个方面:即引导程序的开发和加载程序的开发。引导程序的开发是系统的基础,主要的功能是实现MCU的初始化,存储器检查,FLASH可用性检查,串行通信功能的实现,对FLASH程序的加载以及出错报警等,引导程序的工作流程如图3所示。
图3 引导程序工作流程图
引导程序中有四个重要部分,AT89C52初始化、串行中断服务程序以及程序加载指令的实现,以及命令代码的解析等。在系统没有加载程序之前引导程序处在等待加载的状态,直到加载完成才可能进入正常工作模式,并且在引导程序进入正常工作模式时,也还可以通过调用程序加载模块(子程序)进行程序的更新。
由于SST29EE010是以128字节的页方式写入,所以实现加载指令时,对SST29EE010的写操作以128字节为分组,不足128字节的分组填充至128字节再处理。在加载程序时,主机将加载程序.BIN文件以128字节为单位分组,并为每个分组加上升级指令代码和位置参数后通过串口发送给MCU,MCU接收数据后进行判断,若是加载指令则将接收的数据写入到参数指定的FLASH区,并返回操作代码;处理流程如图4所示。
图4 程序加载的处理流程图