20240907在友善之臂的NanoPC-T6开发板使用Rockchip原厂的Buildroot点亮imx415

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# uname -a
root@rk3588-buildroot:/# v4l2-ctl --list-devices
root@rk3588-buildroot:/# dmesg
root@rk3588-buildroot:/# i2cdetect -y 3
root@rk3588-buildroot:/# v4l2-ctl --list-formats-ext -d /dev/video11
gst-launch-1.0 v4l2src device=/dev/video11 num-buffers=100000 ! video/x-raw,format=NV12, width=3840,height=2160 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=fpga10000-9500.mp4 t. ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,format=NV12, width=3840,height=2160 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux  t. ! queue ! waylandsink


20240907在友善之臂的NanoPC-T6开发板使用Rockchip原厂的Buildroot点亮imx415
2024/9/7 18:21


缘起,最新需要调试MIPI YUV摄像头,先拿Rockchip原厂的Buildroot自带的IMX415来练手了!
貌似地球上没有MIPI接口4LANE的YUV的摄像头。
飞凌OK3588-C适配了OV5645(MIPI接口,YUV格式,2LANE)

由于买的IMX415摄像头的从机地址是0x37【2条地址选择脚全部拉高】
默认是0x1A【2条地址选择脚全部拉低】
在这里浪费了几天时间/折腾了好几天!
IMX415的驱动咋也挂载不了!^_也不知道原因!


1、编译指令:
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh lunch
Log colors: message notice warning error fatal

Log saved at /home/viewpro/repo_RK3588_Buildroot20240508/output/sessions/2024-09-07_19-59-16
Pick a defconfig:

1. rockchip_defconfig
2. rockchip_rk3588_evb1_lp4_v10_defconfig
3. rockchip_rk3588_evb7_v11_defconfig
4. rockchip_rk3588s_evb1_lp4x_v10_defconfig
Which would you like? [1]: 3
Switching to defconfig: /home/viewpro/repo_RK3588_Buildroot20240508/device/rockchip/.chip/rockchip_rk3588_evb7_v11_defconfig
#
# configuration written to /home/viewpro/repo_RK3588_Buildroot20240508/output/.config
#
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh


【单独更新内核之后编译!】
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ cd kernel/
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ make distclean
  CLEAN   certs
  CLEAN   drivers/firmware/efi/libstub
  CLEAN   drivers/misc/lkdtm
  CLEAN   drivers/scsi
  CLEAN   drivers/tty/vt
fatal: not a git repository (or any of the parent directories): .git
  CLEAN   fs/unicode
  CLEAN   kernel
  CLEAN   lib
  CLEAN   net/wireless
  CLEAN   usr
  CLEAN   vmlinux.symvers modules-only.symvers modules.builtin modules.builtin.modinfo
  CLEAN   scripts/basic
  CLEAN   scripts/dtc
  CLEAN   scripts/kconfig
  CLEAN   scripts/mod
  CLEAN   scripts
  CLEAN   include/config include/generated .config .config.old .version Module.symvers
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ ll *.img
-rw-rw-r-- 1 viewpro viewpro 37364224 9月   7 19:08 boot.img
-rw-rw-r-- 1 viewpro viewpro   323584 9月   7 19:08 resource.img
-rw-rw-r-- 1 viewpro viewpro 16132096 9月   7 19:08 zboot.img
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ ll .config
ls: cannot access '.config': No such file or directory
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ rm *.img
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel$ cd ..
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 


viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh kernel
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh updateimg

编译&打包之后的固件update.img在:
Z:\repo_RK3588_Buildroot20240508\output\update\Image\update.img


viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh --help
Log colors: message notice warning error fatal

Usage: build.sh [OPTIONS]
Available options:
chip[:<chip>[:<config>]]              choose chip
defconfig[:<config>]                  choose defconfig
 *_defconfig                          switch to specified defconfig
    available defconfigs:
    rockchip_defconfig
    rockchip_rk3588_evb1_lp4_v10_defconfig
    rockchip_rk3588_evb7_v11_defconfig
    rockchip_rk3588s_evb1_lp4x_v10_defconfig
 olddefconfig                         resolve any unresolved symbols in .config
 savedefconfig                        save current config to defconfig
 menuconfig                           interactive curses-based configurator
