
FreeRTOS
文章平均质量分 90
FreeRTOS代码分析
田园诗人之园
我是一位平凡的诗人,也是一位平凡的工程师。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FreeRTOS-RP2040关键汇编函数解释
https://www.freertos.org/原创 2025-07-24 23:57:21 · 404 阅读 · 2 评论 -
FreeRTOS之链表关键数据结构和函数操作接口-2
中用于定位插入位置(在索引指针的前一个位置插入,使新节点成为 “最后一个将被移除的节点”)中用于定位插入位置(在索引指针的前一个位置插入,使新节点成为 “最后一个将被移除的节点”),遍历链表找到合适的插入位置,从链表的哨兵节点(xListEnd)开始遍历。,直接插入到链表尾节点(xListEnd)的前面,作为迭代器的起始节点。,记录新节点所属的链表,便于后续操作中快速定位节点所在的链表。,新节点的下一个节点指向迭代器的下一个节点。,新节点的下一个节点的前一个节点指向新节点。:指向要插入节点的目标链表,原创 2025-07-15 21:13:05 · 341 阅读 · 0 评论 -
FreeRTOS之链表关键数据结构和函数操作接口-1
这个结构体是 FreeRTOS 内核中用于管理链表的核心数据结构xLIST。链表在 FreeRTOS 中被广泛用于任务调度、事件管理、资源分配等场景(如就绪任务链表、延时任务链表、信号量等待链表等)。原创 2025-07-15 00:00:38 · 355 阅读 · 0 评论 -
FreeRTOS之ARM CR5栈结构操作示意图
下面以FreeRTOS源码中arm cortex-r5处理器的栈处理为例来介绍栈结构操作前后变化。原创 2024-12-03 20:09:21 · 686 阅读 · 0 评论 -
FreeRTOS之vTaskStartScheduler实现分析
vTaskStartScheduler原创 2024-11-27 23:06:42 · 1170 阅读 · 4 评论 -
FreeRTOS之vTaskDelete实现分析
TaskHandle_t xTaskToDelete 要删除任务的句柄,但这个句柄其实就是我们申请任务时创建的TCB,这个参数在传入的时候可以设置为NULL,表示要删除的是自己当前的任务。原创 2024-11-22 23:33:49 · 673 阅读 · 0 评论 -
FreeRTOS之xTaskCreate实现分析
TaskFunction_t pxTaskCode 任务的处理函数const char * const pcName 任务的名字const configSTACK_DEPTH_TYPE uxStackDepth 当前任务栈的大小,栈的实际大小为uxStackDepth * sizeof(StackType_t)void * const pvParameters 传入到任务处理函数的参数UBaseType_t uxPriority 当前任务的优先级。原创 2024-11-21 23:58:53 · 832 阅读 · 1 评论 -
nuttx app添加自己的小应用程序
nuttx想要添加自己写的一些小应用非常方便,具体的步骤如下:1,在apps/examples/目录下添加自己的目录。2,添加Kconfig, Makefile, Make.defs, 以及应用的源文件。3,通过build.sh menuconfig去选择自己添加的app即可。4,将编译好的版本下载到板子中,在nuttx shell试图下执行?回车即可看到自己添加的小应用。在shell下输入自己添加的小应用的名字回车既可运行程序。首先我们如果想添加一些自己的小程序需要在apps/examples/原创 2020-06-25 10:31:50 · 1290 阅读 · 0 评论 -
nuttx link script
1, .text, .bss, .data, .rodata, stack and heap.text code.data global and static init variable, 即占文件空间,又占用运行时内存空间的.bss uninit global and static variable只占运行时的内存空间,而不占文件空间.rodata const dataStack local variable and paramHeap malloc2,MEMORY{ flash原创 2020-06-11 08:39:06 · 377 阅读 · 0 评论 -
nuttx enter_critical_section
When we call a function like nxsig_timeout, it will first call the funtion enter_critical_section, then callup_unblock_task, but up_unblock_task will triger a ecall irq, After finish it’s handlation, will callleave_critical_section leave the function nxs原创 2020-06-09 20:21:15 · 525 阅读 · 0 评论 -
nuttx watchdog理解
首先是wd_start函数,调用该函数是为了设置一个watchdog定时器。/**************************************************************************** * Public Functions ****************************************************************************//**************************************原创 2020-06-20 00:57:20 · 1049 阅读 · 0 评论 -
Real-Time Embedded Multithreading--Using ThreadX & ARM-MEMORY MANAGEMENT: Block Pools
Summary of Memory Block PoolsAllocating memory in a fast and deterministic manner is essential in real-time applications.This is made possible by creating and managing multiple pools of fixed-size m...原创 2019-08-19 17:29:22 · 502 阅读 · 1 评论 -
Real-Time Embedded Multithreading--Using ThreadX & ARM-INTERNAL SYSTEM CLOCK AND APPLICATION TIMERS
If you want to get the book of Real-Time Embedded Multithreading–Using ThreadX please click the below link, https://download.youkuaiyun.com/download/u014100559/11583651Internal System Clock ServicesThread...原创 2019-08-20 17:18:11 · 598 阅读 · 0 评论 -
Threadx-Comparison of a mutex with a counting semaphore
A counting semaphore resembles a mutex in several respects, but there are differences, aswell as reasons to use one resource over the other.A mutex is exceptionally robust in providing mutual exclu...原创 2019-08-21 14:23:33 · 198 阅读 · 0 评论 -
Threadx-Round-Robin Scheduling
The term round-robin scheduling refers to a scheduling algorithm designed to provideprocessor sharing in the case in which multiple threads have the same priority. There aretwo primary ways to achie...原创 2019-08-21 17:19:13 · 595 阅读 · 0 评论 -
Threadx-Priority Inversion
Undesirable situations can occur when two threads with different priorities share a commonresource. Priority inversion is one such situation; it arises when a higher-prioritythread is suspended beca...原创 2019-08-21 17:28:27 · 232 阅读 · 0 评论 -
Threadx-Deadly Embrace
One of the potential pitfalls in using mutexes is the so-called deadly embrace. This is anundesirable situation in which two or more threads become suspended indefinitely whileattempting to get mute...原创 2019-08-22 14:16:30 · 260 阅读 · 0 评论 -
Threadx-ARM EXCEPTION HANDLING
IntroductionAn exception is an asynchronous event or error condition that disrupts the normal flowof thread processing. Usually, an exception must be handled immediately, and then controlis returne...原创 2019-08-22 17:01:20 · 1007 阅读 · 2 评论 -
Threadx-Priority Inheritance
In priority inheritance, a lower-priority thread temporarily acquires the priority of ahigher-priority thread that is attempting to obtain the same mutex owned by the lowerpriority thread.When the ...原创 2019-08-27 22:11:06 · 295 阅读 · 0 评论 -
Real-Time Embedded Multithreading--Using ThreadX & ARM-MEMORY MANAGEMENT: BYTE POOLS
This is the learn of Real-Time Embedded Multithreading–Using ThreadX & ARM-MEMORY MANAGEMENT: BYTE POOLS AND BLOCK POOLS.IntroductionRecall that we used arrays for the thread stacks in the previ...原创 2019-08-19 14:54:27 · 662 阅读 · 0 评论