![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FreeRTOS
wuyuzun
知识无边,总结是岸!!!
展开
-
FreeRTOS List的结尾插入,中间插入,删除操作过程分析(3)
前言本博文基于FreeRTOSV9.0.0和COTEX-M3内核的文件;本博文针对列表和列表项相关操作的图文分析,涉及到一些基础的简单的东西就不多说了;如有错误之处还请多多指教;...原创 2019-07-29 21:33:34 · 783 阅读 · 0 评论 -
FreeRTOS笔记 __clz指令 (5)
前言:本博文只是简介__clz功能;__clz:Count Leading Zeros ,计算前导零指令;指令编码格式__clz指令返回操作数二进制编码中第一个1前0的个数。如果操作数为0,则指令返回32;如果操作数二进制编码第31位为1,指令返回0。功能:加入一个数为0x1FFF FFFF,则转换为2进制为 (0001 1111 1111 1111 1111 1111 1111...原创 2019-08-04 15:38:24 · 10252 阅读 · 1 评论 -
FreeRTOS 数据类型 (1)
前言本博文基于MDK,FreeRTOSV9.0.0库为例,参考野火教程编写,算是对野火教程的一个提炼总结笔记;根据我的个人理解,下文中出现的单词port翻译为端口,接口,但是我认为理解为CPU架构更容易理解;如有不足之处还请多多指教;数据类型的重定义重定义的目的: 为了适应不同的编译环境和处理器(同一个数据类型在不同的编译器和CPU架构里的位数大小可能不同);具体实现: 在Free...原创 2019-07-27 23:25:25 · 645 阅读 · 1 评论 -
FreeRTOS 变量名,函数名,宏的命名规则(2)
前言内容均来自野火相关书籍,写博客是为了方便查看;博客内容并不完善,慢慢补充;函数名:包含函数返回值的类型、 函数所在的文件名和函数的功能例:vTaskPrioritySet()函数的返回值为 void 型, 在 task.c 这个文件中定义。xQueueReceive()函数的返回值为 portBASE_TYPE 型, 在 queue.c 这个文件中定义。vSemaphore...转载 2019-07-27 23:51:08 · 567 阅读 · 0 评论 -
FreeRTOS 任务的创建 (4)
前言本博文基于FreeRTOS V9.0.0和MDK环境;本博文属于野火学习笔记,如有不足之处还请多多指教;任务的大三元素先说几个基本概念:任务: 相当于裸机大循环系统中的每个独立功能;例如LED和USART功能都可以作为一个单独的任务来说;任务和逻辑的区别: 裸机是顺序执行来完成总任务,而RTOS是通过任务的切换来完成;①:任务函数 (独立函数,无限循环)任务函数是最终实现功...原创 2019-08-02 11:07:44 · 223 阅读 · 0 评论 -
FreeRTOS vTasDelete() 函数执行流程 (6)
前言本博文基于MDK5和FreeRTOS V9.0.0开发,相当于一个笔记;本博文假设函数的建立和删除都在动态内存环境下进行(configSUPPORT_DYNAMIC_ALLOCATION == 1且 configSUPPORT_STATIC_ALLOCATION == 0);如有不足之处,还请多多指教;vTasDelete() 任务删除函数attention: 删除与建立相对立,...原创 2019-08-09 11:46:46 · 342 阅读 · 0 评论 -
STM32中断挂起和RTOS任务挂起的区别
中断挂起可以理解为:将中断设置为就绪状态,一旦符合条件,立即执行中断并进入中断函数;比如A和B的抢占优先级相同,A的响应优先级高于B,那么当产生A和B中断的事件发生时,先执行A,并同时将B挂起,一旦A执行完毕,立即执行B。RTOS的任务挂起以FreeROTS为例,因为某些原因不能立即执行的任务,可以将其挂起,这个挂起使得任务暂时无法参与任务调度。只有将任务唤醒之后才能继续参与;...原创 2019-09-08 09:51:39 · 1329 阅读 · 0 评论 -
STM32 程序卡死在启动文件startup_stm32fxxxx.s的SysTick_Handler中
出现的问题硬件调试的时候发现程序一直在启动文件下面箭头这行。显然是跟SysTick_Handler有关由于我使用了FreeRTOS,所以需要SysTick为系统时基单元,所以需要SysTick_Handler,但是我却没有定义此中断函数,所以导致上面的程序一直进入不了以SysTick_handler命名的中断函数;填上就好了;解决问题添加SysTick_Handler函数:...原创 2019-09-09 08:30:54 · 5413 阅读 · 2 评论