config                                modify SDK defconfig
print-parts                            print partitions
list-parts                             alias of print-parts
mod-parts                              interactive partition table modify
edit-parts                             edit raw partitions
new-parts:<offset>:<name>:<size>...    re-create partitions
insert-part:<idx>:<name>[:<size>]      insert partition
del-part:(<idx>|<name>)                delete partition
move-part:(<idx>|<name>):<idx>         move partition
rename-part:(<idx>|<name>):<name>      rename partition
resize-part:(<idx>|<name>):<size>      resize partition
misc                                  pack misc image
kernel[:cmds]                        build kernel
recovery-kernel[:cmds]               build kernel for recovery
modules[:cmds]                       build kernel modules
linux-headers[:cmds]                 build linux-headers
kernel-config[:cmds]                 modify kernel defconfig
kconfig[:cmds]                       alias of kernel-config
kernel-make[:<arg1>:<arg2>]          run kernel make
kmake[:<arg1>:<arg2>]                alias of kernel-make
wifibt[:<dst dir>[:<chip>]]           build Wifi/BT
rtos                                 build and pack RTOS
buildroot-config[:<config>]           modify buildroot defconfig
bconfig[:<config>]                    alias of buildroot-config
buildroot-make[:<arg1>:<arg2>]        run buildroot make
bmake[:<arg1>:<arg2>]                 alias of buildroot-make
rootfs[:<rootfs type>]                build default rootfs
buildroot                             build buildroot rootfs
yocto                                 build yocto rootfs
debian                                build debian rootfs
recovery                              build recovery
pcba                                  build PCBA
security-createkeys                   create keys for security
security-misc                         build misc with system encryption key
security-ramboot                      build security ramboot
security-system                       build security system
loader[:cmds]                        build loader (uboot)
uboot[:cmds]                         build u-boot
uefi[:cmds]                          build uefi
extra-part                            pack extra partition images
firmware                              pack and check firmwares
edit-package-file                     edit package-file
edit-ota-package-file                 edit package-file for OTA
updateimg                             build update image
ota-updateimg                         build update image for OTA
all                                   build images
release                               release images and build info
all-release                           build and release images
shell                                 setup a shell for developing
cleanall                              cleanup
clean[:module[:module]]...            cleanup modules
    available modules:
    all
    config
    extra-part
    firmware
    kernel
    loader
    misc
    pcba
    recovery
    rootfs
    rtos
    security
    updateimg
post-rootfs <rootfs dir>              trigger post-rootfs hook scripts
help                                  usage

Default option is 'all'.
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ 


2、原始的EVB7的固件刷机之后:
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# uname -a
Linux rk3588-buildroot 5.10.198 #1 SMP Sat Sep 7 16:13:11 CST 2024 aarch64 GNU/Linux
root@rk3588-buildroot:/# 


root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# v4l2-ctl --list-devices
[  278.374299] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[0] get remote terminal sensor failed!
[  278.374337] stream_cif_mipi_id0: update sensor info failed -19
[  278.374367] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[1] get remote terminal sensor failed!
[  278.374375] stream_cif_mipi_id1: update sensor info failed -19
[  278.374399] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[2] get remote terminal sensor failed!
[  278.374406] stream_cif_mipi_id2: update sensor info failed -19
[  278.374429] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[3] get remote terminal sensor failed!
[  278.374436] stream_cif_mipi_id3: update sensor info failed -19
[  278.374459] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[0] get remote terminal sensor failed!
rk_hdmirx (fdee0000.hdmirx-controller):
[  278.374466] rkcif_scale_ch0: update sensor info failed -19
    /dev/video20
[  278.374488] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[1] get remote terminal sensor failed!

[  278.374495] rkcif_scale_ch1: update sensor info failed -19
rkisp-statistics (platform: rkisp):
[  278.374517] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[2] get remote terminal sensor failed!
    /dev/video18
[  278.374524] rkcif_scale_ch2: update sensor info failed -19
    /dev/video19
[  278.374547] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[3] get remote terminal sensor failed!

[  278.374554] rkcif_scale_ch3: update sensor info failed -19
rkcif-mipi-lvds2 (platform:rkcif):
[  278.374576] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[0] get remote terminal sensor failed!
    /dev/media0
[  278.374583] rkcif_tools_id0: update sensor info failed -19

[  278.374605] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[1] get remote terminal sensor failed!
rkisp_mainpath (platform:rkisp0-vir0):
[  278.374612] rkcif_tools_id1: update sensor info failed -19
    /dev/video11
