μC/OS-Ⅱ的大部分代码是用ANSIC写成的,在对μC/OS-Ⅱ进行移植到不同处理器平台时,需要解决的主要问题有:数据类型的重定义、堆栈结构的设计和任务切换时的状态保存与恢复。在μC/OS-Ⅱ移植过程中涉及以上三个问题的代码都有包含在文件OS_CPU.H、OS_CPU_C.C、OS_CPU_A.S中。下面以μC /OS-Ⅱ在LPC2104上的移植为例进行探讨,介绍移植过程中的主要步骤和需要修改的部分。

OS_CPU.H
主要包括了数据类型、堆栈单位、堆栈增长方向、关中断和开中断的宏以及进行任务切换的等宏定义。

OS_CPU_C.C
在OS_CPU_C.C文件中需要用C语言编写6个与操作系统相关的函数:
OSTaskStklnit();
OSSTaskCreateHook();
OSTaskDelHook();
OSTaskSwHook();
OSTaskStatHook();
OSTimeTickHook()。
其中OSTaskStkInit()务堆栈初始化函数,后5个函数称为功能扩展函数。

OS_CPU_A.S
这部分需要对处理器的寄存器进行操作,所以必须用汇编语言来编写,在该文件中用ARM指令编写了和3个与处理器相关的函数:
OSStartHighRdy()最高优先级任务调用函数;
OSCtxsw()任务切换函数;
OSIntCtxSw()中断任务切换函数

μC/OS-Ⅱ的移植相关推荐

  1. 【第3版emWin教程】第8章 emWin6.x的带OS方式移植(STM32H7之RGB接口)

    教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第8章   emWin6.x的带OS方式移植(STM32H7之R ...

  2. -uc/OS系统移植(基于STM32F103C8T6,超详细讲解)

    完成STM32F103C8基于HAL库的-uc/OS系统移植 一.创建HAL库 二.下载uc/OSIII源码及移植准备 1.下载uc/OSIII源码 2.将uc/OS源码文件复制到工程 三.将uc/O ...

  3. T2080 U-BOOT与OS内核移植 准备篇(二)——开发调试环境入门(Trace32、QorIQ Linux SDK和QCVS)

    T2080 U-BOOT与OS内核移植 准备篇(二)--开发调试环境入门(Trace32.QorIQ Linux SDK和QCVS) 一.Trace32 1. 工具配置和软件安装 2. 使用PRACT ...

  4. T2080 U-BOOT与OS内核移植 u-boot移植篇(一)——创建新目标板的u-boot工程

    T2080 U-BOOT与OS内核移植 u-boot移植篇(一)--创建新目标板的u-boot工程 一.创建新目标板文件夹并修改相应文件 1.创建新目标板文件夹 2.修改t2080tpm文件夹中的相应 ...

  5. T2080 U-BOOT与OS内核移植 准备篇(一)——开发调试环境简介

    T2080 U-BOOT与OS内核移植 准备篇(一)--开发调试环境简介 1.本项目选择的工具 2.几个常用工具简介 2.1 Trace32 2.2 Code Warrior 2.3 QorIQ Li ...

  6. STM32F103-uc/OS系统移植

    目录 前言 一.获取uc/OS-III源码 二.项目导入文件夹 2.1文件的整理 2.2导入源码 2.3STM32CubeMX创建框架 ​ ​ 三.添加代码 3.1将源码文件复制到指定文件夹下 ​ 3 ...

  7. 基于STM32的uc/OS系统移植及用Saleae Logic 16抓取分析波形

    文章目录 一.关于uc/OS系统 1.操作系统与裸机的区别 2.uc/OS运行流程 二.详细移植过程 1.STM32Cubex创建工程 2.为工程添加源码 3.添加头文件路径 4.添加代码 1)bsp ...

  8. 腾讯 tiny os shell移植

    默认你已经调通tos,如果没有请移步官网 准备好要移植的文件 需要把shell文件夹下c和h文件加入到工程中(不会的请自行搜索) 因为是需要串口进行接收,需要用过平台调用st的库 调用 调用 shel ...

  9. 怎样把电脑换linux系统软件,如何将OS/2应用程序移植到Linux操作系统 -电脑资料...

    当从 OS/2 移植到 Linux 时,关键的编程问题是什么? 在转换到 Linux 之前注意一下,提早发现陷阱, 本文是 LAN Distributed Platform(LANDP)for Lin ...

  10. STM32F103C8T6移植uc/OS

    STM32F103C8T6移植uc/OS STM32F103C8T6移植uc/OS STM32F103C8T6移植uc/OS 一.题目要求 二.使用STM32CubeMX建立HAL库 三.准备uCOS ...

最新文章

  1. DotNetNuke CSS hierarchy
  2. grenndao 插入表数据报错
  3. Loj#6247-九个太阳【单位根反演】
  4. 六级核心词汇pdf_人民日报总结的500个四六级【核心词汇】,祝你一次必过!
  5. 运维人员如何最大限度避免误删除文件
  6. Docker监控:基于阿里云容器服务构建自己的Docker监控框架
  7. python基础编程练习题_Python随笔18:Python基础编程练习题1~2
  8. delphi和python比较_Python For Delphi---更好地协同
  9. 华中科技大学2005年计算机组成原理试题,华中科技大学200年计算机组成原理考研试题.doc...
  10. 认真学习系列:数据结构与算法——慕课网笔记
  11. ios 配置java环境变量_Ios 入门 ----基本的控件
  12. js TextArea获取光标详解说明与实例
  13. 群晖服务器自动同步到本地电脑,安装群晖Drive,实现多台电脑文件同步
  14. tomcat 如何查看tomcat版本及位数
  15. 基于MATLA的图像复原系统
  16. 每日一Tip:Jetbrains旗下集成环境(pycharm、IDEA等)使用Ctrl +鼠标滚轮上下滑放大缩小快捷键设置
  17. android缩放组件,Android控件实现图片缩放功能
  18. Spark SQL 内置函数(五)Aggregate Functions(基于 Spark 3.2.0)
  19. 安全漏洞修复-Common FileUpload-CVE-2016-100031
  20. PX4代码学习系列博客(5)——在px4中添加自己的模块

热门文章

  1. php小程序群发通知,小程序实现群发功能代码的实现
  2. powerdesigner奇淫技
  3. ODS(Operational Data Store)定义
  4. 在C++中反射调用.NET(二)
  5. 本机Ajax异步通信
  6. web.xml配置(转)
  7. silverlight: [HtmlPage_NotEnabled] 调试资料字符串不可用的解决
  8. jquery 清空表单
  9. 创建、部署和卸载SharePoint工作流解决方案包(WSP)
  10. 计算机风扇维修,教你简单修理电脑散热风扇