本文共 904 字,大约阅读时间需要 3 分钟。
目录框架
rt-thread:rtt系统目录
scr:RTT的核心代码
include:RTT内核头文件
libcpu:对各种不同类型架构cpu芯片的支持文件
components:RTT的各种组件(dfs文:件系统,finsh:命令行,cplusplus:c++支持,net网络组件,等等)
tools:自动化构建、编译
applications:用户应用文件夹
debug:keil编译输出目录
drivers:板级驱动
libraries:芯片固件库函数
project.eww : IAR工程
project.uvproj: keil 4工程
project.uvprojx: keil 5工程
template是个模板工程不需要关注
rtconfig.h: 系统裁剪相关的一个头文件,特别重要。
rt-thread启动过程:
1、运行启动代码startup_stm32f10xxx.s 2、从启动代码进入rt-thread系统的_main函数(非用户main函数,不是main.c文件中的main函数)(components.c第147行) (1)关闭全局中断 (2)启动rt-thread(进入rtthread_startup函数) 3、在rtthread_startup()函数中 (1)板级硬件初始化 (2)打印rt-thread版本 (3)系统定时器初始化 (4)系统调度器(scheduler)初始化 (5)应用初始化(rt_application_init()创建并启动初始线程,也就是进入用户main函数。注意:此处的进入用户main函数其实是将main函数作为线程运行) (6)系统定时器线程初始化 (7)创建并启动空闲线程 (8)启动系统调度器 至此,整个启动过程结束。特别注意的是:main.c文件中的main函数其实是一个线程,以提供给用户创建其他应用线程,所以在创建了其他应用线程之后,这个main函数线程就可以被删除了。
进入用户main函数之后最好延时一段时间,避过系统上电的不稳定期(可用示波器查看时间长短),再进行其他动作。
以上为个人见解,如有不妥之处,请指正。
转载地址:http://qiwsi.baihongyu.com/