RTThread的初始化宏(备忘录)

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():

rt_hw_xxx_init()  /* xxx device init*/

INIT_COMPONENT_EXPORT():

做点啥呢?

INIT_APP_EXPORT():

finsh_system_init() /* finsh app init*/

INIT_EXPORT(fn, level):

好吧,它是上面哪些宏的展开

借用官方的一张图
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)
但是这个没启用

posted @ 2023-05-01 15:28  当最后一片树叶落下  阅读(90)  评论(0编辑  收藏  举报