论文部分内容阅读
针对传统个人软件程序设计偏重单线程的缺点,通过研究当前流行的几种嵌入式系统,提出了一种简单的针对个人的微型嵌入式系统的结构和部分外围构件设计。系统主要包括任务间的通信和同步,任务调度,内存管理,串口编程,计时模块,键盘模块等。 任务调度采用占先式和动态优先级,对于任务调度过程出现的优先级反转和死锁现象提出了较好的解决办法。对于多任务运行中任务间的通信和同步提供了三种方法:关中断;任务调度的禁止和允许;用信号量、邮箱、消息队列来实现。文中对用信号量、邮箱、消息队列来实现任务间的通信和同步进行了详细的介绍。通过将连续大块内存分区管理,每个分区包含有整数个相同大小的内存块来实现内存管理功能。使用内存管理功能可以有效避免动态内存分配中出现的内存碎片问题。对于外部模块的设计,提供了键盘、串口、计时器、离散输入/输出等几种通用模块的设计思路、设计框图和具体实现。从而有效的实现了嵌入式内核的输入、外部通信和内部计时功能。 程序设计进行了模块化的处理。通过头文件中的部分值的设置,可以动态选择个人需要的部分程序代码,从而使得系统内核及部分外围构件易于剪裁。基于这种模块化的剪裁技术,程序员可以有效的控制自己的程序代码大小,降低系统的重复开发成本。 通过对程序模块化设计过程分析,可以很容易的随着应用对象和环境的不同不断添加和去除部分程序构件代码,而不用修改内核部分。从而系统易于更新。可以与时同步。