第一章 初识RT-Thread
RT-Thread小贴士:
RT-Thread诞生于2006年,一款知名度高、口碑极佳、高度稳定可靠的实时操作系统。
RT-Thread是开源免费的,许可证类似FreeRTOS。并且,它不仅是一个RTOS内核,而且包含网络、文件系统、GUI界面等组件,具有极强的扩展性哟~
RT-Thread支持市面所有的主流编译工具(IAR、GCC、Keil等),硬件上,可支持完成超过50款MCU芯片上和所有主流CPU架构上的移植工作。
RT-Thread特点:高可靠性+组建丰富->广泛应用于安防、医疗、新能源、车载、导航以及消费电子等。
一 开发环境准备
基于RT-Thread3.1.0版内核,硬件平台为STM32F103XE
1 代码目录介绍
1、工程源码
applications:用户应用代码
drivers:RT-Thread不同平台下的底层驱动
kernel-sample:内核源码
Libraries:STM32固件库
rt-thread:源码
2、RT-Thread源码结构
src:RT-Thread内核源代码
libcpu:RT-Thread支持的芯片和各类移植文件(如STM32)
include:RT-Thread内核头文件
components:RT-Thread支持的外部组件代码(如Finish、Lwip)
3、工程目录
二 系统启动
- int $Sub$$main(void)函数为系统的main函数
- rt_hw_interrupt_disable();关中断
- rtthread_startup();系统分工初始化,结束后使系统处于运行态
rt_hw_interrupt_disable();关中断
rt_hw_board_init();硬件平台初始化
rt_show_version();显示版本号
rt_system_timer_init();
rt_system_scheduler_init();系统内核调度器初始化
rt_system_signal_init();系统信号量机制初始化
rt_application_init();用户信息初始化(含用户创建)
main_thread_entry入口地址代码->调用applications中的main.c
rt_system_timer_thread_init();定时器
rt_thread_idle_init();
rt_system_scheduler_start();运行RTOS