资料介绍
在嵌入式操作系统领域,由Jean J. Labrosse开发的μC/OS,由于开放源代码和强大而稳定的功能,曾经一度在嵌入式系统领域引起强烈反响。而其本人也早已成为了嵌入式系统会议(美国)的顾问委员会的成员。
不管是对于初学者,还是有经验的工程师,μC/OS开放源代码的方式使其不但知其然,还知其所以然。通过对于系统内部结构的深入了解,能更加方便地进行开发和调试;并且在这种条件下,完全可以按照设计要求进行合理的裁减、扩充、配置和移植。通常,购买RTOS往往需要一大笔资金,使得一般的学习者望而却步;而μC/OS对于学校研究完全免费,只有在应用于盈利项目时才需要支付少量的版权费,特别适合一般使用者的学习、研究和开发。自1992第1版问世以来,已有成千上万的开发者把它成功地应用于各种系统,安全性和稳定性已经得到认证,现已经通过美国FAA认证。
1 μC/OS-II的几大组成部分
μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。
核心部分(OSCore.c) 是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。
任务处理部分(OSTask.c) 任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。
时钟部分(OSTime.c) μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。
任务同步和通信部分 为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。
与CPU的接口部分 是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。
2 对于MSP430的中断处理
2.1 函数调用和中断调用的操作
MSP430最常使用的C编译器应该就是IAR Embedd-ed WorkBench。对于这一编译器来说,通过分析和研究,发现它有以下规律。
(1)函数调用
如果是函数级调用,编译器会在函数调用时先把当前函数PC压栈,然后调用函数,PC值改变。
如果被调用的函数带有参数,那么,编译器按照以下的规则进行。
最左边的两个参数如果不是struct(结构体)或者union(联合体),将被赋值到寄存器,否则将被压栈。函数剩下的参数都将被压栈。根据最左边的那两个参数的类型,分别赋值给R12(对于32位类型赋值给R12:R13)和R14(对于32位类型赋值给R14:R15)。

不管是对于初学者,还是有经验的工程师,μC/OS开放源代码的方式使其不但知其然,还知其所以然。通过对于系统内部结构的深入了解,能更加方便地进行开发和调试;并且在这种条件下,完全可以按照设计要求进行合理的裁减、扩充、配置和移植。通常,购买RTOS往往需要一大笔资金,使得一般的学习者望而却步;而μC/OS对于学校研究完全免费,只有在应用于盈利项目时才需要支付少量的版权费,特别适合一般使用者的学习、研究和开发。自1992第1版问世以来,已有成千上万的开发者把它成功地应用于各种系统,安全性和稳定性已经得到认证,现已经通过美国FAA认证。
1 μC/OS-II的几大组成部分
μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。
核心部分(OSCore.c) 是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。
任务处理部分(OSTask.c) 任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。
时钟部分(OSTime.c) μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。
任务同步和通信部分 为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。
与CPU的接口部分 是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。
2 对于MSP430的中断处理
2.1 函数调用和中断调用的操作
MSP430最常使用的C编译器应该就是IAR Embedd-ed WorkBench。对于这一编译器来说,通过分析和研究,发现它有以下规律。
(1)函数调用
如果是函数级调用,编译器会在函数调用时先把当前函数PC压栈,然后调用函数,PC值改变。
如果被调用的函数带有参数,那么,编译器按照以下的规则进行。
最左边的两个参数如果不是struct(结构体)或者union(联合体),将被赋值到寄存器,否则将被压栈。函数剩下的参数都将被压栈。根据最左边的那两个参数的类型,分别赋值给R12(对于32位类型赋值给R12:R13)和R14(对于32位类型赋值给R14:R15)。

