- 1
- 0
- 约3.99千字
- 约 22页
- 2021-01-03 发布于天津
- 举报
《嵌入式实时操作系统原理与实践》 嵌入式实时操作系统 μC/OS原理与实践 教材:嵌入式实时操作系统 μC/OS 原理与实践 电子工业出版社 luyl@ 作者卢有亮 图书 PPT 和全部代码下载 /15441 第 7 章 移植 ? 7.1 移植说明 ? 7.2 在 VC6 上实现基于 Windows 的虚拟 μC/OS -II 移植 ? 7.3 在基于 NIOS 软核的 FPGA 嵌入式系统下 的 μC/OS -II 移植 ? 习题 7.1 移植说明 μC/OS -II 作为嵌入式实时操作系统,最终要应用在嵌入式系统上,如单片 机、 ARM 、 FPGA 、 DSP 等。本章中首先给出的就是说明如何移植到虚拟 WINDOWS 平台。接下来就是在一个实际的嵌入式系统,基于软核的 FPGA 系统下的移植。在掌握了这两个平台的移植后,移植到其他的平台 都是不难实现。 7.1.1 μC/OS -II 的代码结构 与 CPU 无关的代码 操作系统配置文件 os_config.h 操作系统头文件 内核代码 任务管理 时间管理 信号量管理 互斥信号量管理 消息邮箱管理 消息队列管理 事件标志组管理 内存管理 定时器管理 ucos_ii.h os_core.c os_task.c os_time.c os_sem.c os_mutex.c os_mbox.c os_q.c os_flag.c os_mem.c os_tmr.c 与 CPU 相关的代码 处理器相关头文件 处理器相关 C 代码 处理器相关汇编代码 os_cpu.h os_cpu.c os_cpu_a.asm 移植必看的重要代码: 1. 操作系统配置文件 os_config.h 2. 操作系统头文件 ucos_ii.h 3. 操作系统内核 C 文件 4. 与 CPU 相关代码部分 7.1.2 操作系统中与 CPU 相关的代码解析 头文件 os_cpu.h 表 7.2os_cpu.h 定义的数据类型 表 7.3 os_cpu.h 除类型定义外的其他代码示例 进入临界区有三种方法 : 方法 1 :定义一个全局变量 FlagEn ,进入临界区时中断服务程序判定该值 为 0 ,就不进行中断服务。离开临界区时将 FlagEn 置 1 。这种方法只在虚拟 平台上使用时使用。其缺点是不能进行中断嵌套。 方法 2 : OS_ENTER_CRITICAL() 时将 CPU 状态寄存器(如 PSW )入栈, 关中断,定时器中断被禁止。 OS_EXIT_CRITICAL() 时退栈即可恢复 CPU 状态寄存器的值,这样中断也恢复到了原来的状态。 方法 3 : OS_ENTER_CRITICAL() 时将 CPU 状态寄存器(如 PSW )的值保 存到局部变量,关中断,定时器中断被禁止。 OS_EXIT_CRITICAL() 时从 局部变量恢复 CPU 状态寄存器的值,这样中断也恢复到了原来的状态。这 需要编译器支持处理状态寄存器的值的函数。 包含汇编的 C 文件 os_cpu.c 1.OSTaskStkInit 是由 OSTaskCreate 或 OSTaskCreateExt 在创建任务的时 2.OSStartHighRdy 在多任务启动函数 OSStart 中被调用。这时候没有任务 3.OSCtxSw 是非中断处理情况下的任务切换函数。它在任务被阻塞、删除、 4. OSIntCtxSw 是中断处理情况下的任务切换函数。例如系统的每 10 毫秒进 候,在对控制块进行初始化之前,对任务堆栈进行初始化时调用。它实现 5. 用户时钟中断服务程序 OSTickISRuser 。用户时钟中断服务程序也就是时 在运行, OSStartHighRdy 开始启动多任务。在 OSStartHighRdy 运行前, 创建等多种情况下被调用。直接调用它的函数就是 OS_Sched 。 行时钟中断,那么都要使用它进行任务切换。因为在中断产生后,所以 的功能是将任务参数地址、任务函数入口地址、各 CPU 寄存器地址压入任 钟节拍服务程序,是系统的心脏跳动。 指向优先级最高的就绪任务的 OSStart 已将任务控制块指针 OSTCBCur TCB , PSW 、 CS 、 IP ( 80x86 )已经被压入了堆栈 ( 在其他硬件环境下应是不同的 务堆栈。需要注意的是,虽然这时候任务还没有运行过,不需要保存当前 OSStartHighRdy 首先将 OSR
您可能关注的文档
- 学前卫生学-常见病及急救.ppt
- 学习的社会认知观和建构主义观.ppt
- 学校甲型hn流感防控.ppt
- 学校传染病预防控制9.ppt
- 宁波公司年固定资产投资计划编制报告v.ppt
- 学生的社会学分析.ppt
- 安全管理-事故应急管理体系.ppt
- 安全管理-事故应急预案编制.ppt
- 安全管理-安全管理学的理论基础.ppt
- 安全管理-安全管理的形成和发展.ppt
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 辽宁省 新民县志.pdf
- 2026年上海市奉贤区高三语文一模试题及答案.pdf VIP
- 夏季高温施工专项方案.doc VIP
- 第五届大学生节能减排大赛社会调查报告类作品.doc VIP
- TCCSAS 061-2025 特殊作业监护人履责管理要求.pdf VIP
- (一模)东北三省三校2026年高三第一次联合模拟考试 生物试卷(含答案).docx
- 2025年广东省深圳市中考数学试卷(附参考答案).pdf VIP
- (一模)东北三省三校2026年高三第一次联合模拟考试 化学试卷(含答案).pdf
- 【雷赛】DMC1000&B用户手册V2.1.pdf VIP
- (一模)东北三省三校2026年高三第一次联合模拟考试 物理试卷(含答案详解).pdf
原创力文档

文档评论(0)