网站首页 | 论文指导 | 经济论文 | 理工论文 | 管理论文 | 法律论文 | 行政论文 | 英语论文
艺术论文 | 农学论文 | 医学论文 | 文史论文 | 教育教学论文 | 论文定制 | 论文发表
论文库分类>>> 点这里访问轻松论文网主站>>>
您当前的位置:轻松论文网 -> 论文中心 -> 理工论文 -> 电子通信网络论文 -> 文章内容 退出登录 用户管理
 子栏目导航
· 计算机与信息技术论文
· 电子通信网络论文
· 自动化论文
· 土建水利论文
· 交通运输论文
· 化学与化工论文
· 石油与能源动力论文
· 机械制造论文
· 矿业与冶金论文
· 工程论文
· 生命环境论文
· 材料科学与工程
· 综合论文
 最新推荐
· 世界地缘政治体系与印度...
· 维新与革命:政治选择的...
· 世界地缘政治体系与印度...
· 中国国家安全哲学-政治哲...
· 政治学视野中的公共政策...
· 方法引导下的政治理论[上...
· 格拉修斯原则:基督教二...
· 方法引导下的政治理论[下...
· 国体、国情与现代国家-政...
· 试论我国今后政治发展的...
· 东亚的政治权威与现代化...
· 跨国收养法的概念与渊源...
 热门文章
· 开题报告的格式(通用...
· 怎样写开题报告
· [图文] 开题报告范文1(银行...
· 开题报告范文2(网上...
· 毕业论文开题报告-A...
· 开题报告的撰写方法...
· 开题报告范文3(网络...
· 文献综述的写法
· 毕业论文例文评析
· 开题报告撰写的方法...
 相关文章
· 我国刑事科学的学科...
· [图文] 嵌入式系统以太网卡...
· [图文] 面向对象的嵌入式系...
· [图文] 嵌入式系统的设计与...
· [图文] 基于ARM-μCLinux嵌...
· [图文] 利用SPD实现嵌入式系...
· [图文] 数据终端设备与无线...
· [图文] 嵌入式系统中FPGA的...
· [图文] 嵌入式系统中“软外...
· [图文] 嵌入式系统的通信规...
 
[论文定制][论文发表][价格总览][支付方式][购买流程]点击这里给我发消息 点击这里给我发消息
嵌入式系统通用的应用软件结构研究
作者:佚名  来源:不详  发布时间:2007-3-2 14:44:42  发布人:admin

减小字体 增大字体

摘要:嵌入式实时多任务操作系统在软件编程上有一定的相似性。这种相似的特性,使得我们可以将个别系统的编程经验推广到更多的系统上。本文就μC/OS-II内核的任务管理和内存管理进行基本的介绍,并介绍一个通用的应用软件结构。然后,与之相对应,提供两个不同操作系统下的应用实例。

    关键词:嵌入式系统 多任务 编程

引言

嵌入式系统的面向应用特性,使得大多数程序员沉陷于不同的应用中。在进入新的一轮开发后,往往只有一些简单的经验可供参考。为了加快应用的开发进度,有必要研究一种统一的应用软件结构,使开发人员能够通过简单模式套用,简化大量系统研究方面的工作,以加快嵌入式开发人员对新系统的理解和使用。

操作系统μC/OS-II和ECOS(Embedded Configurable OS)是我在研发过程中使用过的两个系统。这两个源码公开的系统是我们研究的基础。开发平台依次是PC机和EP7212开发板。

1 μC/OS-II内核

对于一个嵌入式系统内核,我们最关心的是:任务调度、内存管理及时间特性等。这里,只介绍与多任务编程联系最多的任务调度和内存管理。

1.1 任务调度

任务的状态有休眠、就绪及运行几种。任务调度就是遵循一定的原则,使多个任务共同使用同一处理机的过程。这一过程主要是通过对任务控制块(TCB)的管理来实现的。

当一个任务建立时,μC/OS-II系统为其所对应的OS_TCB赋值;当任务的CPU使用权被剥夺时,系统用OS_TCB来保存该任务的状态;当任务重新得到CPU使用权时,系统就可通过任务控制埠来使任务从被中断处继续执行下去。

μC/OS-II中,TCB内包含如下基本项:

*OSTCBStkPtr是一个指向当前任务栈顶的指针,通过允许每个任务拥有自己的栈来减小系统的内存开销;

*OSTCBNextOSTCBPrev用于任务控制块的双重链接;

*OSTCBDly用于任务延时或超时限制;

*OSTCBStat任务的状态字,0表示就绪态;

*OSTCBPrio任务的优先级,值越小,优先级越高。

μC/OS-II中,还有两个与任务调度相关的结构就绪表和估级判定表。就绪表中有两个变量用来存放每个任务的就绪标志。通过分组与优先级表中的项实现一一对应,进而确定进入就绪态的优先级最高的任务。

任务调度算法原型:

*关中断;

*取优先级最高的就绪任务;

*若不是当前任务,则进行任务切换;

*开中断。

任务切换中两步完成:将被挂起的任务的微处理器寄存器堆入栈,然后,将较高优先级的任务的寄存器值从栈中恢复到寄存器中。

1.2 内存管理

在嵌入式系统中,为了更高效地使用内存,除了常规的malloc()和free()外,通常提供不同的内存组织形式,以满足特殊应用的需求。ΜC/OS-II中,操作系统把连续的大块内存按分区来管理,每个分区中包含整数大小相同的内存块。利用这种机制,μC/OS-II对malloc()和free()进行改造,使得它们可分配和释放固定大小的内存块,并且使这两个函数的执行时间也固定下来。

为了使用户能得到需大小的内存块,在一个系统中可以多个内存分区,应用程序可以从不同的内存分区中取得不同大小的内存块。唯一要注意的是,不同的内存块在释放时必须重新放回它以前所属的内存分区。采用上述的内存管理算法,解决了内存碎片的问题。

为了跟踪每一个内存分区,μC/OS-II使用了内存控制块的数据结构,主要有:

OSMemAddr—指向内存分区起始地址的指针;

OSMemFreeList—指向下一个空闲控制块或下一个空闲内存块的指针;

OSMemBlkSize—内存分区中内存块的大小,是用户建立该内存分区时指定的;

OSMemB1ks—内存分区中总的内存块数量,是用户建立该内存分区时指定的;

OSMemNFree—内存分区中当前可以得到的空闲内存块数量。

μC/OS-II中,也可以使用常规的malloc()和free()内存管理函数来增强其可移植性,但在使用更严格的场合,应使用系统提供的特殊的内存管理。

2 应用软件

2.1 应用软件原型

对于8051单片机系统的编程,最基本的架构是一个无限循环,应用的所有事情基本上都是在这个超循环中实现的。在这种系统中,系统上只有一个任务在运行,应用就是整个系统,而整个系统就是一个应用。

与这种简单系统相似,超循环结构在复杂的实时操作系统μC/OS-II中也是一个基本结构;但不再是系统级的,而只是任务级的。图1为超循环的结构示意。

    在一个应用中,至少有一个这样的任务,它包含这样一个超循环,以使其拥有与应用相同的生存期,并由它完成应用的全部或部分功能。图2为应用软件结构框图。

2.2 基本应用软件结构

应用软件结构存在不同性,是由应用本身决定的;但作为基本结构,则是相似甚至是相同的。因为对于不同的系统,所调用的函数是不同的。下面给出基本应用软件结构的文字描述。

①声明系统的包含文件。

②声明全局数据:任务数、任务的栈空间等。

③主函数:

*系统初始化;

*创建主任务;

*启动多任务执行。

④主任务:

*主任务初始化;

*若必要,可创立多个子任务;

*进入超循环或退出主任务。

⑤子任务:

*子任务初始化;

*进入超循环或退出子任务。

2.3 应用软件实例

(1)样例1

为了简要说明软件结构思想,我们在PC平台、Windows 98系统下,采用了Borland公司的C++命令行编译环境,说明我们的第一应用。

其中文件的主要功能,就是显示一个HelloμC/OS-II embedded world!字符串。由于其是在μC/OS-II下实现的,与原理有相通性,这里就不再更多介绍了。

(2)样例2

使用Cirrus Logic公司的开发板EP7212,运行的操作系统是RedHat公司的ECOS。本应用的主要功能是,把从串口2接收到的数据再发送回去,并且在初始化时加发一个“Hello eCos World!”字符串。

ECOS是一个比μC/OS-II更复杂的系统,其支持的软件结构更丰富,但其对我们所抽象的软件结构依然支持得很好;只是在我们应用的主函数中,已更好地将系统的初始化部分隐藏了起来。

论文指导 开题报告   论文格式   论文撰写   论文答辩   论文答谢   
经济论文 税收论文   证券投资论文   房地产论文   金融论文   投资论文   财政论文   西经论文   国际贸易论文   计量经济论文   国民经济论文   保险信托论文   地方经济   国际经济   新经济学   经济学理论   经济学其他   
理工论文 计算机与信息技术论文   电子通信网络论文   自动化论文   土建水利论文   交通运输论文   化学与化工论文   石油与能源动力论文   机械制造论文   矿业与冶金论文   工程论文   生命环境论文   材料科学与工程   综合论文   
管理论文 电子商务论文   会计论文   财务论文   人力资源论文   市场营销论文   企业管理论文   信息管理论文   旅游管理论文   工商管理论文   公共管理论文   物流管理论文   
法律论文 民法论文   刑法论文   诉讼法论文   行政法论文   国家法   宪法论文   土地资源环境法论文   国际法论文   劳动保障论文   商法论文   经济法论文   法史学论文   法理学论文   司法制度论文   
行政论文 中国政治论文   国际政治论文   管理科学论文   思想政治教育论文   国家行政管理论文   政治理论论文   哲学理论论文   三个代表论文   社工论文   
英语论文 学术英语论文   商务英语论文   科技英语论文   英语教学论文   
艺术论文 艺术理论论文   电视艺术论文   电影艺术论文   音乐论文   舞蹈论文   戏剧论文   美术论文   
农学论文 农艺学(园林,林学)论文   渔业论文   水产论文   植物保护论文   农业基础科学论文   综合论文   
医学论文 医学论文写作方法   基础医学论文   医药卫生论文   临床医学论文   药学论文   特种医学论文   护理学论文   
文史论文 中国史论文   世界史论文   考古论文   文字学论文   语法论文   中国文学论文   世界文学论文   文学理论论文   文艺美学论文   文学评论论文   经典名著赏析论文   新闻传媒学论文   社会学论文   
教育教学论文 语文论文   数学论文   英语论文   物理论文   美术论文   音乐论文   地理论文   化学论文   历史论文   体育论文   思想政治论文   生物自然论文   信息技术论文   德育管理论文   素质教育论文   教学管理论文   综合论文   
[ ] [返回上一页] [打 印] [收 藏]
上一篇文章:RTOS的必备特性
下一篇文章:在VxWorks下实现NAT/NAPT的方法
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
服务电话:020-61131011;020-61131022 转82 投诉电话:020-61131011;020-61131022 转88 传真:020-61131022
电子邮件:paperease@vip.163.com paper@126.com 服务QQ:130008818 130009919
© 2002-2004 轻松论文网 赣ICP备05004673号 网络实名:轻松论文