RTThread的初始化宏(备忘录)

发布时间 2023-05-01 15:32:50作者: 当最后一片树叶落下

RTThread的初始化流程

方便后续查找.

一.初始化接口

初始化顺序 接口 描述
1 INIT_BOARD_EXPORT(fn) 硬件的初始化,此时调度器还未启动
2 INIT_PREV_EXPORT(fn) 主要是用于纯软件的初始化、没有太多依赖的函数
3 INIT_DEVICE_EXPORT(fn) 外设驱动初始化相关,比如网卡设备
4 INIT_COMPONENT_EXPORT(fn) 组件初始化,比如文件系统或者LWIP
5 INIT_ENV_EXPORT(fn) 系统环境初始化,比如挂载文件系统
6 INIT_APP_EXPORT(fn) 应用初始化,比如GUI应用
官方默认的初始化有:

INIT_BOARD_EXPORT():

INIT_PREV_EXPORT():

INIT_DEVICE_EXPORT():
rtc_hw_rtc_init()

INIT_COMPONENT_EXPORT():

INIT_APP_EXPORT():
finsh_system_init

INIT_EXPORT():
好吧,它是上面宏的调用

借用官方的一张图
img

Finsh的一些宏指令:

序号 宏接口 宏定义
1 FINSH_FUNCTION_EXPORT(name, desc) FINSH_FUNCTION_EXPORT_CMD(name, name, desc)
2 FINSH_FUNCTION_EXPORT_ALIAS(name, alias, desc) FINSH_FUNCTION_EXPORT_CMD(name, alias, desc)
3 MSH_CMD_EXPORT(command, desc)
上面这些宏函数,只实现了MSH_CMD_EXPORT()
 /*是有实现的*/
 #define MSH_FUNCTION_EXPORT_CMD(name, cmd, desc) {...}

/*常用命令*/
 #define MSH_CMD_EXPORT(command, desc)                   MSH_FUNCTION_EXPORT_CMD(command, command, desc)
 #define MSH_CMD_EXPORT_ALIAS(command, alias, desc)      MSH_FUNCTION_EXPORT_CMD(command, alias, desc)

其它

还有一个EXPORT宏用来向外声明函数:
RTM_EXPORT(fn)
但是这个没启用