双核 IPC 日志示例

这个示例专门演示双核环境下的 AP 日志通过 IPC 转发到 CP 打印,不依赖 WiFi。

行为

  • AP 核启动并引导 CP 核

  • AP 核初始化 IPC slave,并周期性打印 AP heartbeat

  • CP 核初始化 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.bin

  • build/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,也能看到本地日志输出