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
126
README.md
126
README.md
|
|
@ -1,24 +1,110 @@
|
|||
编译方法:
|
||||
./build.sh example smart_outlet uno-91h SINGAPORE ONLINE 0
|
||||
# Ai-Thinker RTL8710BX AliOS SDK
|
||||
|
||||
第一个参数为help时,输出build.sh当前默认编译参数.
|
||||
第一个参数为clean时,执行SDK目录下example目录删除,并从仓库恢复,下次编译时,会重新完整编译整个SDK及应用.
|
||||
第一个参数在Products目录下找不到对应的文件夹时,会继续从Living_SDK/example目录下找,如能找到,则执行编译,成功后,复制编译结果到out目录。
|
||||
## 项目介绍
|
||||
|
||||
要实现不输入参数,执行./build.sh编译输出需要的应用固件,可更改以下默认参数:
|
||||
default_type="example"
|
||||
default_app="smart_outlet"
|
||||
default_board="uno-91h"
|
||||
default_region=SINGAPORE
|
||||
default_env=ONLINE
|
||||
default_debug=0
|
||||
default_args=""
|
||||
以上参数分别对应:
|
||||
产品类型、应用名称、模组型号、连云区域、连云环境、debug、其他参数(可不填,需要时把参数加到双引号内)。
|
||||
本仓库是面向 RTL8710BN/RTL8710BX 系列模组的 AliOS Things 1.3.4 与阿里云 LinkKit 示例 SDK。仓库同时包含产品示例、AliOS 内核与框架、RTL8710BN 平台适配、MK3080 等板级配置以及固件打包脚本。
|
||||
|
||||
仓库属于遗留 SDK:原始代码最后提交于 2020 年,依赖 Python 2 和较旧的构建系统。2026-08-07 已在 Ubuntu 22.04/WSL2 中验证 `smart_outlet@mk3080` 目标可以完成两次干净构建;这不代表其他 Board 或真实硬件功能已经验证。
|
||||
|
||||
当前已支持的board:
|
||||
RDA5981A: hf-lpb130 hf-lpb135 hf-lpt230 hf-lpt130 uno-91h
|
||||
moc108: mk3060 mk3061
|
||||
rtl8710bn: mk3080 mk3092
|
||||
asr5501: mx1270
|
||||
## 目录结构
|
||||
|
||||
| 路径 | 说明 |
|
||||
| --- | --- |
|
||||
| `Products/example/smart_outlet/` | 智能插座示例、设备状态与 LinkKit 业务逻辑 |
|
||||
| `Living_SDK/kernel/` | AliOS 内核初始化、Rhino 和系统服务 |
|
||||
| `Living_SDK/framework/` | LinkKit、网络管理、OTA、事件循环等框架 |
|
||||
| `Living_SDK/platform/mcu/rtl8710bn/` | RTL8710BN 启动、HAL、驱动、链接脚本和预编译库 |
|
||||
| `Living_SDK/board/mk3080/` | MK3080 Board 配置、Boot/ATE 镜像和板级代码 |
|
||||
| `tools/mk3080.sh` | RTL8710BN/MK3080 分阶段编译、链接与固件打包 |
|
||||
| `Service/version/` | 固件版本信息组件 |
|
||||
|
||||
详细模块关系和启动流程见[架构说明](docs/ARCHITECTURE.md)。
|
||||
|
||||
## 快速开始与构建
|
||||
|
||||
推荐在 Ubuntu 22.04 或 WSL2 中构建。已验证环境需要:
|
||||
|
||||
- Git
|
||||
- Python 2.7(仅用于遗留构建脚本)
|
||||
- Python 3.10 与 `aos-cube==0.5.11`
|
||||
- ARM GNU Toolchain 10.3.1
|
||||
- Newlib 3.3.0
|
||||
|
||||
Ubuntu 22.04 可以安装 ARM 编译器和 Newlib:
|
||||
|
||||
```bash
|
||||
sudo apt-get install --no-install-recommends gcc-arm-none-eabi libnewlib-arm-none-eabi
|
||||
```
|
||||
|
||||
准备独立的 aos-cube 环境后,按以下方式执行干净构建:
|
||||
|
||||
```bash
|
||||
cd Ai-Thinker-Open_RTL8710BX_ALIOS_SDK
|
||||
|
||||
# WSL 可能注入 NAME;该变量会覆盖旧 Makefile 中的组件 NAME。
|
||||
unset NAME
|
||||
ulimit -s unlimited
|
||||
|
||||
# /usr/bin 必须排在 aos-cube venv 前,使遗留 Make 脚本使用 Python 2;
|
||||
# aos 命令仍会从后面的 venv 中找到,并由它自己的 Python 3 shebang 启动。
|
||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$HOME/.venvs/aos-cube-0.5.11-system/bin
|
||||
|
||||
./build.sh clean smart_outlet
|
||||
./build.sh example smart_outlet mk3080 MAINLAND ONLINE 0
|
||||
```
|
||||
|
||||
成功后主要产物位于:
|
||||
|
||||
```text
|
||||
out/smart_outlet@mk3080/
|
||||
```
|
||||
|
||||
其中包括 ELF、MAP、HEX、应用 BIN、OTA BIN 和包含 Boot/ATE 分区的 `all.bin`。
|
||||
|
||||
完整环境、产物哈希与日志见[真实构建验证](docs/BUILD_VERIFICATION.md)。
|
||||
|
||||
## 代码入口与运行流程
|
||||
|
||||
RTL8710BN 的主启动流程为:
|
||||
|
||||
```text
|
||||
Realtek startup
|
||||
-> main
|
||||
-> sys_init_func
|
||||
-> aos_kernel_init
|
||||
-> application_start
|
||||
-> Wi-Fi 获得 IP
|
||||
-> linkkit_main
|
||||
```
|
||||
|
||||
具体文件、行号、符号和最终 ELF 证据见[代码入口说明](docs/CODE_ENTRY.md)。
|
||||
|
||||
## 示例与配置
|
||||
|
||||
已验证示例为 `Products/example/smart_outlet`,Board 为 `mk3080`:
|
||||
|
||||
```bash
|
||||
./build.sh example smart_outlet mk3080 MAINLAND ONLINE 0
|
||||
```
|
||||
|
||||
参数依次表示产品类型、应用、Board、云区域、云环境和 Debug 开关。仓库还包含 `linkkit_gateway`、`living_platform`、`certification` 等示例,但本次没有对这些目标进行完整构建验证。
|
||||
|
||||
## 使用限制
|
||||
|
||||
- 本次验证没有连接真实 RTL8710BX/MK3080 硬件。
|
||||
- 未验证烧录、启动、Wi-Fi 配网、云端连接、OTA、外设和量产流程。
|
||||
- 仓库包含 Python 2、旧版 TLS/网络组件和预编译库;用于新产品前应单独进行安全与许可证审查。
|
||||
- 构建成功不等于所有 Board、示例和运行场景都可用。
|
||||
|
||||
## 问题排查与贡献
|
||||
|
||||
- 出现乱码或 `UnicodeDecodeError` 时,请确认使用了本仓库兼容后的 `gen_auto_code.py`。
|
||||
- `map_parse_gcc.py` 使用 Python 2 语法;请保持 `/usr/bin` 位于 aos-cube 虚拟环境之前。
|
||||
- 出现 `stdio.h`、`unistd.h` 或 `nano.specs` 缺失时,请安装 `libnewlib-arm-none-eabi`。
|
||||
- 提交改动前请说明目标 Board、完整构建命令、验证结果和未验证范围,并通过独立分支和 Pull Request 合并。
|
||||
|
||||
机器可读的审查证据见 [`audit/technical-evidence.json`](audit/technical-evidence.json)。
|
||||
|
||||
## License
|
||||
|
||||
仓库根目录使用 [Apache License 2.0](LICENSE)。仓库中的第三方组件、预编译库和厂商 SDK 可能适用各自的许可证,分发前应同时核对对应目录中的声明。
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue