logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

FreeRTOS-时间片与任务阻塞的实现

本文将详细阐述FreeRTOS多优先级的实现,时间片的轮转,以及深入理解任务在就绪态与阻塞态如何相互转换,这一切的本质都基于链表,然后在加上一些简单的算法,只要掌握了链表一切都不是什么大问题。《FreeRTOS-链表的源码解析》《FreeRTOS-实现任务调度器》1.定义延时链表与延时链表指针2.任务延时链表初始化prvInitialiseTaskLists()函数。

文章图片
#链表#stm32
FreeRTOS-任务通知详解

本文的重点主要有两点:1.搞明白任务通知的三个状态(实现任务通知的关键),2.明白任务通知的优缺点,以及任务通知模拟出来的队列、信号量、事件组与真实的有何区别。

文章图片
#c语言#操作系统
深入理解时间和空间复杂度

时间复杂度:算法中的`基本语句重复的执行次数空间复杂度:空间复杂度算的是变量的个数

文章图片
#c语言#数据结构#算法
static,const,volatile,extern,register关键字深入解析

static,const,volatile等关键字深入解析,以及volatile在STM32中的运用

文章图片
#c语言#单片机#嵌入式硬件
C语言预处理指令-单片机必备技能

本文包含宏定义,条件编译的指令详细讲解,单片机入门必看

#c语言#单片机#嵌入式硬件
FreeRTOS-链表的源码解析

FreeRTOS的学习,从RTOS的源码升入理解到RTOS的熟练应用,真正理解FreeRTOS的底层,但是要想阅读源码要求对C语言的指针与结构体,数据结构的链表和队列的知识的基本功要非常扎实,以及ARM的架构有所了解,本篇文章就带你们深入理解FreeRTOS的链表实现,以及为什么要这样实现,链表和队列贯穿整个操作系统,重要性就不言而喻了。《C语言链表超详解》《自定义类型-结构体详解》《指针超详解》

文章图片
#链表#数据结构
FreeRTOS-ARM架构深入理解

由于FreeRTOS操作系统所涉及的ARM架构的知识较多,而且这是知识对理解FreeRTOS的本质和底层实现至关重要,仿佛ARM架构是为操作系统量身定制一般,所以ARM架构的知识的重要性我就不说了,本篇文章主要是对操作系统底层实现所用到ARM架构的知识进行汇总,所以本篇文章参考《Cortex-M3权威指南》,也是对我上篇文章《FreeRTOS-ARM架构与程序的本质》的补充。同几乎所有的处理器架构

文章图片
#arm#架构#嵌入式硬件
FreeRTOS-ARM架构与程序的本质

本文将结合ARM架构全面阐述程序的本质(什么是栈/堆,全局变量如何存储),以及深入理解函数调用过程,理解局部变量为啥具有临时性,函数如何传参,如何返回值等等,这些知识是理解FreeRTOS内核本质必要条件,才能深入理解FreeRTOS的任务切换所涉及的内存操作的实质,其重要性也不言而喻了堆和栈说白了都只是内存(单片机上的SRAM)中的一块空闲的空间,只是他们的用法和位置有所区分。栈栈区是从高地址向

文章图片
#单片机#嵌入式硬件#stm32 +1
FreeRTOS-事件组详解

事件是一种实现任务/中断间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。

文章图片
#单片机#stm32#嵌入式硬件
FreeRTOS-实现任务调度器

本文正式开启对FreeRTOS内核的研究,首当其冲的就是就是任务调度器的实现,任务调度器作为FreeRTOS的核心,因为FreeRTOS的本质就是任务的轮流运行,为了循序渐进的学习,避免一口吃成一个大胖子,本文只实现两个任务的切换,先不管任务的优先级,本文的目的就是将任务切换的全过程分析的透透彻彻,在此之前要深入理解FreeRTOS链表操作,还有ARM架构的知识,我已经帮你们总结好了。《FreeR

文章图片
#操作系统
    共 31 条
  • 1
  • 2
  • 3
  • 4
  • 请选择