RDK S100 载板适配
一、硬件准备与环境配置
1 硬件准备
1.1 所需硬件清单
在开始之前,请确保准备好以下硬件:
| 硬件 | 说明 | 必需 |
|---|---|---|
| RDK S100 开发板 | 运行示例程序的主板 | ✓ |
| EVS 事件相机模块 | 连接到 RDK S100 | ✓ |
| 电源适配器 | 12V/5.5A 或更高功率 | ✓ |
| RDK S100 相机扩展板 | 提供 MIPI 相机接口 | ✓ |
| HDMI 显示器 | 用于查看实时画面 | 推荐 |
| HDMI 线 | 连接开发板和显示器 | 推荐 |
| 网线 | 用于远程访问(可选) | 可选 |
| USB 鼠键 | 本地操作(可选) | 可选 |
1.2 硬件连接步骤
步骤 1:安装 SD 卡
确保 SD 卡已烧录系统镜像
镜像版本
使用的镜像为:shimetapi_rdk_s100_v1.0
步骤 2:连接 EVS 相机
- 请在 RDK S100 关闭电源且 DC 电源插头已拔出的状态下操作;确认相机扩展板已与 RDK S100 的 100Pin 连接器(J2000)完全扣合,并已安装固定螺丝。
- 在扩展板上选择一个 MIPI 相机接口(CAM1/CAM2)。两个接口均为 4 Lane MIPI CSI D-PHY 接口。
- 轻轻打开所选 MIPI 接口的卡扣,按 EVS 相机排线的标识方向将排线完全插入接口。
- 按下卡扣固定排线,确认排线平整、连接牢靠。
- 根据 EVS 相机的硬件要求设置扩展板拨码开关:SW2201 选择 MIPI 控制信号的 1.8V 逻辑电平,SW2200 选择 24MHz MCLK 。
注意
请勿带电插拔相机排线。接通电源前,请确认相机扩展板和 EVS 相机的连接器均已完全扣合。

步骤 3:连接显示器
- 使用 HDMI 线连接 RDK X5 和显示器
步骤 4:接通电源
- 将电源适配器连接至 RDK S100 的 DC 电源接口,并将主板电源开关 SW1 拨至开启位置。
- 等待系统启动,观察主板 J8 连接器侧的指示灯:
- POWER 绿灯常亮,表示主板已上电。
- DOWNLOAD 红灯熄灭,表示开发板处于正常启动模式,而非 DFU 烧录模式。
- SYSTEM 橙灯闪烁,表示系统运行正常;若该灯常亮或熄灭,则表示系统运行异常。
- 已连接 HDMI 显示器时,启动完成后会显示 Ubuntu 图形界面。
- 已正确连接相机扩展板时,其电源指示灯应绿色常亮,表示扩展板已连接且 RDK S100 已输出 3.3V 电源。
2 环境配置
参考文档
RDK官方指导:https://developer.d-robotics.cc/rdk_doc/RDK
2.1 系统登录
2.1.1 HDMI桌面系统
插入电源,HDMI,等待系统初始化,初始化完成即可显示桌面系统

2.1.2 串口登录
选择串口登录需要确保安装了串口驱动 CH340。 插入串口,设备管理器会有端口显示。
打开 MobaXterm 工具,点击 Session,然后选择 Serial,S100 的串口波特率是 921600 (选择大的那个COM号)

再插入电源上电,此时在 MobaXterm 的串口终端里会打印日志,最后会有个系统登录 用户:sunrise 密码:sunrise 用户:root 密码:root (管理员权限)

2.2 MobaXterm SSH 连接
连接以太网直接用 ifconfig 指令获取当前设备 IP
然后就可以打开 MobaXterm 工具,点击 SSH,填写 IP 地址和用户(这里的用户推荐直接使用 root)

点击 OK 后再输入密码就可以进入终端了

