4.开发板硬件快速使用指南 - sophgo-forum-service/sophpi-huashan GitHub Wiki

1、华山派-CV181系列开发板基本介绍

华山派-CV181系列开发板是**算能和生态伙伴硬件十万个为什么**联合推出的的开源生态开发板,为广大使用者提供基于RISC-V的开源开发环境,以视觉、AI场景开发为核心,提供全国产化的解决方案。

1.1, 核心规格

开发板采用XuanTie C906 RISC-V双核CPU,内置4Gb\2Gb\1Gb DDR3L内存可选,算力达到0.5T,支持H.264/H.165/MJPEG 5Mp30(4:3 or 16:9)编码以及H.264/MJPEG 5Mp30(4:3 or 16:9) 内置Audio codec模块。并且兼容EMMC、SPINAND、NorFlash设计。

1.2, 外围接口资源

开发板拥有丰富的外设接口和硬件外围设备资源,包括两个Mipi CSI视觉输入,Mipi DSI和HDMI输出,Wifi、蓝牙和100Methernet(RJ45)无线协议,4个USB2.0,SD card,SPK out(扬声器)、MIC in(麦克风输入),Uart串口,SPI,I2C,PWM,GPIO等等。

1.3, 典型应用

结合开发板强大AI算力、全开源、小巧便携的优点,使得其应用场景十分广泛,像 智慧门禁、智能IPCam、无人机、扫读笔、机器人、智能门铃门锁等等

2、软硬件环境准备

2.1, 将开发板上通过串口转TTL板与电脑连接

注意板端的RX脚接 usb-ttl 的TX脚,板端TX脚接 usb-ttl 的RX脚

uart_ttl
uart_ttl
uart_ttl

2.2, 使用mobaxterm配置串口终端

uart_config

一切顺利的话终端显示

[root@cvitek]~#

操作结果

uart_show

3、基本外设验证

3.1, GPIO操作实验

实验硬件资源

可在开发板双排针J5中进行实验,其对应的GPIO口有GPIOB22,GPIOA20等。
PinName PinN PinN PinName
1 2
IIC_SDA 3 4
IIC_SCL 5 6
GPIOB22 7 8 UART1_TX/JTAG_TDI
9 10 UART1_RX/JTAG_TDO
PWR_BGPIO3 11 12 PWM2
PWR_BGPIO5 13 14
PWR_BGPIO15 15 16 PWR_BGPIO16
17 18 XBGPIO85
SPI2_MOSI 19 20
SPI2_MISO 21 22 PWR_BGPIO14
SPI2_SCK 23 24 SPI2_CS
25 26 SPI3_CS
IIC3_SDA 27 28 IIC3_SCL
GPIOA20/JTAG_TRST 29 30
31 32 PWM6/JTAG_TCK
PWM7/JTAG_TMS 33 34
SPI3_MISO 35 36 PWR_BGPIO17
PWR_BGPIO1 37 38 SPI3_MOSI
39 40 SPI3_SCK

GPIO的操作准备如下:

使用SDK发布的kernel。

操作过程

加载内核。默认GPIO相关模块已全部编入内核,不需要再执行加载命令。
在控制台下运行GPIO读写命令或者自行在内核态或者用户态编写GPIO读写程序,就可以对GPIO进行输入输出操作。

GPIO操作命令示例:

步骤1: 在控制台使用echo命令, 指定待操作的GPIO编号N:
echo N > /sys/class/gpio/export
N为待操作的GPIO编号,GPIO编号 = GPIO组号值 + 偏移值.
以原理图中GPIO1_2管脚为例,  GPIO1对应GPIO组号值448, 偏移值为2.
因此GPIO编号N为448 + 2 = 450


组号值对应如下:
GPIO0 对应linux组号值为 480
GPIO1 对应linux组号值为 448
GPIO2 对应linux组号值为 416
GPIO3 对应linux组号值为 404
PWR_GPIO 对应linux组号值为 381

echo N > /sys/class/gpio/export 之后, 生成/sys/class/gpio/gpioN目录
步骤2: 在控制台使用echo命令设置GPIO方向:
设置为输入:echo in > /sys/class/gpio/gpioN/direction
设置为输出:echo out > /sys/class/gpio/gpioN/direction

例: 设置GPIO1_2 (即编号450)方向为输入:
echo in > /sys/class/gpio/gpio450/direction

