线程挂起可以由多种方法实现:线程调用rt_thread_delay()、rt_thread_suspend()等函数接口可以使得线程主动挂起,放弃CPU使用权,当线程调用rt_sem_take(),rt_mb_recv()等函数时,资源不可使用也会导致调用线程被动挂起。 当线程已经是挂起态的时候无法调用rt_thread_suspend()函数,已经是挂起态的线程调用rt_thread_...
RT-Thread采用内核对象管理系统来访问/管理所有内核对象,内核对象包含了内核中绝大部分设施, 这些内核对象可以是静态分配的静态对象,也可以是从系统内存堆中分配的动态对象。 RT-Thread内核对象包括:线程,信号量,互斥量,事件,邮箱,消息队列和定时器,内存池,设备驱动等。 下图则显示了RT-Thread中各类内核对象的派生和...
线程是 RT-Thread 操作系统中最小的调度单位,线程调度算法是基于优先级的全抢占式多线程调度算 法,即在系统中除了中断处理函数、调度器上锁部分的代码和禁止中断的代码是不可抢占的之外,系统的其他部分都是可以抢占的,包括线程调度器自身。支持 256 个线程优先级(也可通过配置文件更改为最大支持 32 个或 8 个线...
睿赛德科技在国内操作系统领域享有盛誉,作为RT-Thread开源物联网操作系统的贡献者和维护者,负责RT-Thread操作系统的核心技术开发、社区运营和市场推广等工作。公司拥有一系列自主知识产权技术,包括高可靠RTOS 、日志型高可靠文件系统、低功耗技术、Persimmon GUI图形库、智能音频等。目前RT-Thread已经成为市面上装机量最大...
RT-Thread是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,也就是允许多个任务同时运行,但是这并不意味着处理器在同一时刻真地执行了多个任务。事实上,这是通过多线程的方式实现的。线程是 RT-Thread 中最基本的调度单位,我们可以设置不同的优先级,重要的任务可设置相对较高的优先级,非重要的任务可以设置...
线程控制块:rt_thread 线程堆栈 rt_thread用来表示一个线程,它的重要成员如下: thread->entry:函数指针 thread->parameter:函数参数 thread->stack_addr:栈的起始地址 thread->stack_size:栈大小 thread->sp:栈顶 thread->init_priority:初始优先级 thread->current_priority:当前优先级 ...
RT-Thread官方账号 诚邀各位开发者们加入 RT-Thread官方论坛,获取更多资讯,结识更多同好噢!club.rt-thread.org 关注发消息 主页动态投稿375合集和列表22 关注数 125 粉丝数 2.6万 TA的视频 最新发布 最多播放 最多收藏 播放全部 02:01 02:38 00:42
rt-thread调度器就是起到判决线程当前的优先级,然后去执行当前最高优先级的就绪的线程。 调度又可以细分为两种。可打断调度:关键防止优先级倒置 ;不可打断调度:先来先服务,不可中断。 2.调度怎么实现? 在创建任务的时候,指定了任务的优先级,一般来说,每个任务都有自己特定的优先级。所以内核线程对象中有不同的...
FinSH 是 RT-Thread 的命令行组件,类似于 Linux 下的 shell,提供了一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息,它可以使用串口、网口、USB 等与 PC 进行通信。 当使用串口连接设备与控制终端时,FinSH 命令的执行流程如图: 用户在控制终端输入命令,控制终端通过串口、 USB、网络等方式将命令传给...