熟悉RT-Thread的软硬件环境【RT-Thread学习笔记 1】

时间:2022-06-17 17:01:37

软件环境:Win7+MDK4.7.2

硬件环境:STM32F4Discovery

所用OS代码:RT-Thread2.0.0 beta 下载地址: https://github.com/RT-Thread/rt-thread/archive/v2.0.0_beta.zip

解压缩后,使用\rt-thread-2.0.0_beta\bsp\stm32f40x\project.uvproj 进行实验。

没有使用scons和python。不大需要这个东西。

今天只熟悉一下软件环境:

1、RT进入main之前

与普通的MDK-STM32程序一样。会使用system_stm32f4xx.c文件中的SystemInit函数初始化时钟。

2、main函数位于startup.c文件中。进行两个工作

系统开始前,rt_hw_interrupt_disable关闭所有中断。

之后使用rtthread_startup启动RTThread

3、函数rtthread_startup()完成的工作:

1、调用函数rt_hw_board_init 完成板子初始化工作

2、显示版本信息:rt_show_version

3、初始化系统滴答:rt_system_tick_init

4、系统内核对象初始化:rt_system_object_init

5、定时器初始化:rt_system_timer_init

6、系统堆栈初始化rt_system_heap_init

7、任务调度器初始化:rt_system_scheduler_init

8、rt_application_init //加入用户自定义的任务

9、FINSH模块初始化 ,

10、定时器线程初始化:rt_system_timer_thread_init

11、空闲任务初始化rt_thread_idle_init

12、开始任务调度,OS接管MCU:rt_system_scheduler_start

任务调度开始之后,OS就算是启动好了。之后的东西都是在OS的管理下运行了。

4、在RTT示例工程中添加外设驱动的方法

驱动头文件加入board.h