技术栈
嵌入式实时操作系统
捷瑞电子工坊
3 天前
freertos
·
嵌入式实时操作系统
·
空闲任务
·
阻塞延时
·
vtaskdelay
FreeRTOS 空闲任务与阻塞延时
在 FreeRTOS 中,CPU 必须至少有一个任务在运行。如果所有用户任务都进入了阻塞态,那 CPU 就没有用户任务可跑了。这时,内核会自动创建一个优先级最低的空闲任务来兜底。
捷瑞电子工坊
5 天前
freertos
·
任务调度
·
优先级
·
嵌入式实时操作系统
·
就绪列表
FreeRTOS 就绪列表详解:任务调度的核心枢纽
在FreeRTOS中,任务调度是整个操作系统的核心功能。而就绪列表(Ready List) ,正是支撑任务调度的最关键数据结构。简单来说,就绪列表就是用来存放所有“准备好了、随时可以运行”的任务的地方。
OSnotes
2 年前
freertos
·
嵌入式实时操作系统
·
临界段
FreeRTOS简单内核实现4 临界段
为什么需要临界段?有时候我们需要部分代码一旦这开始执行,则不允许任何中断打断,这段代码称为临界段如何实现临界段?
Caramel_biscuit
3 年前
嵌入式实时操作系统
·
1024程序员节
·
嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(信号量学习)
除了临界点机制、互斥量机制可实现临界资源的互斥访问外,信号量(Semaphore)是另一选择。信号量与互斥量的区别
Caramel_biscuit
3 年前
嵌入式实时操作系统
·
1024程序员节
·
嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(消息)
从概念上讲,消息机制和邮箱机制很类似,区别在于邮箱一般只能容纳一条消息,而消息则会包含一系列的消息。 系统定义了一个全局变量g_msgctr_header,通过它可以查找到任一已创建的消息容器。 每一个消息容器都可以根据其参数性质(1VS1:1对1的消息通信、1VSn:1对多的消息通信、nVSn:多对多的消息通信、nVS1等)来实现不同的通信方式。
Caramel_biscuit
3 年前
学习
·
嵌入式实时操作系统
·
1024程序员节
·
嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发 (启动内核学习)
RTOS的引导是指将操作系统装入内存并开始执行的过程。 时间限制主要包括:系统要求快速启动和系统启动后要求程序能实时运行。 空间限制主要包括:Flash等非易失性存储空间限制和RAM等易失性存储空间限制。
Caramel_biscuit
3 年前
服务器
·
学习
·
性能优化
·
嵌入式实时操作系统
·
嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(调度策略学习)
将调度分为两层,上层为策略,下层为机制,并且采用策略与机制分离的设计原则,可以方便灵活地扩展调度策略,而不改变底层的调度机制。
Caramel_biscuit
3 年前
学习
·
算法
·
嵌入式实时操作系统
·
嵌入式实时操作系统的设计与开发
嵌入式实时操作系统的设计与开发(调度线程学习)
线程的调度分为两种:主动调度、被动调度。调度的本质就是从就绪队列中找到最高优先级的线程来执行。第一个判断条件need_sched失效的频率是最高的,放在最开始有助于提高性能。
Caramel_biscuit
3 年前
rt-thread
·
嵌入式实时操作系统
RT-Thread(学习)
RT-Thread是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS),具有完全的自主知识产权。经过16个年头的沉淀,伴随着物联网的兴起,它正演变成一个功能强大、组件丰富的物联网操作系统。
我是有底线的