[  278.374634] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[2] get remote terminal sensor failed!
    /dev/video12
[  278.374641] rkcif_tools_id2: update sensor info failed -19
    /dev/video13
[  278.379657] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[0] get remote terminal sensor failed!
    /dev/video14
[  278.379665] stream_cif_mipi_id0: update sensor info failed -19
    /dev/video15
    /dev/video16
    /dev/video17
    /dev/media1

Failed to open /dev/video0: No such device
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# dmesg


【就是在I2C3号总线上有找到从机地址为0x37的设备,但是驱动没有正常挂载!后来经过和taobao卖家的反复确认就是IMX415】
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# i2cdetect -y 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
root@rk3588-buildroot:/# 


很容易知道I2C3总线上只挂在了0x37这个从机地址的设备。
在taobao淘宝和卖家反复确认!
最后请动了他们家的技术,

东莞市微象电子
2024-07-24 09:41:06
你好,不好意思,这个软件上的问题我们也不懂

东莞市微象电子
2024-07-24 09:41:13
你要我们怎么支持呢?关键是软件上我们也不懂

东莞市微象电子
2024-07-24 09:43:37
13717039501 技术电话


2024-07-23 20:25:10
请问这个i2c地址是7位的地址?还是8位的地址?
已读

wb4916
2024-07-23 20:25:22
带读写位吗?
已读

东莞市微象电子
2024-07-23 20:25:48
这个就不清楚了哦

wb4916
2024-07-23 20:25:58
T6开发板的imx415的地址是0x1A
已读

wb4916
2024-07-23 20:26:08
问一下技术
已读

wb4916
2024-07-23 20:26:09

已读

东莞市微象电子
2024-07-23 20:26:18
要明天了

wb4916
2024-07-23 20:26:37
IMX415中是否有读写I2C地址选择位
已读

东莞市微象电子
2024-07-23 20:26:51
明天问问技术

wb4916
2024-07-23 20:27:03
你们家的0x37/2=0x1B,默认是0x1A。
已读

wb4916
2024-07-23 20:27:15
如果都没有错的话,只能是有读写位了
已读

wb4916
2024-07-23 20:32:46
出错了:
已读

wb4916
2024-07-23 20:32:47
[    2.909185] imx415 3-001a: Unexpected sensor id(000000), ret(-5)
已读

东莞市微象电子
2024-07-23 20:41:34
明天问一下技术


东莞市微象电子
2024-07-24 09:21:05
SLAMODE0    接高
SLAMODE1    接高

这2个脚接高I2C地址为:0x37

SLAMODE0    接低
SLAMODE1    接低

这2个脚接高I2C地址为:0xE0


wb4916
2024-07-24 09:37:04
对于I2C地址,请发给你们的技术。核实一下:

【对于IMX415的I2C选择引脚,微象的是都拉高了。】

SLAMODE0    接高
SLAMODE1    接高

0110 1110 写 6E  7位I2C地址为 011 0111也就是最常用的0x37
0110 1111 读 6F

这2个脚接高I2C地址为:0x37


SLAMODE0    接低
SLAMODE1    接低

这2个脚接高I2C地址为:0xE0

0011 0100 写 34  7位I2C地址为 001 1010也就是最常用的0x1A
0011 0101 读 35

已读

东莞市微象电子
2024-07-24 09:38:25
你那边每个地址都测试看看就知道了


2、更新DTSI之后:
Z:\repo_RK3588_Buildroot20240508\kernel\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11-imx415.dtsi

&i2c3 {
    status = "okay";

    imx415: imx415@1a {
        compatible = "sony,imx415";
        reg = <0x1a>;

        clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
        clock-names = "xvclk";
        pinctrl-names = "default";
        pinctrl-0 = <&mipim0_camera3_clk>;
        power-domains = <&power RK3588_PD_VI>;
        pwdn-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
        avdd-supply = <&vcc_mipidphy0>;
        rockchip,camera-module-index = <0>;
        rockchip,camera-module-facing = "back";
        rockchip,camera-module-name = "CMK-OT2022-PX1";
        rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
        lens-focus = <&cam_ircut0>;
        port {
            imx415_out0: endpoint {
                remote-endpoint = <&mipidphy0_in_ucam0>;
                data-lanes = <1 2 3 4>;
            };
        };
    };
};

修改为:

