软件环境:Win7+MDK4.7.2python
硬件环境:STM32F4Discoverygit
所用OS代码:RT-Thread2.0.0 beta 下载地址: https://github.com/RT-Thread/rt-thread/archive/v2.0.0_beta.zipgithub
解压缩后,使用\rt-thread-2.0.0_beta\bsp\stm32f40x\project.uvproj 进行实验。app
没有使用scons和python。不大须要这个东西。函数
今天只熟悉一下软件环境:线程
一、RT进入main以前, 对象
与普通的MDK-STM32程序同样。会使用system_stm32f4xx.c文件中的SystemInit函数初始化时钟。ip
二、main函数位于startup.c文件中。进行两个工做 get
系统开始前,rt_hw_interrupt_disable关闭全部中断。 it
以后使用rtthread_startup启动RTThread
3、函数rtthread_startup()完成的工做:
一、调用函数rt_hw_board_init 完成板子初始化工做
二、显示版本信息:rt_show_version
三、初始化系统滴答:rt_system_tick_init
四、系统内核对象初始化:rt_system_object_init
五、定时器初始化:rt_system_timer_init
六、系统堆栈初始化rt_system_heap_init
七、任务调度器初始化:rt_system_scheduler_init
八、rt_application_init //加入用户自定义的任务
九、FINSH模块初始化 ,
十、定时器线程初始化:rt_system_timer_thread_init
十一、空闲任务初始化rt_thread_idle_init
十二、开始任务调度,OS接管MCU:rt_system_scheduler_start
任务调度开始以后,OS就算是启动好了。以后的东西都是在OS的管理下运行了。
4、在RTT示例工程中添加外设驱动的方法:
驱动头文件加入board.h