全志 Lichee 风格的 S3 SDK,当前配置固定在:
芯片:sun8iw8p1
平台:linux
内核:linux-3.4
板型:zeta-evb
输出镜像:tools/pack/sun8iw8p1_linux_zeta-evb_uart0.img
当前配置来自 .buildconfig:1。
基本使用
必须在 SDK 根目录执行:
cd /opt/S3/s3-evb-sdk-remote_v1.5
source build/envsetup.sh
注意是 source,不是直接运行。因为 build/envsetup.sh:88 里定义了 zmake shell 函数。
然后常用命令:
zmake all # 全量构建:buildroot + kernel + 预置库 + core + app + rootfs + 打包
zmake kernel # 只编内核
zmake rootfs # 重新生成 squashfs rootfs
zmake image # 只重新打包镜像
zmake image debug
构建流程
zmake all 实际做这些事:
./build/build.sh
调 Buildroot/Lichee 主流程,构建 buildroot、kernel、rootfs。
编译/拷贝 prebuild/
主要是 CedarC 编解码库、MiniGUI、Wi-Fi 固件、配置文件等。
编译 core/
包括 libcamera、libinterface、libutils、tinyalsa、Wi-Fi 控制库等。
编译 app/
旧的 app/evb 和当前 README 里提到的 app/lvgl8_camera_app 属于应用层。
zmake rootfs
用 build/hooks/rootfs_hook.sh 把文件安装进 rootfs,然后生成:
out/sun8iw8p1-linaro-5.3/linux/common/buildroot/images/rootfs.squashfs
zmake image
调 tools/pack/pack,生成最终 .img。
常见开发方式
改应用:
source build/envsetup.sh
zmake app/lvgl8_camera_app/zeta.in # 如果该目录有对应 zeta.in
./app/lvgl8_camera_app/build.sh
zmake rootfs
zmake image
改 camera HAL:
source build/envsetup.sh
zmake core/camera/zeta.in
zmake rootfs
zmake image
只改 rootfs 里的脚本、配置、预置文件:
source build/envsetup.sh
zmake rootfs
zmake image
只重新打包:
source build/envsetup.sh
zmake image
关键目录
build/envsetup.sh:1:环境变量和 zmake
buildroot/scripts/mkcmd.sh:408:底层 buildroot/kernel/pack 流程
linux-3.4/:内核
buildroot/:根文件系统构建
core/:平台库、camera、display、wifi 等
app/:应用
prebuild/:预置库、固件、配置
tools/pack/:全志打包工具和板级 fex 配置
out/sun8iw8p1-linaro-5.3/linux/common/buildroot/target/:目标根文件系统目录
tools/pack/sun8iw8p1_linux_zeta-evb_uart0.img:最终烧录镜像
烧录
README 给出的方式是进入 FEL/efex 后:
sudo openixcli flash --verify -a reboot \
tools/pack/sun8iw8p1_linux_zeta-evb_uart0.img
串口:
/dev/ttyUSB0 115200
一个重点:这个 SDK 当前不是通用默认 evb 板配置,实际板名是 zeta-evb。直接用 evb 会报 board 不存在。
离线