二、示例程序使用指南
以下指令均在 root 用户下执行,在 sunrise 用户下需要在指令前添加 sudo 再执行。
su root # 密码:root1 示例程序目录框架
sample_apx003cc
├── README.md
├── sample_aps
│ ├── get_aps_display #单aps模式RGB显示应用
│ │ ├── aps_nv12_display.cpp
│ │ ├── aps_nv12_display.h
│ │ ├── get_aps_display.c
│ │ ├── gpio_ctrl.c
│ │ ├── gpio_ctrl.h
│ │ └── Makefile
│ └── get_aps_raw_display #单aps模式RAW图直接显示应用
│ ├── aps_display.cpp
│ ├── aps_display.h
│ ├── aps_raw_unpack.c
│ ├── aps_raw_unpack.h
│ ├── get_aps_raw_display.c
│ ├── gpio_ctrl.c
│ ├── gpio_ctrl.h
│ └── Makefile
├── sample_evs_release #单evs应用包
│ ├── evs_env
│ │ ├── include
│ │ └── lib
│ ├── evs_mode
│ │ ├── 01_evs_live_player #单evs显示应用
│ │ ├── 02_evt2_to_csv #RAW8转csv应用
│ │ ├── 03_evs_recode_player #evt2(.raw)回显应用
│ │ └── 04_raw8_to_evt2 #RAW8转evt2(.raw)应用
│ └── Makefile
└── sample_hvs #hvs融合模式应用
└── get_two_vc_data
├── get_two_vc_data.cpp
├── include
├── libs
├── Makefile
└── src2 sample_aps 使用指南
2.1 APS RGB 实时预览
get_aps_display 从 PYM 输出通道获取 NV12 图像,将其转换为 RGB 图像后实时显示。按 q 或 Ctrl+C 退出。
| 参数 | 说明 |
|---|---|
-s <sensor_index> | 指定 sensor 配置索引,必填。 |
-l <link_port> | SerDes link 端口,仅 GMSL sensor 使用;0-3 对应 A-D。 |
-d <0|1> | 预览开关,默认 1;0 仅采集数据,不显示窗口。 |
-c <pym_chn> | PYM 输出通道,默认 0,取值范围 0-5。 |
-h | 显示帮助和当前支持的 sensor 列表。 |
cd /app/multimedia_samples/sample_apx003cc/sample_aps/get_aps_display
make
./get_aps_display -s 8 -d 1
2.2 APS RAW 实时预览
get_aps_raw_display 直接从 VIN 输出通道获取 RAW 图像,不经过 ISP、YNR 和 PYM 处理;输入为 RAW10 且启用显示时,程序会转换为 8 bit 灰度图实时预览。按 q 或 Ctrl+C 退出。
| 参数 | 说明 |
|---|---|
-s <sensor_index> | 指定 sensor 配置索引,必填。 |
-l <link_port> | SerDes link 端口,仅 GMSL/SerDes sensor 使用;0-3 对应 A-D。 |
-d <0|1> | 预览开关,默认 0;1 显示 RAW10 实时预览窗口。 |
-h | 显示帮助和当前支持的 sensor 列表。 |
cd /app/multimedia_samples/sample_apx003cc/sample_aps/get_aps_raw_display
make
./get_aps_raw_display -s 8 -d 1
3 sample_evs_release 使用指南
构建依赖错误
编译 sample_evs_release 时,若出现 /usr/bin/ld: cannot find -lcairo: No such file or directory,表示缺少 Cairo 开发库。执行以下命令安装依赖后,在 sample_evs_release 目录重新执行 make:
sudo apt install libcairo2-dev3.1 实时预览与 RAW8 录制
01_evs_live_player 打开 EVS 相机后,将事件流转换为 OpenCV 图像实时显示;录制时将原始 MIPI RAW8 数据暂存至 DDR 的 /dev/shm/temp_evs_recording.RAW8,停止录制或退出程序后保存为 evs_events_时间戳.RAW8。内存缓存上限为 1 GB。
cd /app/multimedia_samples/sample_apx003cc/sample_evs_release/evs_mode/01_evs_live_player
make
./evs_live_player.RAW8 -s 9 -o 1启动成功后,终端会输出相机初始化与事件捕获日志,并显示 EVS 实时预览窗口;可使用 r / R 开始或停止录制。
| 参数 | 说明 |
|---|---|
-s <sensor_index> | 指定 EVS sensor 配置索引,必填。 |
-t <settle_value> | 指定 MIPI settle 时间,用于调试链路稳定性。 |
-m <sensor_mode> | 指定 sensor 工作模式,默认 0。 |
-i <i2c_bus> | 指定 I2C 总线号,默认 1。 |
-o <model_type> | 指定 model_type,默认 0。 |
-h | 显示帮助和当前支持的 sensor 列表。 |
| 按键 | 说明 |
|---|---|
r / R | 开始或停止 RAW8 录制。 |
d / D | 开启或关闭实时显示。 |
c / C | 重置显示画面。 |
q / Q / ESC | 退出程序,并将内存中的录制数据写入最终文件。 |