设置GPIO1_2 (即编号450)方向为输出:
echo out > /sys/class/gpio/gpio450/direction
步骤3: 在控制台使用cat命令查看GPIO输入值, 或使用echo命令设置GPIO输出值:
查看输入值: cat /sys/class/gpio/gpioN/value
或
输出低:echo 0 > /sys/class/gpio/gpioN/value
输出高:echo 1 > /sys/class/gpio/gpioN/value
步骤4: 使用完毕后, 在控制台使用echo命令释放资源:
echo N > /sys/class/gpio/export

3.2, UART操作指南

UART的操作准备如下:

使用SDK发布的kernel。

实验硬件资源

对应1.1章节所列J5中的UART1_TX,UART1_RX

操作过程

加载内核。默认UART相关模块已全部编入内核,不需要再执行加载命令。

操作示例

开发板烧录固件后通过串口线连接电脑,有正常打印则代表串口正常工作。
在控制台下运行命令:ls /dev/ 可查看对应的UART列表有如:ttyS0, ttyS1,...,ttyS4
更多串口编程操作可查找网络资料。

输出如下:

uart_show

3.3, 显示屏操作指南

显示屏操作准备如下

模块编译:源码路径为middleware/v2/sample/mipi_tx/
编译成功后会生成可执行文件sample_dsi,将其拷贝至SD卡后,并在板端进行进行验证。

实验硬件资源准备

实验前需要通过LCD接口(对应开发板J16)连接开发板至屏幕HX8394。

操作示例

在控制台中依次执行下面命令: 
./sample_dsi
 devmem 0x0a088000 32 0xC0  
 devmem 0x0a088094 32 0x0701000a
 其中第二条命令表示通过设置寄存器开启图像输出
 第三条命令表示通过设置寄存器打开ColorBar

实验效果

LCD屏幕上有显示彩条
lcd_disp

3.4, HDMI及双摄显示操作指南

实验硬件资源准备

1,HDMI线连接带有HDMI接口的高清屏幕。
2,FPC线连接开发板J13至双路Sensor模组GC2053+GC2093。

HDMI显示操作准备如下

模块编译:源码路径分别为
middleware/v2/sample/display_test/
middleware/v2/sample/vio/
编译成功后会生成可执行文件lt9611_test和sample_vio, 
将其拷贝至SD卡后,并在板端进行进行验证。
同时拷贝middleware/v2/sample/sensor_cfg/路径下的sensor_cfg.ini.gc2053+gc2093 至SD卡,
并重命名为sensor_cfg.ini。
板子通过HDMI接屏幕,且双路sensor模组GC2053+GC2093连接开发板并上电。

操作示例

在控制台中依次执行下面命令
在挂载SD卡,并进入/mnt/sd目录后依次执行下面命令
cp sensor_cfg.ini /mnt/data
./lt9611_test
./sample_vio 19 
1 //切换到GC2093进行显示
0 //切换到GC2053进行显示

实验效果

HDMI屏幕上能切换显示GC2053及GC2093图像

注意

如果接的是单目sensor, 需将sensor_cfg.ini.ov5647拷贝至SD卡,并重命名为sensor_cfg.ini。
挂载SD卡后,并进入/mnt/sd目录后依次执行下面命令:
cp sensor_cfg.ini /mnt/data
./lt9611_test
./sample_vio 0
此时屏幕会显示单目ov5647 sensor的图像。

屏幕显示输出如下

dual_cam_show

终端输出如下

dual_cam_cmd

3.5, 网络设备操作指南

开发板搭载有线网络模块与无线网络模块

有线网络硬件资源

CV182H 以太网模块提供 1 个 Ethernet MAC , 实现网路数据的接收与发送. Ethernet MAC 搭配内建 10/100Mbps Fast Ethernet Transceiver 可工作在 10/100Mbps 全 双工或半双工模式. eht_hw

操作示例

开发板默认已启动有线网卡,并打开了动态获取IP的方式

    ifconfig 

eth_ifconfig

手动配置IP地址

ifconfig eth0 192.168.1.100

ifconfig_eth0

实验效果

开发板IP与PC链接的IP在一个网段下,ping 通

ping 192.168.1.192

ping_eth0

无线网络硬件资源

开发板板载了 8821 Wi-Fi,蓝牙芯片。 Wi-Fi 部分通过SDIO 总线与 CV1821H 通讯。 wlan_hw

操作示例

