找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 31|回复: 0

百里sdk程序启动运行流程

[复制链接]

67

主题

1

回帖

395

积分

管理员

积分
395
发表于 2026-9-16 15:52:58 | 显示全部楼层 |阅读模式
main()(apps/watch/common/init.c:221)



clock_set_sfc_max_freq(104MHz) → wdt_close → os_init (uC/OS-II)
→ setup_arch (SoC级) → board_early_init → task_create("app_core") → os_start




setup_arch()(cpu/br28/setup.c:182)



开 BPU → memory_init → p11_init → wdt_init → efuse_init → 时钟/电压 → tick_timer_init → port_init → 调试串口 → 中断/定时器注册


app_init()(init.c:113):用 initcall 机制(include_lib/system/init.h,函数指针放入链接段后遍历)按序执行:


early_initcall → platform_initcall → board_init → initcall → module_initcall → late_initcall → audio编解码 → update_result_deal



board_init() 在 src/board_bylestudio_demo.c:1475(电源/ADC/配置解析/RTC/充电/触摸屏/传感器/VAD 等)。

app_main()(app_main.c:132):置 APP_POWERON_TASK(充电则 APP_IDLE_TASK)→ ui_manage_init → app_task_loop()

app_task_loop()(app_main.c:40):按 app_curr_task 分发状态机,APP_POWERON_TASK → app_poweron_task(开机画面+提示音)→ 切到 APP_IDLE_TASK(表盘)等。

Byle SDK 业务挂载点:user_app.c(early_initcall(user_io_init)/module_initcall(user_power_on_init))、byle_vad_mic.c(late_initcall(vad_low_power_init))、byle_debug.c、byle_thread.c 等;低功耗任务用 REGISTER_LP_TARGET 注册到 .lp_target 段。

当前编译特性:BYLE_AI_EN=1、BYLE_KWS_ASR_EN=1、BYLE_NET_EN=1(src/tool_*.h)

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2026-10-10 06:19 , Processed in 0.069714 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表