基于STM32的数字PDA系统软件系统设计
数字PDA系统整体由硬件电路和软件系统2部分组成,硬件电路由低功耗ARM微控制器STM32ZET6控制的PDA外围电路组成,软件系统则由硬件驱动程序、μC/OS-Ⅱ实时操作系统、FATFS文件系统、GUI等部分组成。数字PDA系统将整个软件系统进行了整合,提供一种基于页的机制方法,即每页都是一个线程,利用μC/OS-Ⅱ的信号量、邮箱机制实现多线程之间的任务切换。PDA系统采用页机制的设计,旨在减少增加应用程序时代码的修改量和提高整个PDA软件系统的稳定性,以及提高应用程序的开发速度。
以Cortex-M3为内核的处理器由于其低功耗以及低成本并且是32位处理器,越来越多的研究人员已经从51处理器、AVR等处理器开始转移到这个领域。数字PDA系统设计采用的是以Cortex-M3的内核STM32ZET6控制器,但是由于STM32ZET6内部没有MMU,不能移植WincE,Linux等操作系统,故只能应用ucLinux,μC/OS-Ⅱ等实时操作系统。传统的操作系统ucLinux,μC/OS-Ⅱ在微控制器中移植后,应用程序就开始了与操作系统、以及硬件驱动之间的交互,一旦要添加新的应用程序或者对应用程序的更改,代码的修改量以及整个操作系统的稳定性都会收到影响。这时就需要一种新的机制,能够在保证系统稳定性的基础上快速设计应用程序,也正是基于这种思想,数字PDA系统将实时操作系统、硬件驱动、FATFS进行统一的封装,并给出一种基于页的机制,每一页就是一个线程,利用μC/OS-Ⅱ操作系统进行任务间的切换,而应用程序只需要按照页的设计规则,进行应用程序页设计即可,设计最终证明是合理可靠的。 数字PDA系统原理框图说明 数字PDA系统的硬件电路部分由微控制器STM32F103ZET6、16 Mb NOR FLASH存储器、液晶显示LCD控制电路、USB接口电路、VS1003B MP3解码芯片电路、2 Gb misroSD卡接口电路、以及2.5~5 V电源电路组成。它的结构图如图1所示。
|