mirror of
https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_RTL8710BX_ALIOS_SDK.git
synced 2026-08-23 23:21:31 +00:00
docs: add verified RTL8710BX SDK evidence
This commit is contained in:
parent
224b261537
commit
2f4b4e4de8
6 changed files with 1090 additions and 20 deletions
59
docs/CODE_ENTRY.md
Normal file
59
docs/CODE_ENTRY.md
Normal 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)`,因此入口说明不只是文件名推断,而是已链接到最终固件的证据。
|
||||
Loading…
Add table
Add a link
Reference in a new issue