文章目录
bootloader 主函数
1)我们以 stm32f103xb_bl 为例,从 bootloader 项目的 main() 函数开始:

- (1)sdk_init():MCU 初始化
- (2)gpio_init():USB 相关引脚配置
- (3)config_init():RAM 中配置初始化
- (4)board_bootloader_init():nothing
- (5)reset_button_pressed() 和 modify_stack_pointer_and_start_app():运行 BL or IF
- (6)OS 和 main task 配置:
- osKernelInitialize():初始化
- osThreadNew(main_task):主任务回调函数 main_task()
- osKernelStart():启动主任务
1 sdk_init()
1)sdk_init() 是 DAPLINK 提供的 厂商 sdk 初始化 接口函数。移植时可实现该函数,以进行时钟等外设上电初始化:
// 在 /source/hic_hal/sdk.h 文件中声明
void sdk_init(void);
// 在 /source/daplink/sdk_stub.c 文件中提供默认实现
__WEAK void sdk_init()
{
// Do nothing
}
2)在 stm32f103xb_bl 项目中,该函数的调用逻辑如下:
2 gpio_init()
1)gpio_init() 是 DAPLINK 提供的 LED、按键初始化


最低0.47元/天 解锁文章
457

被折叠的 条评论
为什么被折叠?



