FreeRTOS Task Management (1) - list 实现 list结构是FreeRTOS Task Management 等模块重要的数据结构,其源码在list.c 和list.h中。 以下结合源码来分析list的结构与功能的实现细节。 1 结构体定义 /* list结构由以下三 ...
分类:
其他好文 时间:
2021-06-02 20:15:54
阅读次数:
0
FreeRTOS Heap Memory Management (5) - heap5源码分析 /* FreeRTOS Kernel V10.4.1 */ heap5的实现与heap4除了内存初始化有所不同,其余部分几乎一致。 因此本文只分析初始化函数,其余部分详见FreeRTOS Heap Mem ...
分类:
其他好文 时间:
2021-06-02 14:41:36
阅读次数:
0
FreeRTOS Heap Memory Management (4) - heap4源码分析 /* FreeRTOS Kernel V10.4.1 */ ? heap4的实现与heap2非常相似,不同之处在于heap4需要合并相邻的 free block。请参考 FreeRTOS Heap Mem ...
分类:
其他好文 时间:
2021-06-02 14:23:01
阅读次数:
0
一、任务 任务创建和删除xTaskCreate 任务创建xTaskDelete 任务删除,通过传入NULL值来删除自己 任务挂起和恢复vTaskSuspend() 暂停一个任务vTaskSuspendAll() 暂停调度程序vTaskResume() 恢复一个任务的运行xTaskResumeFrom ...
分类:
其他好文 时间:
2021-05-24 14:48:29
阅读次数:
0
前言 RTOS的分析是比较困难的,特别是任务多且涉及很多任务通信的时候,程序的稳定性就是一个比较麻烦的问题了,不过好在有很多工具可以用来分析RTOS的运行状况,常见的有SystemView、Tracealyzer,TIRTOS的分析工具ROV(运行时对象查看器)则集成在CCS中。下面以Segger的 ...
分类:
其他好文 时间:
2021-05-23 23:58:51
阅读次数:
0
需求:静态创建任务(任务堆栈、控制块由用户自己指定) ①用一个任务创建两个任务Task1和Task2后,将自身任务删除 ②在Task1执行5次后,用Task1将Task2删除 ③Task1执行10次后,将自身删除 代码: ①需要将该宏打开: #define configSUPPORT_STATIC_ ...
分类:
其他好文 时间:
2020-12-24 12:00:47
阅读次数:
0
FreeRTOS任务调度 架构:Cortex-M3 版本:FreeRTOS V9.0.0 前言:上一篇我们分析了任务的切换,其中写到了在vTaskSwitchContext里面的taskSELECT_HIGHEST_PRIORITY_TASK,计算uxTopReadyPriority 的前导零值,那 ...
分类:
其他好文 时间:
2020-12-21 11:17:49
阅读次数:
0
FreeRTOS Posix原理 1. FreeRTOS源码原理 FreeRTOS可以创建不同优先级的task,RTOS负责管理这些任务。同时提供了队列、信号等功能,这些功能能够使task再不满足条件时挂起,当运行条件满足时触发运行。 RTOS依据不同的优先级,创建不同任务链表,相同优先级的任务挂在 ...
分类:
其他好文 时间:
2020-06-22 01:02:14
阅读次数:
129
上一次定的目标只有2、5、6完成了,要是目标能全部完成,就不叫目标了,哈哈哈,我是懒癌重症病人。今年二月、五月接手了公司两个项目,学到挺多东西的,下班回家挺不想看代码的,没怎么动。 今年的目标我打算现实一点。 1.继续在FreeRTOS上做应用(智能花盆)。 2.搭建环境、使用、学习K210,接触嵌 ...
分类:
其他好文 时间:
2020-06-19 12:04:23
阅读次数:
40
一、Cortex-M的定位 二、内存管理单元 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。 在多用户、多进程的操作系统中,MMU使得各个用户进程都有独立的地址空间。 任何微控制器都存在一个程序能够产生的地址集和,被称为虚拟地址范围。 以32位机为例,虚拟 ...
分类:
系统相关 时间:
2020-06-17 12:52:35
阅读次数:
62