嵌入式实时操作系统μC_OS-Ⅱ在s3c44box上的移植.pdf
《嵌入式实时操作系统μC_OS-Ⅱ在s3c44box上的移植.pdf》由会员分享,可在线阅读,更多相关《嵌入式实时操作系统μC_OS-Ⅱ在s3c44box上的移植.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2 6 卷第1 期2 0 0 7 年3 月中南民族大学学报(自然科学版)J o u r n a lo fS o u t h C e n t r a lU n i v e r s i t yf o rN a t i o n a l i t i e s(N a t S c i E d i t i o n)V 0 1 2 6N O 1M a r 2 0 0 7嵌入式实时操作系统f f c o s 一在s3 c4 4 b o x 上的移植彭天玲王江晴”(中南民族大学计算机科学学院,武汉4 3 0 0 7 4)摘要介绍了嵌入式实时操作系统u C O S 一的内核结构,实现T u C O S 一在s 3
2、 c 4 4 b o x 上的移植,对移植后的系统进行了测试测试结果表明:移植后的实时系统是稳定可靠的关键词u C O S 一操作系统;实时操作系统;移植中图分类号T P 3 1 6 文献标识码A 文章编号1 6 7 2 4 3 2 1(2 0 0 7)0 1 0 0 7 0 0 4P l a n to fE m b e d d e dR e a l T i m eO p e r a t i o nS y s t e m c o s 一o ns3 c 4 4 b o xP e n gT i a n l i n gW a n gJ i a n g q i n gA b s t r a c tT
3、h i sp a p e ri n t r o d u c e dt h ek e r n e ls t r u c t u r eo fae m b e d d e dr e a l t i m eo p e r a t i n gs y s t e mu C O S 一a n dd e s c r i b e dt h er e a l i z a t i o no fp l a n t i n g 弘c o s 一t os 3 c 4 4 h o x T h ee x p e r i m e n t a lr e s u l t ss h o w e dt h a tt h ep l a
4、 n t e ds y s t e mw a ss t a b l ea n dr e l i a b l e K e y w o r d su C O S i i;r e a l-t i m eo p e r a t i o ns y s t e m;p l a n tP e n gT i a n l i n gM a s t e r!sC a n d i d a t e,C o l l e g eo fC o m p u t e rS c i e n c e,S C U F N,W u h a n4 3 0 0 74 C h i n a嵌入式操作系统可提高系统的可靠性和开发效率,尤为重要的
5、是它可以充分发挥3 2 位C P U 的多任务潜能p C O S 一是一个可裁减、源代码公开的嵌入式实时操作系统,它内核精巧,支持多任务管理,支持占先式任务调度,可移植性强 1 对弘c o s 一的移植具有重要的理论意义和实际应用价值1u c o s 一的特点u c o s 一的内核采用占先式调度机制,满足实时系统的要求,它包括任务管理和调度、时间管理、内存管理以及任务间的通信和同步等系统服务功能 z u c o s 一的内核主要是为任务提供系统服务任务可以请求内核的某项服务,内核作出相应的服务响应,同时根据任务当前的状态,及时执行优先级最高的就绪任务,实行占先式调度机制,保证了系统的实时性u
6、 C O S 一的系统体系结构以及与硬件的关系如图1 所示嘲应用程序软件C O S I I弘c O s I I 的设置(处理器无关代码)(应用相关代码)O SC O R E cu C O SI I cO SM B O X C“C O SI I H0 SC F G HO SM E M CO SQ Cl N C L U D E S HO SS E M CO ST A S K CO ST I M E C弘C O S-I I 的移植L 处理器相关代码)O S C P U HO S C P U C CO S C P U A A S M软件图1u C O S I I 的软硬件体系结构u C O S 一在最
7、初编写时就充分考虑了可移植性问题,大部分u C O S 一代码都是用c 语言编写的,只有少量与处理器相关的代码是用汇编语言写的,因为C 语言不能直接读写处理器寄存器要使收稿日期2 0 0 6 0 9 2 2*通讯联系人王江晴(1 9 6 4 一),女,教授,E m a i l:w j q i n 9 2 0 0 0 y a h o o t o m c n作者简介彭天玲(1 9 8 2 一),男,硕士研究生,研究方向:人工智能、嵌入式系统,E m a i l:p t l 一1 9 8 2 16 3 c o r n基金项目湖北省自然科学基金资助项目(2 0 0 4 A B A 0 2 9)万方数据
8、第1 期彭天玲,等:嵌入式实时操作系统u C O S 一在s 3 c 4 4 b o x 上的移植7 1u C O S 一正常运行,处理器必须满足以下条件:(1)处理器的C 编译器能够产生可重入代码u C O S 一是一个多任务实时内核,一般代码(如一个函数)可能被多个任务调用,代码的可重人性是保证多任务正确执行的基础(2)支持中断并能产生定时中断(通常在1 0 一1 0 0 H Z 之间)u C O S 一通过处理器产生的定时中断来实现多任务之间的调度(3)用C 语言就可以打开和关闭中断(4)支持能够容纳一定量数据的硬件堆栈(5)有将堆栈指针和其他C P U 寄存器的内容读出并存储到堆栈或内
9、存中的指令进行任务调度时,首先将当前任务的C P U 寄存器存放到该任务的堆栈中,然后再从另一个新任务的堆栈中恢复其原来的寄存器的值,使之继续运行所以寄存器读出和存储到堆栈或内存中的指令不可少t y p e d e fs i g n e dc h a ri n t 8 s;t y p e d e fu n s i g n e ds h o r ti n t16 u;t y p e d e fs i g n e ds h o r ti n tl6 s;t y p e d e fu n s i g n e dl o n gi n t 3 2 u;t y p e d e fs i g n e dl
10、o n gi n t3 2 s;t y p e d e ff l o a tf p 3 2;t y p e d e fd o u b l ef p 6 4;宏:#d e f i n eO S E N T E R C R I T I C A I()#d e f i n eO S E X I T C R I T I C A l。()#d e f i n eO SS T KG R O W T H1定义堆栈方向:1 表示向下递减d e f i n eO S T A S K S W()3 2O SC P UC C 中O S T a s k s t k l n i t()的实现堆栈初始化函数O S T a
11、 s k s t k l n i t 在任务创建时被调用,作用是初始化任务的堆栈结构这样,堆栈看起来就像中断刚发生过一样,所有寄存器都保存2目标机一s 3 c 4 4 b o x 的资源在堆栈中堆栈的内容结构如图2 所示移植就是使一个实时内核能够在其他的微处理器或控制器上运行在系统移植之前,必须先了解目标机的硬件资源,然后根据特定的硬件编写相应的代码本文使用S a m S u n g 公司的s 3 c 4 4 b o x 作为目标机,它属于A R M T T D M I 系列,使用A R M 公司的1 6位a 2 位R I S C 结构,内核为A R M 7 T D M I,工作在6 6 M
12、H z 片上集成了以下部件:8 K C a c h e、外部存储器控制器、L C D 控制器、4 个D M A 通道、2 个U A R T、1 个多主1 2 C 总线控制器、1 个1 2 C 总线控制器,以及5 通道P W M 定时器和1 个内部定时器、8 通道1 2 位A D C 等,能够与常用外围设备实现无缝连接,功能强大3,c o s 一1 1 的移植步骤v c o s 一的移植工作主要是修改3 个与处理器相关的文件:C 语言头文件O S C P U H、C 语言源文件O S C P U C C 和汇编语言文件O S C P U A A S M 3 1O SC P U H 的移植O SC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 实时 操作系统 C_OS s3c44box 移植
限制150内