
UCOSii
不当大白菜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ucosII学习之消息队列
ANSI C中,malloc和free有自己的缺陷:1.内存碎片;2.运行时间不能确定。ucosii的内存管理方法:将内存设置成分区,每个分区有若干个块,申请内存时,从分区中取出若干个块,施放时将这些块放回原分区。 OSMemCreate() 建立一个分区,与malloc类似,需要先申请一个空指针,再将这个空指针作为参数,除此之外还有分区中块的大小和分区中块的数量;函数调用位置在OSInit()...原创 2020-01-12 16:13:51 · 859 阅读 · 0 评论 -
ucosII学习之时间管理
OS_Time.c OSTimeDly() 这个函数延时的时间长度是规定好的时钟节拍长度; OSTimeDlyHMSM() 延时的时间可以精确到ms;但是要注意延时的换算节拍数目不能超过65535,否则不能恢复; OSTimeDlyResume() 恢复正在延时中的任务,参数是优先级(任务ID);正在等待资源(比如等待互斥量,消息队列、消息邮箱)而挂起的任务可以被认为是延时超时而被这个函数恢复,...原创 2020-01-10 22:49:50 · 230 阅读 · 0 评论 -
ucosII学习之任务管理
OS_TASK.c OSTaskCreat 在进行任务调度之前(OSStatr())需要至少建立一个任务;任务不能在ISR中建立;四个参数:代码指针,参数指针,任务栈栈顶指针,优先级;此函数向下兼容。 OSTaskCreatExt 这个函数是上面函数的附加,也就意味着调用这个函数会耗费更多的资源;多了一些参数,栈有关的用于任务栈校验;opt参数的选在ucos_II.h中,如果任务需要进行浮点运算...原创 2020-01-10 21:57:57 · 216 阅读 · 0 评论 -
ucosII学习之内核结构
ucosII中理论上可以有64个任务,但是优先级0-3和61-64不能使用,所以可以使用的优先级有56个; os的5种状态:睡眠(没有交给系统管理的任务或者已经被删除的任务)、就绪(调用创建函数后的任务)、运行(osstart())、等待(延时的任务或者等待事件发生而挂起的任务)、中断状态; 任务控制块OS_TCB:一个结构体,任务创建的时候初始化主要配置一些如堆栈的任务基本参数;代码中存在一个...原创 2020-01-08 23:47:48 · 174 阅读 · 0 评论 -
DSP28335移植ucosii
在https://www.micrium.com/ 中,存在一个已经移植好的28335工程。但是只是实现一些简单的功能,缺乏如寄存器、中断向量表等底层实现。 本博客的目的就是讲原先的裸机工程移植到ucosii工程上,实现ADC中断上下文。 cmd文件移植 CMD文件的作用就像仓库的货物摆放记录一样,为程序代码和数据分配指定的空间。 C语言生成的段大致分为两大类:初始化和未初始化,已初始化的段含有真...原创 2020-01-04 23:09:08 · 4286 阅读 · 1 评论