20260129让天启AIO-3576Q38开发板在天启Buildroot下适配摄像头模块8ms1m使用4K录像+预览【第二版本/更新DTS】

📅 发布时间:2026/7/17 13:01:17 👁️ 浏览次数:
20260129让天启AIO-3576Q38开发板在天启Buildroot下适配摄像头模块8ms1m使用4K录像+预览【第二版本/更新DTS】
1、bundle更新到1.0.1h2、替换xc7160.cZ:\Linux_SDK\Firefly_SDK\kernel\drivers\media\i2c\xc7160.c3、更新DTSY:\A7_RK3576_LINUX\kernel\arch\arm64\boot\dts\rockchip\rk3576-firefly-aio-3576q38-cam-imx586.dtsi20260129让天启AIO-3576Q38开发板在天启Buildroot下适配摄像头模块8ms1m使用4K录像预览【第二版本/更新DTS】2026/1/29 16:35https://blog.csdn.net/wb4916/article/details/154075701?spm1011.2415.3001.533120251028在Ubuntu20.04.6上编译AIO-3576Q38开发板的Buildroot系统rootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ sudo apt-get install libassimp-devrootrootrootroot-X99-Turbo:~$ cd Linux_SDK/rootrootrootroot-X99-Turbo:~/Linux_SDK$ cd base-v1.0.1c/rootrootrootroot-X99-Turbo:~/Linux_SDK/base-v1.0.1c$ chmod 777 sdk_tools.shrootrootrootroot-X99-Turbo:~/Linux_SDK/base-v1.0.1c$ mkdir ../Firefly_SDKrootrootrootroot-X99-Turbo:~/Linux_SDK/base-v1.0.1c$ ./sdk_tools.sh --unpack -C ../Firefly_SDKrootrootrootroot-X99-Turbo:~/Linux_SDK/base-v1.0.1c$ ./sdk_tools.sh --sync -C ../Firefly_SDKrootrootrootroot-X99-Turbo:~/Linux_SDK/base-v1.0.1c$ cd ..rootrootrootroot-X99-Turbo:~/Linux_SDK$ cd Firefly_SDKrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ ll *.7z-rwx------ 1 rootroot rootroot 25506 10月 22 14:06 rk3576-v1.0.1c-to-v1.0.1d.7z*-rwx------ 1 rootroot rootroot 179405810 10月 22 14:08 rk3576-v1.0.1d-to-v1.0.1g.7z*-rwx------ 1 rootroot rootroot 607340352 10月 22 14:13 rk3576-v1.0.1g-to-v1.0.1h.7z*rootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$rootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ 7z x rk3576-v1.0.1c-to-v1.0.1d.7zrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ 7z x rk3576-v1.0.1d-to-v1.0.1g.7zrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ 7z x rk3576-v1.0.1g-to-v1.0.1h.7zrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ llrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ ./rk3576-v1.0.1c-to-v1.0.1d/bundle_update.shrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ ./rk3576-v1.0.1d-to-v1.0.1g/bundle_update.shrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ ./rk3576-v1.0.1g-to-v1.0.1h/bundle_update.shrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ ln -s .chips/rk3576/ .chiprootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ ./build.sh lunch8. firefly_rk3576_aio-3576q38_buildroot_defconfigWhich would you like? [1]: 8rootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ ./build.sh all【编译打包后的IMG固件】rootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK$ cd output/update/-rw-rw-r-- 1 rootroot rootroot 1968349827 10月 28 15:10 AIO-3576Q38_Buildroot_251028.imgrootrootrootroot-X99-Turbo:~/Linux_SDK/Firefly_SDK/output/update$1、更新DTSdiff --git a/arch/arm64/boot/dts/rockchip/rk3576-firefly-aio-3576q38-cam-imx586.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-firefly-aio-3576q38-cam-imx586.dtsiindex 44c30a9ff5c4..ae5a5ed17818 100644--- a/arch/arm64/boot/dts/rockchip/rk3576-firefly-aio-3576q38-cam-imx586.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-firefly-aio-3576q38-cam-imx586.dtsi -23,14 23,14 IMX586_0: IMX586-01a {reset-gpios gpio2 RK_PD7 GPIO_ACTIVE_HIGH;pwdn-gpios gpio4 RK_PA1 GPIO_ACTIVE_HIGH;- rockchip,camera-module-index 1; rockchip,camera-module-index 2;rockchip,camera-module-facing front;rockchip,camera-module-name default;rockchip,camera-module-lens-name default;port {imx586_out0: endpoint {- remote-endpoint mipidphy0_in_ucam0; remote-endpoint mipidphy0_in_ucam1;>rockchip,camera-module-index 1;rockchip,camera-module-facing front;rockchip,camera-module-name default;rockchip,camera-module-lens-name default;port {imx586_out0: endpoint {remote-endpoint mipidphy0_in_ucam0;>mipidphy0_in_ucam0: endpoint0 {reg 0;remote-endpoint imx586_out0;>rockchip,camera-module-index 2;rockchip,camera-module-facing front;rockchip,camera-module-name default;rockchip,camera-module-lens-name default;port {imx586_out0: endpoint {remote-endpoint mipidphy0_in_ucam1;>mipidphy0_in_ucam1: endpoint1 {reg 1;remote-endpoint imx586_out0;>2、Z:\Linux_SDK\Firefly_SDK\kernel\drivers\media\i2c\xc7160.cstatic const struct regval *xc7160_global_regs isp_xc7160_1080p_30fps_2022617_regs;static const struct regval *sc8238_global_regs sensor_xc7160_1080p_30fps_2022617_regs;static u32 clkout_enabled_index 1;修改为static const struct regval *xc7160_global_regs isp_xc7160_4k_25fps_2022617_regs;static const struct regval *sc8238_global_regs sensor_xc7160_4k_25fps_2022617_regs;static u32 clkout_enabled_index 1;static const struct xc7160_mode supported_modes[] {{.width 1920,.height 1080,.max_fps {.numerator 10000,.denominator 300000,},.bus_fmt XC7160_MEDIA_BUS_FMT,.isp_reg_list isp_xc7160_1080p_30fps_2022617_regs,.sensor_reg_list sensor_xc7160_1080p_30fps_2022617_regs,.vc[PAD0] 0, //V4L2_MBUS_CSI2_CHANNEL_0,},{.width 3840,.height 2160,.max_fps {.numerator 10000,.denominator 250000,},.bus_fmt XC7160_MEDIA_BUS_FMT,.isp_reg_list isp_xc7160_4k_25fps_2022617_regs,.sensor_reg_list sensor_xc7160_4k_25fps_2022617_regs,.vc[PAD0] 0,//V4L2_MBUS_CSI2_CHANNEL_0,},//driver setting};修改为static const struct xc7160_mode supported_modes[] {{.width 3840,.height 2160,.max_fps {.numerator 10000,.denominator 250000,},.bus_fmt XC7160_MEDIA_BUS_FMT,.isp_reg_list isp_xc7160_4k_25fps_2022617_regs,.sensor_reg_list sensor_xc7160_4k_25fps_2022617_regs,.vc[PAD0] 0,//V4L2_MBUS_CSI2_CHANNEL_0,},{.width 1920,.height 1080,.max_fps {.numerator 10000,.denominator 300000,},.bus_fmt XC7160_MEDIA_BUS_FMT,.isp_reg_list isp_xc7160_1080p_30fps_2022617_regs,.sensor_reg_list sensor_xc7160_1080p_30fps_2022617_regs,.vc[PAD0] 0, //V4L2_MBUS_CSI2_CHANNEL_0,},//driver setting};3、效果图4Kgst-launch-1.0 v4l2src device/dev/video11 num-buffers100 ! video/x-raw,formatNV12, width3840,height2160 ! tee namet ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location8ms1_h264_4k_100.mp4 t. ! queue ! waylandsinkgst-launch-1.0 v4l2src device/dev/video11 num-buffers10000 ! video/x-raw,formatNV12, width3840,height2160 ! tee namet ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location8ms1_h264_4k_10000.mp4 t. ! queue ! waylandsink1080pgst-launch-1.0 v4l2src device/dev/video11 num-buffers10000 ! video/x-raw,formatNV12, width1920,height1080 ! tee namet ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location8ms1_h264_1080p_100.mp4 t. ! queue ! waylandsink25*601500【1分钟的4K录像】gst-launch-1.0 v4l2src device/dev/video11 num-buffers1500 ! video/x-raw,formatNV12, width3840,height2160 ! tee namet ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location8ms1_h264_4k_1500.mp4 t. ! queue ! waylandsinkbuildroot用命令进行4k录像gst-launch-1.0 -e v4l2src device/dev/video11 io-mode4 ! \video/x-raw,formatNV12,width3840,height2160,framerate30/1 ! \mpph265enc ! h265parse ! video/x-h265,stream-formathev1,alignmentau ! \mp4mux -e ! filesink locationhw265.mp4gst-launch-1.0 v4l2src device/dev/video11 num-buffers10000 ! video/x-raw,formatNV12, width1920,height1080 ! tee namet ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location13855_h264_1080p_100.mp4 t. ! queue ! waylandsinkgst-launch-1.0 v4l2src device/dev/video11 num-buffers100 ! video/x-raw,formatNV12, width1920,height1080 ! tee namet ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location13855_h264_1080p_100.mp4 t. ! queue ! waylandsink4、替换xc7160.cZ:\Linux_SDK\Firefly_SDK\kernel\drivers\media\i2c\xc7160.c