OAK4 SoM 开发指南
OAK4 SoM 开发指南
| QUPv3 引擎 | 模式 | 引脚 | 备注 |
| QUPv3_SE0 | I2C |
| |
| QUPv3_SE1 | SPI |
| |
| QUPv3_SE2 | SPI |
| |
| QUPv3_SE3 | / | / | 当前未公开 |
| QUPv3_SE4 | I2C |
| 默认启用 |
| QUPv3_SE5 | I2C |
| |
| QUPv3_SE6 | / | / | 当前未公开 |
| QUPv3_SE7 | UART |
| |
| QUPv3_SE8 | I2C |
| |
| QUPv3_SE9 | I3C |
| |
| QUPv3_SE10 | SPI |
| |
| QUPv3_SE11 | SPI |
| |
| QUPv3_SE12 | I2C |
| 默认启用 |
| QUPv3_SE13 | / | / | 当前未公开 |
| QUPv3_SE14 | UART |
| 高速 UART,硬件流控制 |
| QUPv3_SE15 | / | / | 当前未公开 |
| I2CHUB_SE0 | / | / | 当前未公开 |
| I2CHUB_SE1 | / | / | 当前未公开 |
| I2CHUB_SE2 | I2C |
| 默认启用 |
| I2CHUB_SE3 | I2C |
| |
| I2CHUB_SE4 | I2C |
| |
| I2CHUB_SE5 | / | / | 当前未公开 |
| I2CHUB_SE6 | / | / | 当前未公开 |
| I2CHUB_SE7 | / | / | 当前未公开 |
| I2CHUB_SE8 | / | / | 当前未公开 |
| I2CHUB_SE9 | / | / | 当前未公开 |
设备树覆盖配置
/persist/custom/dtbo 目录中。在启动过程中,系统会应用此目录中找到的所有覆盖文件,以实现所需的引脚配置。此文件夹中的文件在 OTA 更新后也会保留,不会被删除。I2C 配置示例
通过 I2C 连接 BME280 传感器
bme280.dts):Dts
1/dts-v1/;
2/plugin/;
3
4/ {
5 fragment@0 {
6 target = <&qupv3_se5_i2c>;
7 __overlay__ {
8 status = "ok";
9 #address-cells = <1>;
10 #size-cells = <0>;
11
12 bme280@76 {
13 compatible = "bosch,bme280";
14 reg = <0x76>;
15 };
16 };
17 };
18};status = "ok";,它实际启用了所选的 I2C 引擎。如果没有它,外围设备将保持禁用状态。注意: 对于 QUP 引擎,请使用&qupv3_seX_i2c;对于 HUB 引擎,请使用&qupv3_hub_i2cX,其中X是引擎索引。
编译覆盖文件
Command Line
1docker run --rm \
2 -v /etc/passwd:/etc/passwd:ro \
3 -v /etc/shadow:/etc/shadow:ro \
4 -v "$PWD":"$PWD" \
5 -w "$PWD" \
6 --user=$(id -u):$(id -g) --group-add 27 \
7 luxonis/luxonis-os-rvc4:<SDK_version>-public \
8 /bin/bash -c "dtc -@ -I dts -O dtb -o bme280.dtbo bme280.dts"注意:将编译好的<SDK_version>必须与目标设备刷写的 OS 版本匹配(例如1.8.0)。如果您使用的是最新的 OS 版本,也可以使用latest。
.dtbo 文件传输到目标设备:Command Line
1scp /app/test-overlay/bme280.dtbo user@<device-ip>:/persist/custom/dtbo//sys/bus/i2c/devices/ 来验证 I2C 设备是否已注册。SPI 配置示例
Dts
1/dts-v1/;
2/plugin/;
3
4/ {
5 fragment@0 {
6 target = <&qupv3_se1_spi>;
7 __overlay__ {
8 status = "ok";
9 };
10 };
11};Command Line
1docker run --rm \
2 -v /etc/passwd:/etc/passwd:ro \
3 -v /etc/shadow:/etc/shadow:ro \
4 -v "$PWD":"$PWD" \
5 -w "$PWD" \
6 --user=$(id -u):$(id -g) --group-add 27 \
7 luxonis/luxonis-os-rvc4:latest-public \
8 /bin/bash -c "dtc -@ -I dts -O dtb -o spi-overlay.dtbo spi-overlay.dts"Command Line
1scp spi_se1.dtbo user@<device-ip>:/persist/custom/dtbo/工厂模式
root 用户的密码,并启用无需密码即可登录的 SSH。通过在 /persist/factory/enabled 下创建一个文件来进入工厂模式(文件的内容无关紧要)。启动时,如果找到此文件,则会触发工厂模式。要恢复并退出工厂模式,请在系统上运行此命令:Command Line
1rm /persist/factory/enabled && cp -r /persist/factory/original_files/* / && rm -rf /persist/factory/original_files && sync && rebootoelinux123,并且禁用 SSH 密码登录。故障排除
- 进入 紧急下载模式 (EDL)。
- 使用一个已知良好的映像重新刷写设备。
dmesg 检查内核消息:Command Line
1dmesg | lessCommand Line
1journalctl -u apply-overlays.service