在板端依次执行下面命令
insmod /mnt/system/ko/3rd/8821cs.ko
ifconfig wlan0 up
ifconfig

ifconfig_wlan

3.6, 蓝牙验证

蓝牙实验准备如下:

在编译SDK后,会生成实验所其依赖的文件及路径为:
middleware/v2/sample/rtk_hciattach/rtk_hciattach
将rtk_hciattach拷贝至SD卡后,接入板子上电进行验证

操作示例

开发板挂载SD卡并进入SD卡目录后,执行下面命令:
./rtk_hciattach -n -s 115200 ttyS2 rtk_h5 

实验效果

串口如看到下面打印信息则代表蓝牙固件下载成功,完成正常初始化
Realtek Bluetooth :Start downloading...
Realtek Bluetooth :Send last pkt
Realtek Bluetooth :Disable host hw flow control
Realtek Bluetooth :h5_hci_reset: Issue hci reset cmd
Realtek Bluetooth :Receive cmd complete event of command: 0c03
Realtek Bluetooth :Received cc of hci reset cmd
Realtek Bluetooth :Init Process finished
Realtek Bluetooth :Realtek Bluetooth post process
Realtek Bluetooth :Device setup complete

终端输出如下

bt_cmd_output

3.7, 触摸屏实验

触摸屏实验准备如下:

在编译SDK后,会生成实验所其依赖的文件及路径为:
middleware/v2/sample/tp/tp

将可执行文件tp拷贝至SD卡后,接入板子上电进行验证

操作示例

开发板挂载SD卡并进入SD卡目录后,执行下面命令
insmod /mnt/system/ko/3rd/gt9xx.ko
./tp test
1280 720  //panel resolution
0 // operate node id[0/1/2]
0 // init tp_event_0 
1 //postion get looping

实验效果

再滑动触摸屏,串口会打印除触摸位置坐标 

3.8, USB HUB实验

USB HUB实验准备如下:

