嵌入式:UCOS移植+简单创建任务

简介: 嵌入式:UCOS移植+简单创建任务

一、UCOS操作系统

µC/OS Micrium 公司出品的实时操作系统, µC/OS 目前有两个版本: µC/OS-II µC/OS-IIIµC/OS 是一种基于优先级抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。 µC /OS 是一个完整的、可移植、可固化、可裁剪的抢占式实时多任务内核µC/OS 绝大部分的代码是用 ANSII C 语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。

注意:在移植之前,得先有一个建立不带STemwin GUI的工程

µC-CPU:这是和 CPU 紧密相关的文件,我们不需要使用。

µC-LIBMicrium 公司提供的官方库文件,如字符串操作、内存操作等函数接口,可用可不用。

µCOS-II:这是源码的关键目录文件,我们接下来要详细分析的文件,跟移植、使用密切相关的。

µC-SerialµC/OS-II 接口文件文件。

这个是os配置文件,我们也要移植,复制;

先复制到我们移植的文件一起

复制整个文件到我们的工程

打开工程,添加路径

添加ucos源文件进入工程

添加cpu源文件进入工程

编译工程:第一个错误修改

没用到的,注释掉就可以了

第二个错误:

没用都,注释掉

第三个错误:

注释掉:

第四个错误:

钩子控制调用函数:这些函数没有定义使用

修改钩子宏定义的值为0

第五个错误

注释掉即可

修改为我们的系统滴答初始化函数

复制

修改后

修改中断服务函数

注意:在汇编驱动文件内,是使用;分号进行注释代码的

初始化UCOS

初始化ucos要使用systick

调用ucos初始化函数

三、UCOS任务创建

验证工程是否成功--打开任务创建源文件,找到任务创建函数,如下:

编写创建任务函数的第一个参数:也就是我们要执行的任务

 


相关文章
|
缓存 Java C语言
嵌入式 LVGL移植到STM32F4
嵌入式 LVGL移植到STM32F4
|
7月前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
261 0
|
Linux 图形学 Windows
嵌入式课程实现Linux操作系统LVGL移植操作
嵌入式课程实现Linux操作系统LVGL移植操作
|
Linux
linux嵌入式移植部分配置
linux嵌入式移植部分配置
118 0
|
缓存 Linux 开发工具
ARM嵌入式学习笔记——Linux字符设备驱动程序设计(三)
ARM嵌入式学习笔记——Linux字符设备驱动程序设计
203 0
|
缓存 Linux
ARM嵌入式学习笔记——Linux字符设备驱动程序设计(二)
ARM嵌入式学习笔记——Linux字符设备驱动程序设计
145 0
|
传感器 网络协议 Linux
ARM嵌入式学习笔记——Linux字符设备驱动程序设计(一)
ARM嵌入式学习笔记——Linux字符设备驱动程序设计
189 0
嵌入式实践教程--设备树下的LED驱动开发
嵌入式实践教程--设备树下的LED驱动开发
嵌入式实践教程--设备树下的LED驱动开发
|
传感器 Linux 芯片
嵌入式实践教程--【Linux驱动】Linux驱动开发基于Linux4.0+(六)I2C总线驱动
嵌入式实践教程--【Linux驱动】Linux驱动开发基于Linux4.0+(六)I2C总线驱动
|
Java Linux 程序员
移植之乱谈
昨天有一个博友回复,说他已经完成了android系统在windows上的移植,其中比较难的是binder系统的移植。下面是两个demo网址,我看了后倍有感触。 http://v.youku.com/v_show/id_XMzIwMDkxOTQ4.htmlhttp://v.youku.com/v_show/id_XMzIwNzI2NTg4.html 这才是真正有技术含量的移植啊! 从做android开始,听到的最多的就是移植+merge了。
1041 0