欢迎来到天天文库
浏览记录
ID:57733161
大小:322.84 KB
页数:6页
时间:2020-03-25
《嵌入式实时操作系统μCOSⅡ的移植.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第29卷第8期增刊仪器仪表学报V01.29No.82008年8月ChineseJournalofScientificInstrumentAug.2008嵌入式实时操作系统uCOS-II的移植张仁斌代海飞李钢(合肥工业大学计算机学院合肥230009)摘要:本文在分析pCos.Ⅱ工作原理和HC9S08系列单片机硬件结构的基础上将嵌入式操作系统移植到8位系列单片机HC9S08上.最后在Freeseale提供的Delno板上测试成功。运行结果显示,pCOS-II具有相当高的稳定行和可靠性,可以显著的提高单片机的实时性能、更加有效的利用有限的系统资源。关键词:实时操作系统lICOS-IIHC9
2、S08移植ImplementationOfPortingRTOSIICOS-ⅡonHC9S08ZhangRenbinDaiHaifeiLiGang(ComputerDepartmentofHeFeiUniversityofTechnologyHe力f230009China)Abstract:BaseedontheanalysisoflICOS—IItheoryandthehardwareofHC9S08.thispapertrytoportingReal-TimeOperationSystemlaCOS-ⅡonHC9S08.TestingontheDemocircuitboardwh
3、ichsupplywithfreescaleissuccessful.ResultshowspCOS—IIhasratherstabilityanddependability.Canenhancesystemcapability、makeuseoflimitedsystemrecoursemoreefficiently.Keywords:Real·TimeOperationSystemlICOS·IIHC9S08Porting1引言嵌入式系统由于它具有软件代码小、高度自动化、响应速度快等特点已经使它在许多领域得到广泛的应用13l。从家里的洗衣机、电冰箱,到作为交通工具的自行车、小汽车
4、,到办公室里的远程会议系统等。嵌入式系统通常由硬件环境和操作系统构成。在嵌入式操作系统的统一调度管理下实现对所有系统资源的合理利用和分配,达到提高系统性能和有效利用有限资源的目的。IICOS.II作为一个源码开放的嵌入式实时操作系统,同时具有良好的可移植性、可裁剪性、可剥夺性、稳定性和可靠性等优点,使其成为许多嵌入式操作系统的首选。本文将lICOS.II在Freescale的8位处理器芯片HC9S08上移植实现。3752IlCOS-II系统结构ItCOS.II是一个完整的可移植可固化可裁剪的抢占式实时多任务内核。可以在不需要做很大修改的基础上方便的移植到多种处理器上。条件是:该处理器
5、要具有一定数量的堆栈,能够使用软件中断,产生定时器中断,此外,编译器要支持可重入代码,并且要能使用汇编实现对处理器内部寄存器的相关操作12】【4】。通过IICOS.II的管理,使多个任务之间相互协调,分时的占用CPU,实现充分利用资源和实时等相应的功能。任务通常是一个死循环,用来完成某一特定的功能;一个任务相当于一个线程。IlCOS.II可以管理多达“个任务,每个任务都具有一个唯一的合法优先级。但是,优先级最低的那个任务已经被系统定义第8期增刊张仁斌等:嵌入式实时操作系统pCOS·Il的移植为空闲任务,用户不能使用。用户可以通过函数OSTaskCreateO来创建任务,通过OSTas
6、kDelO来删除任务.任务可能有以下五种状态:睡眠态、就绪态、运行态、等待状态、中断服务态。利用不同的系统函数可以实现任务在各状态之间的转换。llCOS.II通过对就绪表的操作总是选择在就绪任务中优先级最高的那个任务开始运行。任务级的调度是由函数OSSchcd0来完成的;而中断级的调度是由OSlmExtO完成的。任务切换的过程分为两步:将被挂起任务的处理器寄存器状态保存在它的任务堆栈中;将将要执行的任务堆栈中保存的寄存器值弹到处理器中,然后执行中断返回指令。这样新的任务就拥有了CPU,开始执行。直到它挂起,或者是被更高优先级的任务中断。uCOS.II就是在对各种任务的切换之间起协调作
7、用的协调者。3HC9S08的硬件结构每个HCS08系列的MCU都是由HCS08核加上几个存储器以及外设模块组成。HCS08核主要包括:①HCS08CPU②背景调试控制器(BDC)③支持多达32个中断/复位源④芯片级地址译码HCS08CPU包括和M68HC08相同的寄存器。其中包括一个8位累加器(A),一个可分别存取高8位和低8位的16位变址寄存器(H)(),一个16位栈指针(SP),一个16位程序计数器(PC)和一个状态码寄存器(CCR),该CCR包含5个
此文档下载收益归作者所有