摄像头和nano连接应如下图所示,蓝色的朝外。
Jetpack 4.4、4.4.1 和 4.5 支持当前版本的驱动程序。可以通过SDK Manager刷镜像或者通过读卡器将镜像刷入sd卡。本次采用SDK Manager刷镜像。
可前往官网下载(NVIDIA SDK Manager | NVIDIA Developer),下载完之后在虚拟机的终端执行sudo apt install ./sdkmanager_1.7.3-9053_amd64.deb(因为下载完之后的文件名就是 )。
安装完SDK Manager后会出现如下的界面,选择对应的开发板和JetPack版本号即可。
点击CONTINUE,会出现nano的几个板子,选择对应的即可。
紧接着会出现如下界面,把下面两个都勾上,如果只勾第一个是接受协议后,边下载边安装,会经常因为网络问题而重复进行上述操作,建议先下载再进行离线安装。
离线安装包下载完毕后,点击FINISH AND EXIT选项退出软件,然后断网后再次打开软件,选择OFFLINE模式,并指定刚才软件下载的存放目录作为安装目录(默认的目录是/home/mira/Downloads/nvidia/sdkm_downloads)开始进行离线安装。在离线安装过程中会跳出如下界面:
选择Manual Setup,因为我使用的是nano 2GB B01的板子,所以使用杜邦线接pin9和pin10引脚(FC REC and GND),然后用USB与电脑连接,在接上电源线,就可以进行Flash,当电脑出现如下界面时,我们需要将nano接上显示器、网络、键盘鼠标,然后去掉杜邦线,(如果显示器无法进入系统可能需要断电重启一下)。
等在nano的显示器上进行完如下操作,再回到电脑输入刚刚创建的账户和密码:
接着,就是静等安装完毕,然后FINISH AND EXIT。
本次操作主要参考该网站进行,所以补丁包可于下图此处下载(我们的是Jetson Nano,且JetPack版本为4.5,既点击箭头所示之处)。
Raspberry Pi HQ camera IMX477 Driver | Linux driver for Jetson | RidgeRunhttps://developer.ridgerun.com/wiki/index.php?title=Raspberry_Pi_HQ_camera_IMX477_Linux_driver_for_Jetson#Installing_the_Driver__Option_A:_Debian_Packages_.28Recommended.29
将下载后的移至虚拟机的桌面,进入桌面的终端,进行如下操作(以JERSON_NANO_2GB_DEVKIT为例,JetPack版本为4.5):
tar -xvf public_sources.tbz2
cd Linux_for_Tegra/source/public/
tar -xvf kernel_src.tbz2
JETSON_KERNEL_SOURCE=$JETPACK_DIR/JetPack_4.5_Linux_JETSON_[PLATFORM]_DEVKIT/Linux_for_Tegra/source/
mkdir -p $JETSON_KERNEL_SOURCE
mv hardware/ kernel/ $JETSON_KERNEL_SOURCE
git clone https://github.com/RidgeRun/NVIDIA-Jetson-IMX477-RPIV3.git
KERNEL_PATCH=$(pwd)/NVIDIA-Jetson-IMX477-RPIV3/
mv -v $KERNEL_PATCH/patches_nano/* $JETSON_KERNEL_SOURCE/patches/
cd $JETSON_KERNEL_SOURCE/patches
quilt push
wget http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
mkdir -p $HOME/l4t-gcc
cd $HOME/l4t-gcc
tar xf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
cd $JETSON_KERNEL_SOURCE/../
mkdir -p modules/
mkdir -p packages/
mkdir -p dtb/
CROSS_COMPILE=$HOME/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
KERNEL_OUT=$JETSON_KERNEL_SOURCE/../build
KERNEL_MODULES_OUT=$JETSON_KERNEL_SOURCE/../modules
sudo apt install libncurses-dev
cd $JETSON_KERNEL_SOURCE
make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT tegra_defconfig
make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT menuconfig
然后会进入一个菜单,找到下面对应的内容:
Device Drivers --->
<*> Multimedia support --->
NVIDIA overlay Encoders, decoders, sensors and other helper chips --->
<*> IMX477 camera sensor support
选上之后,按下y,然后按两次esc保存退出。
make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} -j4 Image
make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} -j4 dtbs
make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} -j4 modules
make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT modules_install INSTALL_MOD_PATH=$KERNEL_MODULES_OUT
然后在nano显示器找到根目录/boot/extlinux/extlinux.conf,打开这个文件,在INITRD /boot/initrd后面加一行FDT /boot/tegra210-p3448-0000-p3449-0000-b00.dtb
下面的文件移动也可以采用U盘拷贝等方式,拷贝时要注意文件中是否含有快捷方式,如有快捷方式应将对应的文件一起拷贝过去(不建议使用,易出错)。
cd $JETSON_KERNEL_SOURCE/../
scp build/arch/arm64/boot/Image mira@mira-nano:/tmp/
scp build/arch/arm64/boot/dts/tegra210-p3448-0000-p3449-0000-b00.dtb mira@mira-nano:/tmp/
sudo mv /tmp/Image /boot/
sudo mv /tmp/tegra210-p3448-0000-p3449-0000-b00.dtb /boot/
KERNEL_MODULES=$JETPACK_DIR/JetPack_4.5_Linux_JETSON_NANO_2GB_DEVKIT/Linux_for_Tegra/modules/lib/modules/4.9.140
cd $KERNEL_MODULES
# use rsync instead of scp to avoid symlink recursion problems
rsync --progress -avhe ssh ../4.9.201 mira@mira-nano:/tmp/
sudo mv /tmp/4.9.201/ /lib/modules/
sudo reboot
如果重启之后的摄像头使用过程中,在拍摄的图像中,你可能会看到一些褪色的颜色。这是因为您尚未应用ISP配置文件。可以按照上述网页相应说明安装,在repo中找到的ISP文件。
参考网站:
https://blog.csdn.net/hlld__/article/details/107418100
https://developer.ridgerun.com/wiki/index.php?title=Raspberry_Pi_HQ_camera_IMX477_Linux_driver_for_Jetson#Installing_the_Driver_-_Option_A:_Debian_Packages_.28Recommended.29