深入实践ucos-ii
文章平均质量分 91
带领新手深入理解ucos-ii操作系统,侧重讲解ucos-ii的任务切换机制,同时列举ucos-ii的任务调度、消息邮箱、队列、互斥锁、信号量、内存管理、时间管理等等示例代码,帮助需要者掌握ucos-ii。
arvik
嵌入式
展开
-
【深入实践ucos-ii】任务管理函数
创建任务ucos-ii使用OSTaskCreate()和OSTaskCreateExt()来创建新任务。 OSTaskCreate()函数声明如下:INT8U OSTaskCreate(void(*task)(void *p_arg), void *p_arg, OS_STK *ptos, INT8U prio);参数说明: void(*task)(void *p_arg)原创 2016-02-12 13:58:11 · 9905 阅读 · 2 评论 -
【深入实践ucos-ii】任务属性
C语言可执行代码结构总共5个在没有调到内存运行前有3个代码段:存放CPU执行的机器指令。数据段:该段包含了在程序中明确被初始化的全局变量,静态变量(包括全局静态变量和局部静态变量)和常量数据。BSS段:亦称未初始化的数据段,该段存放的是全局未初始化变量,静态未初始化变量。运行时除了以上还有额外2个栈段(stack):存放函数的参数值,局部变量值,以及在进行任务切换时存储当前任务的上下文内容。堆段(h原创 2016-02-10 12:46:57 · 9524 阅读 · 0 评论 -
【深入实践ucos-ii】上下文切换机理
问题引入上一篇博客给出了第一个ucos-ii的例程,再来看看两个任务程序代码:/* App1Task */void App1Task(void *p_arg){ p_arg = p_arg; while(1) { printf("this is App1task!\n"); OSTimeDlyHMSM(0, 0, 3, 0); /原创 2016-02-10 12:54:48 · 10125 阅读 · 0 评论 -
【深入实践ucos-ii】第一个示例程序代码
本篇博客演示了ucos-ii的第一个示例程序代码,代码简单易懂,意在带领读者快速实战ucos-ii编程。很多同学玩过单片机,单片机在裸机环境下,一般是一个main函数,里面有个大while循环,然后程序就在这个大while中循环执行。在这个代码中你将会看到,两个大while循环“同时”执行。这种运行已经不同于我们单片机下程序简单的裸跑了。且看如下代码:/****************原创 2016-02-09 22:37:38 · 14537 阅读 · 0 评论 -
【深入实践ucos-ii】开篇
从开始学ucos-ii到现在已然4个年头过去,从当初对C语言指针都把握不好的大学僧到现在玩转C语言编程(你可能觉得我吹嘘,如果你非要认为能够轻松写出像linux内核那样面向对象的架构才能算是玩转,那么你的确实要求有点高了)到现在从事一些linux内核编程。几年的时光,我对ucos-ii这个嵌入式实时操作系统运用可谓游刃有余。学linux编程已经接近两个年头了,现在再回首讲解ucos-ii,可谓是站原创 2016-02-09 22:36:25 · 11588 阅读 · 0 评论