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引擎。没有它,外设将保持禁用状态。注意: 对于target,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