单片机第五季-第八课:STM32CubeMx和FreeRTOS

1,FreeRTOS背景介绍

RTOS简介:

实时操作系统,本用于追求实时性的嵌入式系统,典型:ucos/uclinux/vxworks;

特点:中断响应快、一般可嵌套中断、使用实地址、多任务;

(实地址:)

近年来趋势:由RTOS向IoTOS转型,典型:FreeRTOS/LiteOS/rt-thread;

(IoTOS:主要与物联网相关,涉及到各种通讯协议等)

FreeRTOS简介:

以前是第三方免费rtos,后被Amazon收购;

官网地址:

FreeRTOS官网地址

RTOS学习主要学什么?

(1)RTOS的应用开发,核心是任务创建、IPC、内存管理等;

(2)RTOS的内核开发,核心是kernel部分源码解析和port部分硬件相关;

(3)IoT开发,核心是IoTOS提供的组件和资源使用;

2,FreeRTOS源码分析

目录结构:

创建SourceInsight工程,删除无关文件,主要保留Demo和Source文件夹:

task.c文件中主要是任务的创建、删除、优先级设置等函数:

TCB(task control block):

task的本质是一个函数。

内核的几个链表:

通过链表对源码进行分析。

任务创建函数:

任务删除函数:

3,FreeRTOS的配置

配置文件:

FreeRTOSConfig.h 开发者设置的配置文件;

FreeRTOS.h 源码中的配置文件;

开启任务调度:

demo的main.c文件的主函数中

空任务的创建和调度:

Idle task中是一个死循环 for( ; ; )

注意:该函数是宏定义的形式。

4,STM32CubeMAX移植FreeRTOS

暂未完成;

(理解:看完相关视频,对RTOS有了初步的理解,其与裸机的主要区别,例如,裸机中如果要使LED闪烁,需要在while循环中点亮LED和熄灭LED之间设定一个延时,程序运行到延时是在原地打转,而RTOS中的延时是切换到了其他任务中,程序不是在原地空转)。

相关推荐
2401_827501283 小时前
51单片机(二):GPIO、中断、定时器与PWM
单片机·嵌入式硬件·51单片机
尼喃5 小时前
HDMI/DP高速差分接口ESD保护:0.3pF超低电容PWESD-5VSDF方案详解
嵌入式硬件
ACP广源盛139246256735 小时前
GSV6155@ACP# 搭配 AI 服务器、AI PC 完整适配方案
大数据·服务器·人工智能·分布式·单片机·嵌入式硬件
Saniffer_SH6 小时前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
辰哥单片机设计7 小时前
STM32音乐播放器
stm32·单片机·嵌入式硬件
周洲08308 小时前
STM32 串口指令控制系统|上位机下发命令控制 LED、继电器,通用指令解析框架
stm32·嵌入式硬件·mongodb
集芯微电科技有限公司8 小时前
PC3100H 专为TFT-LCD面板偏置电源设计双输出100m电流
人工智能·单片机·嵌入式硬件·神经网络·生成对抗网络
广州灵眸科技有限公司9 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 系统操作-线进程操作
数据库·单片机·嵌入式硬件·算法·php
集芯微电科技有限公司10 小时前
各种大小尺寸TFT-LCD面板供电偏压电源方案IC
人工智能·单片机·嵌入式硬件·神经网络·生成对抗网络
FREEDOM_X10 小时前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu