现在的嵌入式入门门槛已经很低,原有的STM32固件库官方不在更新,使用CubeMX生成的HAL库正在逐渐替代原有的固件库,大大降低开发门槛提高开发效率。当然熟悉板子上的常用的寄存器会让你得心应手。 项目中关于RTOS问题的记录: (1)FreeRTOS一定要配置好系统时钟,给予一个单独的硬件时钟源作为系统时钟。否则时间片的长度...
FREERTOS.FootprintOK=trueFREERTOS.INCLUDE_eTaskGetState=1FREERTOS.INCLUDE_pcTaskGetTaskName=1FREERTOS.INCLUDE_vTaskCleanUpResources=1FREERTOS.INCLUDE_vTaskDelayUntil=1FREERTOS.INCLUDE_xQueueGetMutexHolder=1FREERTOS.INCLUDE_xSemaphoreGetMutexHolder=1FREERTOS.INCLUDE_xTaskGetCurrentTaskHandle=1FREERTOS....
前面RTOS1-6中实现了从0开始理解嵌入式操作系统,前面都是纯理念的内容要学会RTOS就必须在实践中验证理论的知识。从本篇开始将从最流行的FreeRTOS入手配合STM32f103c8t6在实践中理解FreeRTOS源码并且验证前面所说的RTOS原理。 前提知识 STM32内存 Freertos中自带了内存管理机制,如果要想理解源码就必须对STM32的内存有...
2,Heap Size,如果没有用到标准库的malloc,就是废物,纯属浪费内存,所以直接设置为0即可。 FreeRTOS中的堆 FreeRTOS中的堆也属于ZI区,但是它与STM32内存结构中的堆并不占用相同的空间,两个堆同时存在。以下出现的堆(heap)表示FreeRTOS堆,另外在STM32启动文件中定义大小的堆称为系统堆。 FreeRTOS有5种heap的实现...
1. 配置FreeRTOS: 首先,需要下载并集成FreeRTOS到STM32的开发环境中。您可以从FreeRTOS官方网站下载最新版本的FreeRTOS源码,并将其添加到您的项目中。 2. 配置RTOS内核: 在使用FreeRTOS之前,需要配置RTOS内核以适应您的STM32微控制器。以下是一个配置内核的示例代码: ...
STM32CubelDE STM32CubeIDE 是一个多功能的集成开发工具,集成了TrueSTUDIO和STM32CubeMX,它是STM32Cube软件生态系统的一部分。STM32CubeIDE是一个先进的C/C++开发平台,具有STM32微控制器的IP配置,代码生成,代码编译和调试功能。 相对而言对使用STM32平台的童鞋们来说使用FreeRTOS非常方便和强大,因为它被集成到了STM...
ESP32 在内置 Deep-sleep 低功耗模式、RTC 外设和 ULP 协处理器的支持下,可以满足多种应用场景下的低功耗需求。当 ESP32 进入 Deep-sleep 模式时,所有由 APB_CLK 驱动的外设、CPU 和 RAM 将掉电;RTC_CLK 继续工作;RTC 控制器、RTC 外设、ULP 协处理器、RTC 快速内存和 RTC 慢速内存可以不掉电,具体取决...
过高的的系统时钟节拍将使得 FreeRTOS 内核运行占用过多的时间,增加系统负荷 configMAX_PRIORITIES · 此参数用于定义可供用户使用的最大优先级数,如果这个定义的是 5,那么用户可以使用的优先级号是 0,1,2,3,4,不包含 5 configMINIMAL_STACK_SIZE · 此参数用于定义空闲任务的栈空间大小,单位字,即 4 字节 ...
一个RTOS无非就三类文件:底层移植文件、内核实现文件、配置文件,所以在MDK分组中我们按照如下来管理。 2.1. 添加底层移植文件 新建FreeRTOS/port 分组,因为这里我们是MDK移植环境,STM32L431RCT6属于带FPU的Cortex-M4内核,所以添加位于 FreeRTOS\portable\RVDS\ARM_CM4F 下的 port.c 文件: ...
一、FreeRtos 1、简介 Rtos就是实时操作系统,os的意思就像是我们常用的iOS、HamonyOS是一个意思,就是操作系统的意思,而FreeRtos就是免费的实时操作系统,在嵌入式系统中非常常用 它的底层代码是用C语言写成的,可移植性特别好,且简单易用,核心代码有9000多行 ...