用户名: 密码: 验证码:
嵌入式内核和外围构件研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
针对传统个人软件程序设计偏重单线程的缺点,通过研究当前流行的几种嵌入式系统,提出了一种简单的针对个人的微型嵌入式系统的结构和部分外围构件设计。系统主要包括任务间的通信和同步,任务调度,内存管理,串口编程,计时模块,键盘模块等。
     任务调度采用占先式和动态优先级,对于任务调度过程出现的优先级反转和死锁现象提出了较好的解决办法。对于多任务运行中任务间的通信和同步提供了三种方法:关中断;任务调度的禁止和允许;用信号量、邮箱、消息队列来实现。文中对用信号量、邮箱、消息队列来实现任务间的通信和同步进行了详细的介绍。通过将连续大块内存分区管理,每个分区包含有整数个相同大小的内存块来实现内存管理功能。使用内存管理功能可以有效避免动态内存分配中出现的内存碎片问题。对于外部模块的设计,提供了键盘、串口、计时器、离散输入/输出等几种通用模块的设计思路、设计框图和具体实现。从而有效的实现了嵌入式内核的输入、外部通信和内部计时功能。
     程序设计进行了模块化的处理。通过头文件中的部分值的设置,可以动态选择个人需要的部分程序代码,从而使得系统内核及部分外围构件易于剪裁。基于这种模块化的剪裁技术,程序员可以有效的控制自己的程序代码大小,降低系统的重复开发成本。
     通过对程序模块化设计过程分析,可以很容易的随着应用对象和环境的不同不断添加和去除部分程序构件代码,而不用修改内核部分。从而系统易于更新。可以与时同步。
According to the shortcoming that programmer lays particular stress on the single thread in traditional personal software design process, through studying several kinds of popular embedded systems at present, a simple miniature personal embedded system has been developed. The system has a simple kernel and some peripherally building blocks. Strive to transform traditional background software design process into multi-thread software design process through fewer efforts. The system includes the communication and dispatcher among the tasks, memory management, serial communication module, timing module, the keyboard module, etc.
    Task kernel adopts preemptive and dynamic priority. According to the phenomenon of deadlock and priority's overturn, propose better solution. According to the communication and synchronization of multiple tasks, three method have been put forward: disable interrupt and enable interrupt; locking and unlocking the scheduler; event control methods realizing with semaphore, message mail box and message queue. And to realizing the communication and synchronism among the tasks with semaphore, message mailbox and message queue has introduced the detailed one. Through dividing large successive memory blocks and using the same size of memory piece each time realize the functions of management of memory. That using the functions of management of memory can effectively avoid the memory chip question appearing in dynamic memory assigning.As to the design of outside modules, offer design thought, design block diagram, realization of serial communication module, timing module, the keyboard module, and discrete input/outpu
    t module, etc. Thereby effectively realize function of embedded system kernel's input, outside communication and time management.
    Through setting some value of head file, can compile the code that designer wants to use.which can reduce the total code greatly. Thus make systematic kernel and some peripheries easy to cut out. Though these kinds of the cutting technologies of module, programmer can effective control his own code to his idea, reduce the repeated development cost of the system.
    Though the module design process analysis, one can very easy add and get rid of some procedures with target and environment changing constantly, but needn't revise the kernel part. So the system can be in pace with hour.
引文
[1] 吕京建 肖海桥.面向二十一世纪的嵌入式系统综述.http://www.bol-systom.com
    [2] Real-Time Kernal Concept. http//staff.ustc.edu.cn/-wangzhuo
    [3] 探矽工作室.嵌入式系统开发圣经(第二版).中国铁道出版社.2003.5
    [4] 罗国庆.VxWorks与嵌入式软件开发.机械工业出版社.2003.9
    [5] Douglas Boling北京博彦科技发展有限公司译.Windows CE程序设计.北京大学出版社.1999.8
    [6] 张来勇.基于单片机的嵌入式系统研究.西北工业大学硕士论文.2002.3
    [7] Craig Hollabaugh陈雷 钟书毅 等译.嵌入式Linux—硬件、软件与接口.电子工业出版社.2003.12
    [8] Labrosse.Jean J. UC/OS-Ⅱ,The Real-Time Kernel. R&D Technical Books, 1998
    [9] Justin Pinnix. Operating System Kernal for all Real Time. System,Computer Science. 2001
    [10] David B. Stewart. Design Software Component For Real-Time Applications. 2001 Embedded Systems Conference San Franclsco, CA. April 2001
    [11] Campbell,Joe. C Programmer's Guide to Serial Communications. Sams Publishing. 1993
    [12] Labrosse.Jean J. Embedded System Buliding Blocks, Complete and Ready-to-use Modules in C. R&D Technical Books, 1998
    [13] 胡在华.实时嵌入式系统的研究与应用.湖南大学硕士论文.2002.06
    [14] Dybowski, John. Negotiating a Keyboard Interface. The Computer Application Journal. October/November 1992
    [15] 秦石乔等.微机接口技术与应用.长沙:国防科技大学出版社.2000
    [16] Andew Oram & Steve Talbott. Managing Projects with make, 2nd Edition. O'Reilly. 1991
    [17] 顾天柱,陈已康.C51交叉编译系统.上海:复旦大学出版社.1990
    [18] Stuart R.Ball P.E苏建平 李鹏飞 刘谦译.嵌入式微处理器系统设计实例(第三版).电子工业出版社.2004.3
    [19] 张红光 李福才等.Unix操作系统教程.机械工业出版社.2003
    [20] 顾宝根 王立松等著.操作系统试验教程-核心技术与编程实例.科学出版社.2003
    [21] 实时Linux与其它RTOS的比较.http://www. csuu. com/docu
    [22] 何立民.嵌入式系统的定义与发展历史.单片机与嵌入式系统应用.2004.1
    [23] 高峰.嵌入式实时多任务微内核核心研究.电子科技大学硕士论文.2001.02
    [24] 郭江鸿 董祥和.嵌入式实时操作作系统中的调度问题.太原理工大学学报.2004.35
    
    
    [25] 王济勇,林涛等.EDF调度算法抢占行业的研究及其改进.电子学报.2004.32(1)
    [26] 田淑杭.嵌入式系统设计开发的相关问题研究.自动化与仪器仪表.2004.1
    [27] 陈嫒,黄贤英,李卫东.μC/OS—Ⅱ中任务调度与中断处理的实现机理.自动化与仪器仪表.2004.1
    [28] 白衡.嵌入式操作系统剪裁技术研究.西北工业大学硕士论文.2002.3
    [29] Carsten Nitsch, Karlheinz Weiss, Thorsten Steckstor. Embedded System Architecture Design Based onReal-Time Emulation. http://drew.nease.net/
    [30] Implementation of Real-Time Systems. http://drew.nease.net/
    [31] 师明珠.基于单片机的嵌入式系统研究与实现.国防科学技术大学硕士论文.2002.01
    [32] 吴勇.高速嵌入式系统研究与实现.北京工业大学硕士论文.2003.05
    [33] 刘剑鸣.嵌入式程序设计中C/C++代码的优化.微计算机信息.2003.19(12)

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700