下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 优化MSP430上用于uC/OS-II的内存
- μC/OS-II的多任务系统实时性解析 2次下载
- 一种μC/OS-II任务调度硬件指令的实现 2次下载
- uC/OS-II 应用程序基本结构及重要的API介绍 2次下载
- 基于UC_OS-II的腹腔灌注热化疗仪的优化设计
- 基于ARM Cortex-M3的μCOS-II任务调度硬件指令实现 270次下载
- 基于MCF5213和uC/OS-II的低成本Zigbee无线
- 基于μC/OS-II的无线调度策略分析与实现
- 基于uc/os-ii 的嵌入式GUI研究与应用
- uC/OS-II 在C8051F020 单片机上的移植
- 基于uC/OS-II的齿轮流量计二次仪表的设计
- μC/OS_Ⅱ中任务切换机理及中断调度技术研究
- μC OS-II 中扩充任务数的方法
- μC/OS-II 任务调度机制的改进
- The uC/OS-II port for Keil C V
- 基于单片机和μC/0S-II内核实现串口通信模块的设计 1811次阅读
- 基于实时嵌入式操作系统mC/OS-II实现GPRS终端系统的设计 2408次阅读
- 基于AT91R40008芯片和μC/OS-II实现EPA交换机的设计 3754次阅读
- 基于嵌入式工控模块和μC/OS-II实现车载状态监控系统的设计 2064次阅读
- 基于μC/OS-II操作系统实现在P89V51RD2微控制器上运行 810次阅读
- 基于μC/OS-II操作系统在SPCE061A上的移植优化研研究 850次阅读
- 51单片机对μC/OS-II实时操作系统的移植 2507次阅读
- 浅论uC/OS-II 在电动车电池管理系统中的应用研究 1437次阅读
- μC/OS-II系统基础嵌入式开发编程教程 4547次阅读
- LPC2119简介 μC/OS-II在LPC2119上的移植 2847次阅读
- 车辆调度系统的整体设计 UC/OS-II的内核调度机理 1207次阅读
- 基于LPC2365和嵌入式μC/OS-II下的多串口通信编程方法教程 2191次阅读
- uC/OS-II应用的介绍和多任务实现机制分析 2457次阅读
- 嵌入式设备设计的内核uc/os-ii api使用手册大全 4323次阅读
- 用AndesCore N1033A-S处理器实现μC/OS-II的移植 4140次阅读
下载排行
本周
- 1如何看懂电子电路图
- 12.88 MB | 114次下载 | 免费
- 2RK3588数据手册
- 2.24 MB | 4次下载 | 免费
- 3RM1015B设计指南
- 1.85 MB | 2次下载 | 免费
- 418 路触按和PWM增强型 RISC MCU RM1211A数据手册
- 8.40 MB | 1次下载 | 免费
- 5压力传感器 RM1308F数据手册
- 0.71 MB | 1次下载 | 免费
- 6PC0310 高亮度恒流LED驱动控制电路数据手册
- 0.54 MB | 1次下载 | 免费
- 7AD设计DDR3时等长设计技巧
- 0.89 MB | 0次下载 | 3 积分
- 8AET3156AP 增强型P沟道增强型MOSFET,替代数据手册
- 1.07 MB | 次下载 | 免费
本月
- 1常用电子元器件集锦
- 1.72 MB | 24497次下载 | 免费
- 2如何看懂电子电路图
- 12.88 MB | 114次下载 | 免费
- 3PC2456高压浪涌抑制器控制器数据手册
- 3.03 MB | 14次下载 | 免费
- 4EMC电路设计工程师必备的EMC基础
- 0.42 MB | 10次下载 | 2 积分
- 5ssd1306单片 CMOS OLED/PLED 驱动芯片中文手册
- 1.66 MB | 10次下载 | 1 积分
- 6PC2464具理想二极管的浪涌抑制控制器数据手册
- 4.42 MB | 9次下载 | 免费
- 7PC2466高电压浪涌抑制器数据手册
- 3.37 MB | 8次下载 | 免费
- 8ESP32开发板元件资料
- 0.03 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935132次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191409次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183345次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81593次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73818次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65990次下载 | 10 积分
评论