RT-Thread嵌入式实时操作系统详解

最近在公司实习,在导师的指导下,在学习RT-Thread,之前接触过一点Freertos,也是实时操作系统。

裸机系统
main函数里面顺序执行的无限循环(while(1)),cpu按顺序完成各种事情。

多线程系统
把整个系统分割成一个个独立的无法返回的函数。

RT-Thread (Real Time-Thread)嵌入式实时多线程操作系统。支持多任务同时运行。

多线程
cpu在同时干多件事,线程主动切换。

系统调度
在就绪列表中寻找优先级最高的就绪线程。

临界段
一段在执行的时候不能被中断的代码段。

RT-Thread 是RT-Thread的核心部分,包括内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等。

RT-Thread 启动过程
SystemInt();
Submain(void):系统真正的main函数
rt-thread_startup(void):整个系统处于运行态
rt_application_init();
main_thread_entry();
Supermain();

禁止调度:即把调度器锁住,不让其进行线程切换。这样就能保证当前运行的任务不被换出,直到调度器解锁。

临界区:每个线程中访问(操作)临界资源的那段代码称为临界区。我们每次只准许一个线程一个线程进入临界区。

信号量

信号量:可以由任何线程(以及中断)释放,它用于同步的时候就像交通灯,线程只有获得许可的时候才可以运行,强调的是运行步骤。

互斥量

互斥量:只能由持有它的线程释放,即只有"锁上“它的那个线程才有钥匙打开它。它用于互斥的时候就像一把钥匙,只有获得钥匙才可以运行,强调许可和权限。

RT-Thread视频教程如下:
RT-Thread视频教程

你可能感兴趣的:(嵌入式,嵌入式)