RT-Thread
BC!
不以物喜,不以己悲。
展开
-
RT-Thread入门笔记6-空闲线程及两个常用的钩子函数
注意:空闲线程是一个线程状态永远为就绪态的线程,所以钩子函数中执行的相关代码必须保证空闲线程在任何时刻都不会被挂起, 例如rt_thread_delay()、 rt_sem_take()等可能会导致线程挂起的阻塞类函数都不能在钩子函数中使用。系统的上下文切换是系统运行过程中最普遍的事件, 有时用户可能会想知道在某一个时刻发生了什么样的线程切换,RT-Thread向用户提供了一个系统调度钩子函数,这个钩子函数在系统进行任务切换时运行,通过这个钩子函数,我们可以了解到系统任务调度时的一些信息。原创 2024-01-12 21:16:15 · 940 阅读 · 0 评论 -
RT-Thread入门笔记5-线程的时间片轮询调度
具体应用中,线程总数不受限制,能创建的线程总数只和具体硬件平台的内存有关。假设有2个优先级相同的就绪态线程A与B,A线程的时间片设置为10,B线程的时间片设置为5,那么当系统中不存在比A优先级高的就绪态线程时,系统会在A、B线程间来回切换执行,并且每次对A线程执行10个节拍的时长,对B线程执行5个节拍的时长。时间片只有在相同优先级的就绪态线程中起作用,系统对优先级相同的就绪态线程采用时间片轮转的调度方式进行调度时,时间片起到约束线程单次运行时长的作用,其单位是一个系统节拍(OS Tick)。原创 2024-01-12 21:15:20 · 908 阅读 · 0 评论 -
RT-Thread入门笔记4-跑马灯线程实例
RT-Thread操作系统是基于线程调度的多任务系统。原创 2024-01-11 22:33:25 · 610 阅读 · 0 评论 -
RT-Thread入门笔记3-线程的创建
RT-Thread 每个线程都具有独立的栈空间, 当进行线程切换时, 系统会将当前线程的上下文保存在线程栈中, 当线程要恢复运行时, 再从线程栈中读取上下文信息, 恢复线程的运行。线程控制块是操作系统用于管理线程的一个数据结构, 它会存放线程的一些信息, 例如优先级、 线程名称、 线程状态等, 也包含线程与线程之间连接用的链表结构, 线程等待事件集合等。RT-Thread 中,线程由三部分组成:线程代码(入口函数)、线程控制块、线程堆栈.原创 2024-01-11 22:37:21 · 544 阅读 · 0 评论 -
RT-Thread入门笔记2-动态内存堆的使用
PS:一个ARM程序包含3部分:RO,RW和ZI。ZI是程序中的未初始化的变量。RW是程序中的已初始化变量。RO是程序中的指令和常量。原创 2024-01-10 21:14:53 · 512 阅读 · 0 评论 -
RT-Thread入门笔记1-初识RT-Thread
【代码】RT-Thread入门笔记1-初识RT-Thread。原创 2024-01-10 21:11:50 · 424 阅读 · 0 评论