docs: add verified RTL8710BX SDK evidence

This commit is contained in:
mrxiaocheng4519 2026-08-07 15:15:33 +08:00
parent 224b261537
commit 2f4b4e4de8
6 changed files with 1090 additions and 20 deletions

59
docs/CODE_ENTRY.md Normal file
View file

@ -0,0 +1,59 @@
# RTL8710BX SDK 代码入口说明
本文说明已验证目标 `smart_outlet@mk3080` 的启动入口、应用入口和云业务入口。行号基于原始提交 `27b3e2883d5801551c6919bf405583919d2f3f08` 加编码兼容修复后的源码。
## 1. 平台入口
文件:`Living_SDK/platform/mcu/rtl8710bn/aos/aos.c`
- `main`:第 157 行Realtek 启动代码进入 AliOS 的平台主入口。
- `main` 在第 173 行创建 `sys_init_func` 初始化任务。
- `main` 在第 177 行调用 `aos_start` 启动内核调度。
- `sys_init_func` 在第 146 行调用 `aos_kernel_init`
上游 Realtek 启动文件 `Living_SDK/platform/mcu/rtl8710bn/sdk/component/soc/realtek/8711b/cmsis/device/app_start.c` 最终调用 `main`
## 2. AliOS 内核入口
文件:`Living_SDK/kernel/init/aos_init.c`
- `aos_kernel_init`:第 267 行。
- 该函数初始化 VFS、CLI、KV、网络与框架服务。
- 第 334 行调用产品提供的 `application_start`
## 3. 产品应用入口
文件:`Products/example/smart_outlet/app_entry.c`
- `application_start`:第 665 行。
- 初始化日志级别、设备元数据、网络管理、厂商适配、诊断、OTA、事件过滤器和业务任务。
- Wi-Fi 事件处理函数 `wifi_service_event` 在获得 IP 后,于第 121 行创建 `linkkit` 任务。
- `application_start` 最终在第 729 行进入 `aos_loop_run` 事件循环。
## 4. LinkKit 业务入口
文件:`Products/example/smart_outlet/smart_outlet_main.c`
- `linkkit_main`:第 623 行。
- 负责设备元数据、LinkKit 初始化、云端连接及属性/事件业务循环。
产品构建清单 `Products/example/smart_outlet/smart_outlet.mk` 明确包含 `app_entry.c``smart_outlet_main.c`、厂商适配、状态管理、属性上报和消息处理源码,并依赖 LinkKit、HAL、NetMgr、cJSON 与 OTA 组件。
## 5. 最终产物验证
在验证提交 `bba690e6a8c6e6c4c6ccd9bd14b320a68957b006` 的最终 ELF 上执行:
```bash
arm-none-eabi-nm out/smart_outlet@mk3080/smart_outlet@mk3080.elf \
| grep -E ' (application_start|aos_kernel_init|linkkit_main)$'
```
确认三个符号均为全局 Text 符号:
```text
08020c1c T aos_kernel_init
0801c668 T application_start
0801de04 T linkkit_main
```
MAP 文件同时显示它们分别来自 `kernel_init.a(aos_init.o)``smart_outlet.a(app_entry.o)``smart_outlet.a(smart_outlet_main.o)`,因此入口说明不只是文件名推断,而是已链接到最终固件的证据。