在build/boards/mars/xxx/linux/*_defconfig配置文件中加入以下配置,并重新编译升级。
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_USB_STORAGE=y

操作示例

板子正常启动后执行如下命令:
echo host > /proc/cviusb/otg_role
lsusb

实验效果

串口可以看到下面打印信息,插入USB设备执行lsusb,可以看到usb设备列表更新则代表USB HUB完成正常初始化。
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 002: ID 058f:6254

终端输出如下

usbhub_cmd_output

3.9, RTC实验

RTC实验准备如下

此实验所其依赖的文件会以模块的形式存储在固件当中,在板端如下路径可查阅:
/mnt/system/ko/mars_rtc.ko

操作示例

板子正常启动后执行如下命令:    
insmod /mnt/system/ko/mars_rtc.ko
date -s "2022-10-11 21:15:28"
hwclock -w
断电等待指定时间后上电,并执行如下命令:
insmod /mnt/system/ko/mars_rtc.ko
hwclock -r 

实验效果

硬件时钟时间有自动续上

终端输出如下

rtc_cmd_output

3.10, AUDIO实验:声音的录制与回放

AUDIO实验准备如下

在编译SDK后,会生成实验所其依赖的文件及路径为:
middleware/v2/sample/audio/sample_audio
middleware/v2/lib/3rd/libcli.so
以及middleware/v2/lib/目录下的如下库文件:
libaaccomm2.so
libcvi_vqe.so
libaacdec2.so
libcvi_RES1.so 
libsys.so
libaacenc2.so
libcvi_VoiceEngine.so
libtinyalsa.so
libaacsbrdec2.so
libcvi_audio.so
libaacsbrenc2.so
libcvi_ssp.so
将此依赖和测试程序sample_audio拷贝至SD卡后,接入板子上电进行验证

实验硬件连线

硬件板子连接J12至MIC,J11至喇叭   

操作示例

步骤1:板端测试环境准备 在挂载SD卡后按如下步骤准备测试环境

    a), 在/mnt/data目录下新建目录lib
    b), 将上述音频库文件拷贝至/mnt/data/lib
    c), 申明库文件引用路径
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/sd/lib
    d), cd /mnt/sd

步骤2:设置音频音量

    a), 运行测试程序sample_audio设置音量值为24(可自由配置):
    ./sample_audio 6
    0  //card id
    24 // volume 
    1  // Select Ain

步骤3:确认是否使能speak 开发板默认关闭speak,若想开启,需拉高相关gpio(具体详情请询问FAE人员) 例:此专案cv1812h 的SPK_EN为495,则通过输入以下命令

    echo 495 > /sys/class/gpio/export
    echo out > /sys/class/gpio/gpio495/direction
    echo 1 > /sys/class/gpio/gpio495/value

步骤4:确认录音正常 [录音正常测试]:sample_audio 4
输入命令 ./sample_audio 4 --list -r 8000 -R 8000 -c 2 -p 320 -C 0 -V 0 -F Cvi_8k_2chn.raw -T 10预设录音秒数:10) ,然后对着mic朗读一段文字或播放一段音乐。 产出Cvi_8k_2chn.raw 档案.

步骤5:确认播放正常 [播放正常测试]:sample_audio 5 输入命令: ./sample_audio 5 --list -r 8000 -R 8000 -c 2 -p 320 -C 0 -V 0 -F Cvi_8k_2chn.raw -T 10

实验效果

播音时确认喇叭有出声且大小合适没有爆音,杂音,明显失真等

终端打印输出

audio_cmd_output

3.11, 存储设备操作指南

开发板板载 EMMC 与 Micro-SD Card卡槽 emmc_hw sd_card_hw

EMMC

启动平台至 kernel 后,会自加载本地文件系统 squashFS 及 ext4。
ext4 文件系统的区域,启动至 kernel 后会自动挂载至 /mnt/data 目录,可读可写。

SD CARD

初始化及应用: 待 SD 卡插入后,进行如下操作(下文 X 为分区号,其值由 fdisk 工具进行分区时 决定): 指定 fdisk 操作的具体目录为: ~ $ fdisk /dev/mmcblk1 

* 步骤 1. 检查分区信息 
    * a. 若没有显示出 p1,表示 SD 卡还没有分区, 请在 Linux 下用 fdisk 工具进行分区或是在 windows 系统上将 SD 卡进行格式化之后,进入步骤 2。
    * b. 若有显示分区信息 p1,则表示 SD 卡已经被检测到,并已进行过分 区,可进入步骤 2 进行挂载。

* 步骤 2. 挂载 1. ~ $ mount /dev/mmcblk1pX  /mnt/sd ,此命令会将 SD 卡上第 X 个分 区挂载至/mnt/sd 目录

一般而言sd卡挂载执行:

mount /dev/mmcblk0p1 /mnt/sd

示例:

# 插入SD卡前
[root@cvitek]~# ls /dev/
console         cvi_vc_dec3     gpiochip3       mmcblk0p6
cv182xaadc      cvi_vc_dec4     gpiochip4       mmcblk0p7
cv182xadac      cvi_vc_dec5     hwrng           mmcblk0rpmb
cvi-base        cvi_vc_dec6     i2c-0           null
cvi-dwa         cvi_vc_dec7     i2c-2           ptmx
cvi-fast-image  cvi_vc_dec8     i2c-3           pts
cvi-ive         cvi_vc_enc0     i2c-4           random
cvi-mipi-rx     cvi_vc_enc1     ion             rfkill
cvi-mipi-tx     cvi_vc_enc2     kmsg            root
cvi-rgn         cvi_vc_enc3     log             shm
cvi-rtos-cmdqu  cvi_vc_enc4     mem             snd
cvi-sys         cvi_vc_enc5     mmcblk0         tty
cvi-tpu0        cvi_vc_enc6     mmcblk0boot0    ttyS0
cvi-vi          cvi_vc_enc7     mmcblk0boot1    ttyS1
cvi-vo          cvi_vc_enc8     mmcblk0p1       ttyS2
cvi-vpss        full            mmcblk0p2       ttyS3
cvi_vc_dec0     gpiochip0       mmcblk0p3       ttyS4
cvi_vc_dec1     gpiochip1       mmcblk0p4       urandom
cvi_vc_dec2     gpiochip2       mmcblk0p5       zero

# 插入SD卡后
[root@cvitek]~# ls /dev/
console         cvi_vc_dec4     hwrng           mmcblk1
cv182xaadc      cvi_vc_dec5     i2c-0           mmcblk1p1 		# 出现了 mmcbk1 和 mmcblk1p1
cv182xadac      cvi_vc_dec6     i2c-2           null
cvi-base        cvi_vc_dec7     i2c-3           ptmx
cvi-dwa         cvi_vc_dec8     i2c-4           pts
cvi-fast-image  cvi_vc_enc0     ion             random
cvi-ive         cvi_vc_enc1     kmsg            rfkill
cvi-mipi-rx     cvi_vc_enc2     log             root
cvi-mipi-tx     cvi_vc_enc3     mem             shm
cvi-rgn         cvi_vc_enc4     mmcblk0         snd
cvi-rtos-cmdqu  cvi_vc_enc5     mmcblk0boot0    tty
cvi-sys         cvi_vc_enc6     mmcblk0boot1    ttyS0
cvi-tpu0        cvi_vc_enc7     mmcblk0p1       ttyS1
cvi-vi          cvi_vc_enc8     mmcblk0p2       ttyS2
cvi-vo          full            mmcblk0p3       ttyS3
cvi-vpss        gpiochip0       mmcblk0p4       ttyS4
cvi_vc_dec0     gpiochip1       mmcblk0p5       urandom
cvi_vc_dec1     gpiochip2       mmcblk0p6       zero
cvi_vc_dec2     gpiochip3       mmcblk0p7
cvi_vc_dec3     gpiochip4       mmcblk0rpmb
[root@cvitek]~# mount /dev/mmcblk1p1 /mnt/sd
[root@cvitek]~# ls /mnt/sd/										#下面是sd卡内的文件
System Volume Information     cfg.emmc
app_install.tar               fip.bin
awtk_install                  fw_payload_uboot.bin
boot.emmc                     ipcam
capture_face_13_0.803522.jpg  rootfs.emmc
capture_face_13_1.000000.jpg  system.emmc
capture_face_20_1.000000.jpg  tiger.bmp
[root@cvitek]~#

NFS(网络文件系统)挂载

网线将开发板连接主机电脑 板端配置IP

    ifconfig eth0 192.168.1.120 netmask 255.255.255.0 up

环境准备:
1.确保板子网口IP和主机虚拟机在同一网段,且相互可Ping通,假设服务器端ip为192.168.1.192。
2.主机虚拟机已配置NFS服务,如未安装执行sudo apt install nfs-kernel-server。
3.检查nfs-server是否已启动,执行sudo systemctl status nfs-server。
4.创建共享目录如/home/mnt/nfs,并授权访问。执行sudo chown nobody:nogroup /home/mnt/nfs
及sudo chmod -R 777 /home/mnt/nfs/
5.修改nfs服务器配置文件/etc/exports指定nfs服务器共享目录及属性,如添加以下指令:
/home/mnt/nfs 192.168.1.120(rw,sync,no_subtree_check)
6.使能配置文件,sudo exportfs -arv。
7.查看共享目录,showmount -e 192.168.1.192。
192.168.1.192为虚拟机IP

[root@cvitek]~# ping 192.168.1.192
PING 192.168.1.192 (192.168.1.192): 56 data bytes
64 bytes from 192.168.1.192: seq=0 ttl=64 time=1.948 ms
64 bytes from 192.168.1.192: seq=1 ttl=64 time=1.233 ms
64 bytes from 192.168.1.192: seq=2 ttl=64 time=1.160 ms

/home/mnt/nfs为虚拟机nfs 服务配置可读写的目录, 执行挂载命令:

mount -t nfs -o nolock -o tcp 192.168.1.192:/home/mnt/nfs /mnt/nfs

3.12, Jtag操作指南

Jtag管脚连接

管脚连接示意图如下: jtag_1
jtag_2


Jtag管脚PINMUX配置

1.通过代码配置 编辑文件cvi_mmf_sdk/build/boards/mars/cv1812h_wevb_0007a_emmc_huashan/u-boot/cvi_board_init.c,在函数
cvi_board_init中可添加Jtag pinmux配置,如下:

PINMUX_CONFIG(IIC0_SCL, CV_SCL0__CR_4WTDI);
PINMUX_CONFIG(IIC0_SDA, CV_SDA0__CR_4WTDO);
PINMUX_CONFIG(JTAG_CPU_TMS, CV_2WTMS_CR_4WTMS);
PINMUX_CONFIG(JTAG_CPU_TCK, CV_2WTCK_CR_4WTCK);
PINMUX_CONFIG(JTAG_CPU_TRST, JTAG_CPU_TRST);

注:代码配置注意管脚复用时,此管脚被重复赋值,建议使用cvi_pinmux配置,更加灵活方便。

2.通过cvi_pinmux工具在串口命令行输入命令配置

cvi_pinmux -w IIC0_SCL/CV_SCL0
cvi_pinmux -w IIC0_SDA/CV_SDA0
cvi_pinmux -w JTAG_CPU_TMS/CV_2WTMS_CR_4WTMS
cvi_pinmux -w JTAG_CPU_TCK/CV_2WTCK_CR_4WTCK
cvi_pinmux -w JTAG_CPU_TRST/JTAG_CPU_TRST
cvi_pinmux -r IIC0_SCL
cvi_pinmux -r IIC0_SDA
cvi_pinmux -r JTAG_CPU_TCK
cvi_pinmux -r JTAG_CPU_TMS
cvi_pinmux -r JTAG_CPU_TRST

Jtag 准备工具

  1. T-HEAD软件 安装路径:
    https://cvitekcn.sharepoint.com/:u:/s/tmp/EZB9cDvtfHBNkqESUlqlCL8BsbDQRTQhXTPLVG4iPS3mHw?e=a9ySuD

  2. CKLINK调试器

Jtag 调试步骤

  1. 板端上电后,使用cvi_pinmux配置Jtag pinmux之后,打开T-HeadDebugServer工具。

  2. 点击如下图按钮,Run debugger server.
    jtag_2

  3. 进入虚拟机工作目录在,执行以下指令:
    export PATH=$PATH:/工具链路径/gcc/riscv64-linux-musl-x86_64/bin 或 export PATH=$PATH:/工具链路径/gcc/riscv64-linux-x86_64/bin
    riscv64-unknown-linux-musl-gdb ./testapp 或 riscv64-unknown-linux-gnu-gdb ./testap 即可进入下图模式:
    jtag_2

  4. 可用的ip如步骤2中图中下方红框内所示,选择框中任意一行指令在步骤3中命令行中输入即可完成连接,如下图:
    jtag_2

3.14, cvi_pinmux工具使用

编译配置

1.修改cvi_mmf_sdk/build/boards/mars/cv1812h_wevb_0007a_emmc_huashan/cv1812h_wevb_0007a_emmc_huashan_defconfig,添加以下选项,重新编译即可:

CONFIG_TARGET_PACKAGE_PINMUX=y

2.通过menuconfig修改 执行如下命令:

source build/cvisetup.sh
menuconfig

工具包路径如下: cvi_pinmux_1
cvi_pinmux_2


选择完成后重新编译即可。

4、常见外设问题分析方法

4.1, MIPI屏幕驱动问题排查

1,检查MIPI屏幕硬件对应的POWER, RESET, BACKLIGHT引脚是否在cvi_board_init.c中通过pinmux正确配置
2,所接屏幕对应驱动配置 combo_dev_cfg_s中的Lane_id及lane_pn_swap是否和原理图设计一致。
3,是否可以通过i2cdetect命令在终端可以扫描到I2C Address
4,输出彩图实验时需要通过寄存器开启VO及ColorBar
devmem 0x0a088000 32 0xC0  
devmem 0x0a088094 32 0x0701000a

4.2, I2c_designware timed out

i2cdetect工具在扫描指定总线的I2C设备时如出现timed out问题,大部分原因是出现引脚重复定义的情况.
譬如如下两组Pin同时定义为I2C3。
PINMUX_CONFIG(VIVO_D1, IIC3_SDA);
PINMUX_CONFIG(VIVO_D0, IIC3_SCL);

PINMUX_CONFIG(SD1_CLK, IIC3_SDA);
PINMUX_CONFIG(SD1_CMD, IIC3_SCL);
问题排查:如代码不好确认,可通过查找《CVXXX__PINOUT_V0.1_CN》管脚功能定义手册,
查找II2C3_SDA有关的管脚及其寄存器,根据devmem命令查看对应寄存器是否有重复设定IIC3的情况。

4.3, Sensor问题排查

1,确认Sensor电源供应正确.
2,确认Sensor输入参考时钟来源(主芯片或外部晶振)
3,确认I2C可擦写Sensor寄存器,I2C地址和Rset引脚在Code中是否有正确配置。
4,如i2cdetect扫不到Sensor不一定是Sensor问题,可能是sensori2c地址超越了i2cdetect工具扫描范围。
5, 其MIPI Lane线序是否在sensor_cfg.ini中正确配置
⚠️ **GitHub.com Fallback** ⚠️