Nuttx board_app_initialize(arg)的调用

当在menuconfig配置Application Configuration --->NSH Library --->[*] Have architecture-specific initialization时,在apps\nshlib目录下的Kconfig有如下内容

从图中可以看到 select LIB_BOARDCTL,在nuttx\.config中有一下生成

说明CONFIG_LIB_BOARDCTL被定义了,在nuttx\configs\boardctl.c文件的boardctl()函数调用了board_app_initialize(arg)这个函数,所以stm32f407\src\stm32_boot.c文件中的 

board_app_initialize(arg)函数才会被执行。在apps\system\nsh\nsh_main.c中有

nuttx\configs\boardctl.c中的boardctl()函数的执行如下

依然没看见board_app_initialize(arg)被执行。但是在apps\system\nsh\nsh_main.c中有

nsh_initialize()中有

可以看到boardctl()的传入参数为BOARDIOC_INIT因此board_app_initialize(arg)可以被执行了,但是在其定义区域是不活动的(?)。但是在nuttx\include\nuttx\config.h中定义了CONFIG_NSH_ARCHINIT,并且在nuttx\.config也有如下定义

因此board_app_initialize(arg)被执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值