&i2c3 {
    status = "okay";

    imx415: imx415@37 {
        compatible = "sony,imx415";
        reg = <0x37>;

        clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
        clock-names = "xvclk";
        pinctrl-names = "default";
        pinctrl-0 = <&mipim0_camera3_clk>;
        power-domains = <&power RK3588_PD_VI>;
        pwdn-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
        avdd-supply = <&vcc_mipidphy0>;
        rockchip,camera-module-index = <0>;
        rockchip,camera-module-facing = "back";
        rockchip,camera-module-name = "CMK-OT2022-PX1";
        rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
        lens-focus = <&cam_ircut0>;
        port {
            imx415_out0: endpoint {
                remote-endpoint = <&mipidphy0_in_ucam0>;
                data-lanes = <1 2 3 4>;
            };
        };
    };
};


重新编译内核并打包固件之后,刷机:

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# v4l2-ctl --list-devices
[   62.385549] stream_cif_mipi_id0: open video, entity use_countt 3
[   62.385620] stream_cif_mipi_id0: close video, entity use_count 2
rk_hdmirx (fdee0000.hdmirx-controller):
[   62.385686] stream_cif_mipi_id1: open video, entity use_countt 2
    /dev/video20
[   62.385711] stream_cif_mipi_id1: close video, entity use_count 1

[   62.385744] stream_cif_mipi_id2: open video, entity use_countt 2
rkisp-statistics (platform: rkisp):
[   62.385766] stream_cif_mipi_id2: close video, entity use_count 1
    /dev/video18
[   62.385799] stream_cif_mipi_id3: open video, entity use_countt 1
    /dev/video19
[   62.385822] stream_cif_mipi_id3: close video, entity use_count 0

[   62.386898] stream_cif_mipi_id0: open video, entity use_countt 3
rkcif-mipi-lvds2 (platform:rkcif):
[   62.387150] stream_cif_mipi_id0: close video, entity use_count 2
    /dev/media0

rkcif (platform:rkcif-mipi-lvds2):
    /dev/video0
    /dev/video1
    /dev/video2
    /dev/video3
    /dev/video4
    /dev/video5
    /dev/video6
    /dev/video7
    /dev/video8
    /dev/video9
    /dev/video10

rkisp_mainpath (platform:rkisp0-vir0):
    /dev/video11
    /dev/video12
    /dev/video13
    /dev/video14
    /dev/video15
    /dev/video16
    /dev/video17
    /dev/media1

root@rk3588-buildroot:/# 


【IMX415已经正在挂载了】
root@rk3588-buildroot:/# i2cdetect -y 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- 

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
root@rk3588-buildroot:/# 

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# v4l2-ctl --list-formats-ext -d /dev/video11
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture Multiplanar

    [0]: 'UYVY' (UYVY 4:2:2)
        Size: Stepwise 32x32 - 3840x2160 with step 8/8
    [1]: 'NV16' (Y/CbCr 4:2:2)
        Size: Stepwise 32x32 - 3840x2160 with step 8/8
    [2]: 'NV61' (Y/CrCb 4:2:2)
        Size: Stepwise 32x32 - 3840x2160 with step 8/8
    [3]: 'NV21' (Y/CrCb 4:2:0)
        Size: Stepwise 32x32 - 3840x2160 with step 8/8
    [4]: 'NV12' (Y/CbCr 4:2:0)
        Size: Stepwise 32x32 - 3840x2160 with step 8/8
    [5]: 'NM21' (Y/CrCb 4:2:0 (N-C))
        Size: Stepwise 32x32 - 3840x2160 with step 8/8
    [6]: 'NM12' (Y/CbCr 4:2:0 (N-C))
        Size: Stepwise 32x32 - 3840x2160 with step 8/8

root@rk3588-buildroot:/# 


【保存+预览】
gst-launch-1.0 v4l2src device=/dev/video11 num-buffers=100000 ! video/x-raw,format=NV12, width=3840,height=2160 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=fpga10000-9500.mp4 t. ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video11 num-buffers=100 ! video/x-raw,format=NV12, width=3840,height=2160 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=imx415-4k-100f.mp4 t. ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video11 num-buffers=10 ! video/x-raw,format=NV12, width=3840,height=2160 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=imx415-4k-10f.mp4 t. ! queue ! waylandsink

【只预览】
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,format=NV12, width=3840,height=2160 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux  t. ! queue ! waylandsink


