μC_OS-Ⅱ操作系统向ARM7开发平台的移植.pdf
《μC_OS-Ⅱ操作系统向ARM7开发平台的移植.pdf》由会员分享,可在线阅读,更多相关《μC_OS-Ⅱ操作系统向ARM7开发平台的移植.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京工业大学电控学院蒋路嚣I J L C o S-I I 操作系统向A R M 7开发平台的移植在越瑚工程开发中,为了实现功能复杂的资源复用,提高软件功能设计效率,简化开发难度,需要采用高性能的实时嵌入式操作系统心,o s 作为软件设计平台。因此,将u c o s 移植到删开发平台是一项难度极高但十分必要的工作。通常移植工作对开发人员有非常高的要求,开发人员不仅要熟练掌握嵌入式系统的开发模式和方法,而且还要对操作系统、处理器和硬件系统的特性有深入的认识和研究。心内S I I 移植工作已由作者独立完成,在实际应用后,证明岖加I s-工作十分稳定。移植的硬件平台采用高性能A R M 7 T D M
2、 I 内核的A T 9 1 m 4 0 8 0 0 嵌入式处理器,开发调试平台采用A R Ms D T 2 5 1,软件平台采用实时嵌入式操作系统u c o s I I。斗C o S I I 实时操作系统的结构及可移植性分析“C,o S I I j 粟作系统特点C o s I I 是一个高性能的嵌入式实时操作系统,是由多任务、多中断和高效实时内核组成的一个有机整体。应用系统在实时内核的统一管理下协调工作,能够高效地实现任务切换、任务调度、任务间通信、同步、互斥、实时时钟管理、中断管理等功能。为了提高系统的实时能力,“c o s I I 可以将一个复杂的应用划分为多个相互独立的任务,并根据任务的
3、重要性来分配优先级。每个任务拥有自己的堆栈空间,并且当前任务运行时独占c P u 资源。任务的调度完全由c o S-I I 的实时内核完成,主要包括任务的状态管理、选择最高优先权的任务、执行任务和撤消任务等。c o s-u 内核还负责c P u 时间分配,C P u 时间总是优先分配给中断事件,其次是任务队列中当前优先级最高的任务。不同任务间的通信可以通过“C o S 一提供的信号量、邮箱、消息队列等机制完成。作为一个优秀的实时操作系统,c,o s-I I 具有如下优点:可移植一绝大部分的u(湘I s-代码由A N s Ic 编写,只有和处理器相关的部分才使用汇编,这使得心,o S U 便于移
4、植l可裁减一如果只使用部分功能,可以通过条件编译来裁减u C o S I I 的代码;多任务一C o S-I I 可以管理6 4 个任务,目前系统保留了8 个,用户的应用程序最多可以有5 6 个任务。每个任务的优先级不同,这意味着“c o s 不支持时间片轮转调麓。囊囊蛰罄蠹譬。警豢纂麟 万方数据豳醒豳目静嚣涮嚣嚣瓣瓣搿裂瓣嚣鞲嚣蓊女戮|霪露器涔蠹黪謇露蓉|萋豢蒸霪孽囊篓荔囊豢嚣冀霪簧萋蒸嚣霪露嚣嚣l 薹 篓嚣餐霪篓冀鬈粼i 誊蘩墓|嚣|誊|=誊l 鬃疆馨黪蕈i 嚣|罄嚣l 嚣蕊羹嚣誉豢嚣静蘑螽藉露疆8 圉毯8霾曩l誓謦箨鬓鬟缵鞠一鬟l 瓣碧篓嚣爨霪誊黪黎|豢嚣器嚣鬻a 嚣$辔誊尊尊一表lA
5、R M 处理器的7 种运行模j描述处理器模式正常程序执行模式用户模式(u s r)正常程序执行模式用户模式(u s r)用于高速数据传输和通道处理快速中断模式(f i q)用于高速数据传输和通道处理快速中断模式(f i q)用于通常的中断处理外部中断模式(i r q)用于通常的中断处理外部中断模式(i r q)特权模式(s v c)供操作系统使用的一种保护模式数据访问中止模式(a b t)用于虚拟存储及存储保护未定义指令中止模式(u n d)用于支持通过软件仿真硬件的协处理器系统模式(s y s)用十运行特权级的操作系统任务耳可脂I-r 1,n aT T7 亡皆二仁 k 工田I r、,n Q
6、I I-点A 口 月e n T,)互1F 一圣一囊 万方数据叁,黧。鞭。黪s I 镬?蠢leINT 和添袋黼秘晒黼零n 1 灌i?,_ I _ _ l _ e 咎G 峪一I l 任务堆栈及任务切换誊删处理器模式及寄存器A R M 处理器共有7 种运行模式,如表l 所示。C o S I I 作为操作系统可以工作在s y s 模式和s v c 模式下。A R M 处理器共有3 1 个通用寄存器(包括程序计数器P c)和6 个状态寄存器(P s R),具体组成为:未备份寄存器R 0 趣7。在所有的处理器模式下指的都是同一个物理寄存器。备份寄存器R 8 球舵。每个寄存器对应两个不同的物理寄存器。R 1
7、 3 和R 4,每个寄存器对应6个不同的物理地址,u s r 模式和s y s 模式公用一个物理寄存器,其余每个模式有各自的R 1 3 和R 1 4。寄存器R 1 3 常用做栈指针(s p),R 1 4 存放函数或异常模式的返回地址。程序计数器R 1 5。当前程序状态寄存器(c P s R)和5 个备份程序状态寄存器(s P s R)。u C o S I I 任务堆栈“c o s I I 为每个任务建立堆栈,用于保存处理器的寄存器。其结构体定义为o s s T K【1 6】,保存处理器工作模式(s v c 模式)的R O R 1 2、R 1 4、c P S R和S P S R。u c o s
8、I I 在o S C P U _ C C 中由任务堆栈初始化。函数o s T a s k s t H n i t,需要将任务栈内的c P S R 和S P S R 设为s v c 模式。u C O S I I 的任务切换u c o S I I 的任务调度函数o s s h e d()获得当前就绪的优先级最高任务的T C B(任务控制块)指针,存入全局变量o S T C B H i 曲R d y,将当前任务的TcB 指针存入osTcB cur。然后调用函数o S J A s K s w()进行最底层的任务切换。o s c P u A s M s 内的任务切换函数o s T A s K s w()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C_OS 操作系统 ARM7 开发 平台 移植
限制150内