双核 IPC 日志示例
源码位置: samples/subsys/logger/dual_core_ipc 查看源码
这个示例专门演示双核环境下的 AP 日志通过 IPC 转发到 CP 打印,不依赖 WiFi。
行为
AP 核启动并引导 CP 核
AP 核初始化 IPC slave,并周期性打印
AP heartbeatCP 核初始化 IPC master,并在本地串口输出 AP 转发过来的日志
AP 侧 IPC writer backend 会为转发日志补上来源前缀,默认显示为
[REMOTE]
自定义来源标记
如需修改转发日志前缀,可在 AP 侧 remote/prj.conf 中覆盖:
CONFIG_LOG_BACKEND_IPC_PREFIX="[APP] "
设置后,CP 串口上的 AP 转发日志将显示为 [APP] ...。
编译
重要提示:在编译前,请先确认您使用的开发板型号。SDK 目前支持以下开发板:
arcs_evb - ARCS EVB 评估板
arcs_mini - ARCS Mini 开发板
根据您的开发板型号,选择对应的编译命令:
在 SDK 根目录执行编译。Linux 使用 build.sh:
# 使用 arcs_evb 开发板
./build.sh -C -S samples/<示例路径> -DBOARD=arcs_evb
# 或使用 arcs_mini 开发板
./build.sh -C -S samples/<示例路径> -DBOARD=arcs_mini
Windows PowerShell 使用 build.ps1:
# 使用 arcs_evb 开发板
.\build.ps1 -C -S samples/<示例路径> -DBOARD=arcs_evb
# 或使用 arcs_mini 开发板
.\build.ps1 -C -S samples/<示例路径> -DBOARD=arcs_mini
Note
确保已安装对应平台的工具链和 ListenAI 开发工具包。Windows 环境请先执行 .\env.ps1 或直接使用 .\build.ps1 自动加载环境。
执行一次构建会同时生成:
build/dual_core_ipc_cp.binbuild/remote/dual_core_ipc_ap.bin
烧录
guardian 会按照 sample.yaml 中的 images 配置依次烧录 AP 和 CP 两个 bin。
如需手动烧录,可执行:
./tools/burn/cskburn -s /dev/ttyUSB0 -b 3000000 0x0 build/remote/dual_core_ipc_ap.bin -C arcs
./tools/burn/cskburn -s /dev/ttyUSB0 -b 3000000 0x80000 build/dual_core_ipc_cp.bin -C arcs
build/merged.bin 仍会保留,供需要单镜像烧录的场景使用。
预期结果
ttyACM0(CP)能看到类似[REMOTE] I/ap_main ... AP heartbeat的输出AP 侧仍保留 console backend;如接出 AP UART,也能看到本地日志输出