很容易发现,IMX415可以预览了,但是非常卡顿,并且图像有条纹。
串口终端不停地报错:
[  510.529939] mipi2-csi2-hw ERR1:0x1000000 (crc,vc: 0) 
[  510.530397] mipi2-csi2-hw ERR1:0x1000000 (crc,vc: 0) 
[  510.530855] mipi2-csi2-hw ERR1:0x1000000 (crc,vc: 0) 
[  510.531411] mipi2-csi2-hw ERR1:0x1000000 (crc,vc: 0) 
[  510.531452] mipi2-csi2-hw ERR1:0x1000000 (crc,vc: 0) 
[  510.532117] mipi2-csi2-hw ERR1:0x1000000 (crc,vc: 0) 
[  510.532595] mipi2-csi2-hw ERR1:0x1000000 (crc,vc: 0) 
[  510.533645] rkcif-mipi-lvds2: stream[0] stopping finished, dma_en 0x0
[  510.548455] rkisp rkisp0-vir0: first params buf queue
** 5363269 console messages dropped **

root@rk3588-buildroot:/# 


百度之后:【由于没有做转接板,使用taobao淘宝买到的2片万用转接板通过3条线缆连接在一起!问题极其可能出在这里了!】
https://blog.csdn.net/qq_34341546/article/details/129127700
camera调试:RK3588 apk打开不出图如何排查?

③出现MIPI 相关报错
出现MIPI相关的报错,比较常见的是出现crc的报错刷屏:

[ 2266.859853][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.859862][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.859869][    C0] mipi2-csi2 ERR2:0x100 (ecc,vc: 0) 
[ 2266.859920][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.859930][    C0] mipi2-csi2 ERR1:0x10000000 (ecc2)
[ 2266.859962][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.859970][    C0] mipi2-csi2 ERR2:0x100 (ecc,vc: 0) 
[ 2266.860026][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.860033][    C0] mipi2-csi2 ERR1:0x10000000 (ecc2)
[ 2266.860093][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.860101][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.860108][    C0] mipi2-csi2 ERR2:0x100 (ecc,vc: 0) 
[ 2266.860160][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0) 
[ 2266.860167][    C0] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0)
出现上述mipi相关的报错,crc/ecc等报错,本质上都是与phy层的mipi信号相关,可能原因如下:

驱动配置的MIPI时钟与sensor输出的MIPI时钟对应不上
MIPI时序错误,例如SOT的时序不符合MIPI的SPEC
MIPI信号质量不佳导致的报错
示波器测量可以确认sensor输出的MIPI时钟大小,驱动需要与其对应,MIPI信号质量的问题,可以通过将驱动的xvclk降低到12M/6M,如果降低后没出现MIPI的报错,那么需要排查硬件的走线等等。MIPI时序的问题,建议测量MIPI信号,看是否符合spec,后面再写文章来介绍这部分。


参考资料:

百度:nanopc t6 wiki
https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6/zh
NanoPC-T6/zh

4.4 安装系统
4.4.1 下载固件
4.4.1.1 官方固件
访问此处的下载地址下载固件文件 (位于网盘的"01_系统固件"目录):


此处的下载地址
https://download.friendlyelec.com/NanoPC-T6
NanoPC-T6 - free download
百度网盘    Google Drive
Mainland Chinese users please click on:    International users please click on:
BaiduPan     Google Drive

https://pan.baidu.com/s/1F6sGyXugfy_Hkgd3nu8U1Q#list/path=%2F
提取码:bbg3

E:\delete\20240711的FriendlyELEC-RK3588\07_源代码
buildroot-rk3588-20230815.tar  10GB+


https://item.taobao.com/item.htm?_u=7ju3kub99d&id=811684108903&skuId=5504341108480&spm=a1z09.2.0.0.5b4c2e8dUT6Od6
IMX415高清800万像素摄像头模组4Lane接口树莓派5相同摄像头接口

IMX415 IR-CUT 98度摄像头
IMX415 98度摄像头  当时买的时候是98¥,今天时价115¥
IMX415 94度无畸变摄像

最近涨价了,

2024-09-07 13:53:40
我准备 再买几个。你们 涨价 很猛呀!
已读

东莞市微象电子
2024-09-07 13:54:00


东莞市微象电子
2024-09-07 13:54:16
没 涨多少啊


东莞市微象电子
2024-09-07 13:55:31
主要是芯片涨价了

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值