上期我们讲解了玩转Jetson NX内核(三),本期我们开始将mipi相机移植到NX,我们已经搭建好各种编译环境,如有问题可参考之前的系列文章。
1.4、mipi相机在NX上应用 mipi相机可以在1080P的画质下保持较高的帧率,可以达到30fps;在普通USB摄像头下,如果1080P的画质,只能达到5fps,在720P的画质下,能达到15fps,在360P下可以达到30fps。mipi相机相比于usb相机来说有更强的性能提升。
1.4.1、mipi相机硬件设计 由于我们采用自设计的NX板载,最多可以支持八路mipi相机,目前的设计中采用了两路mipi相机。
1.4.2、设备树的修改 在之前我们已经源码编译刷写好自定义的系统文件。在mipi相机的设备树中我们需要增加新的源码文件,其中包括mipi相机的两个文件以及修改的一个系统编译配置文件。 修改路径如下: home/amov/l4t-sources/xavier-nx/Linux_for_Tegra/source/public/hardware/nvidia/platform/t19x/jakku/kernel-dts/common$ mipi相机文件 tegra194-camera-jakku-rbpcv2-veye327.dtsi
包含mipi相机具体的挂载i2c芯片配置
mipi相机文件 tegra194-camera-rbpcv2-veye327.dtsi 包含具体的挂载位置与硬件的一一对应。官板的NX是挂载在9,10号上,这里是挂载在30,31上。
针对mipi相机可以设置不同的模式,这里设置了1080P的画质。 在完成上面的mipi相机本身的源码编写之后,在系统编译文件中增加mipi相机的配置 tegra194-p3509-0000-a00.dtsi
修改完成之后我们就需要编译设备树文件,可以参考第二篇文章源码编译。玩转Jetson NX内核(二)
1.4.3、刷写设备树 我们编译有了mipi相机驱动DTB文件,这时候我们不需要重新刷写完整的系统,只需要编写相应的驱动源码,更新DTB文件即可,针对于此,就有了只刷写设备树DTB的指令。 烧写指令如下: sudo ./flash.sh -k kernel jetson-xavier-nx-devkit-emmc mmcblk0p1
1.4.4、检查mipi相机是否可用 进入系统之后,我们通过可以查看 ls /dev 查看下面有两个video设备,分别为video0和video1,其中一个我们使用系统原生的cheese软件打开video0设备,对于video1,我们使用ros图像打开 至此我们已经将两路mipi相机在NX上面可以正常输出1080P的图像。在下面中我们主要讲讲系统里面的I2C芯片如何使用,在NX中是如何进行挂载使用的。
- End -
技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于为机器人研发提供开源软硬件工具和课程服务,让研发更高效!