注意
程序启动时会自动通过 GPIO502、GPIO503 复位 CAM0、CAM1,因此需要 root 权限。自动复位失败时,请检查相机连接及 GPIO 配置。
3.2 RAW8 转 EVT2
04_raw8_to_evt2 将 01_evs_live_player 录制的 RAW8 原始 MIPI 数据转换为 EVT2 格式 .raw 文件。转换结果可使用 03_evs_recode_player 回放,或使用 02_evt2_to_csv 导出为 CSV。
| 参数 | 说明 |
|---|---|
<输入 RAW8 文件路径> | 必填,RAW8 原始 MIPI 数据文件。 |
[输出 EVT2 文件路径] | 可选;未指定时输出到当前目录,文件名与输入文件同名、后缀为 .raw。 |
-h / --help | 显示帮助。 |
cd /app/multimedia_samples/sample_apx003cc/sample_evs_release/evs_mode/04_raw8_to_evt2
make
./raw8_to_evt2 <输入RAW8文件路径> [输出EVT2文件路径]3.3 EVT2 转 CSV
02_evt2_to_csv 读取 EVT2 格式 .raw 事件文件,并将事件坐标、极性和时间戳导出为 CSV。
| CSV 字段 | 说明 |
|---|---|
x / y | 事件坐标。 |
polarity | 事件极性;0 为 OFF/负事件,1 为 ON/正事件。 |
timestamp | 事件时间戳,单位为微秒。 |
| 参数 | 说明 |
|---|---|
<输入 raw 文件路径> | 必填,EVT2 格式的 raw 事件文件。 |
[输出 CSV 文件路径] | 可选;未指定时输出同名 .csv。 |
-h / --help | 显示帮助。 |
cd /app/multimedia_samples/sample_apx003cc/sample_evs_release/evs_mode/02_evt2_to_csv
make
./evt2_to_csv <输入raw文件路径> [输出csv文件路径]3.4 EVT2 文件回放
03_evs_recode_player 读取 EVT2 格式 .raw 文件并按时间顺序生成图像帧,用于检查录制文件和观察事件流。
cd /app/multimedia_samples/sample_apx003cc/sample_evs_release/evs_mode/03_evs_recode_player
make
./evs_recode_player <evt2格式raw文件路径>| 按键 | 说明 |
|---|---|
1 | 按 x1 正常速度回放。 |
2 | 按 x1/2 速度回放。 |
3 | 按 x1/8 速度回放。 |
q / Q / ESC | 退出回放。 |
4 sample_hvs 使用指南
4.1 HVS 双流采集
get_two_vc_data 用于 HVS 融合模式下的双 VC 数据采集。建议将 HDMI 显示器接入开发板,并在 Ubuntu 图形界面中运行,以保持帧率稳定。
cd /app/multimedia_samples/sample_apx003cc/sample_hvs/get_two_vc_data
make
./get_two_vc_data -c 1运行成功后,预览窗口左侧显示 EVS 画面,右侧显示 APS 图像。

