1-3RT-Thread内核基础-笔记

RT-Thread内核相关的概念与基础知识



其中内核库是为了保证内核能够独立运行的一套小型的类似C库的函数实现子集。这部分根据编译器的不同,自带C库的情况也会有些不同。

内核最小的资源占用情况是3K的ROM和1.2K的RAM。

RT thread系统启动流程

启动文件,此文件放置路径较深。我们逐层来看

这个文件是一个汇编文件。双击打开。在注释中我们可以看到文件的功能描述。

本文件是基于GCC工具链下的一个向量表模块执行的功能,用于初始化SP指针,初始化PC指针指向reset handle,设置中断向量表配置系统的时钟以及调用主函数。在复位代码之后,第109行是系统初始化的跳转指令。

按住CTRL键,点击鼠标左键可以进入到entry的声明文件。我们选择第一个确定程序,直接跳转到entry函数,在entry函数当中调用了RT thread start up函数用于启动内核。

直接跳转到entry函数,在entry函数当中调用了 rtthread_startup();函数用于启动内核。按住CTRL键,rtthread_startup(); 跳转到该函数的入口。

rtthread_startup();函数当中完成的功能主要包括禁用系统的中断、进行板级初始化显示RT-Thread版本号、系统定时器初始化、系统调度器初始化。

在 257行中的 rt_application_init();函数当中完成main函数线程的创建以及调用。单击鼠标右键选择打开声明转到rt_application_init();

按住CTRL键,点击main_thread_entry 跳转到 main_thread_entry 函数入口。

函数当中声明了外部的main函数,在函数的末尾(198行)调用main函数,同样我们可以跳转到main();函数。至此RT thread内核启动完成,并成功调用main线程。至此RT thread内核启动完成,并成功调用main线程。

内核配置方法

第一种方法:


第二种方法:

相关推荐
李昊哲小课7 分钟前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
Hou'7 分钟前
从0到1的C语言传奇之路
c语言·开发语言
Heartache boy24 分钟前
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
笔记·stm32·单片机·嵌入式硬件
不知名的老吴32 分钟前
返回None还是空集合?防御式编程的关键细节
开发语言·python
迈巴赫车主43 分钟前
蓝桥杯3500阶乘求和java
java·开发语言·数据结构·职场和发展·蓝桥杯
小菜鸡桃蛋狗1 小时前
C++——string(上)
开发语言·c++
chushiyunen1 小时前
python pygame实现贪食蛇
开发语言·python·pygame
身如柳絮随风扬1 小时前
Lambda、方法引用与Stream流完全指南
java·开发语言
jinanwuhuaguo2 小时前
人工智能的进化阶梯:AI、ANI、AGI与ASI的核心区别与深度剖析
开发语言·人工智能·agi·openclaw
清空mega2 小时前
C++中关于数学的一些语法回忆(2)
开发语言·c++·算法