RTThread知识点整理(一)内核介绍

本文详细解析了RT-Thread实时内核架构,包括对象管理、线程调度等内容,阐述了启动流程从加载到main()的步骤,并深入探讨了内存分布和内核对象管理系统。此外,还介绍了如何通过配置文件进行内核定制和关键宏定义的使用。

1.RT-Thread 内核架构图
在这里插入图片描述实时内核的实现包括:对象管理、线程管理及调度器、线程间通信管理、时钟管理及内存管理等等,内核最小的资源占用情况是 3KB ROM,1.2KB RAM。
2.RT-Thread 启动流程
rtthread_startup() 函数是 RT-Thread 规定的统一启动入口。一般执行顺序是:系统先从启动文件xxx.s开始运行,然后进入 RT-Thread 的启动函数 rtthread_startup() ,最后进入用户入口函数 main()。
在这里插入图片描述rtthread_startup()函数包括:
(1)初始化与系统相关的硬件;

(2)初始化系统内核对象,例如定时器、调度器、信号;

(3)创建 main 线程,在 main 线程中对各类模块依次进行初始化,启动调度器之前,系统所创建的线程在执行 rt_thread_startup() 后并不会立马运行,它们会处于就绪状态等待系统调度;待启动调度器之后,系统才转入第一个线程开始运行,根据调度规则,选择的是就绪队列中优先级最高的线程;

(4)初始化定时器线程、空闲线程,并启动调度器。

3.RT-Thread 内存分布
1)Code:代码段,存放程序的代码部分;

2)RO-data:只读数据段,存放程序中定义的常量(如:const 类型);

3)RW-data:读写数据段,存放初始化为非 0 值的全局变量;

4)ZI-data:0 数据段,存放未初始化的全局变量及初始化为 0 的变量;
keil 编译完工程会生成一个. ma

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值