Nvidia Jetson 平台入门
确保您的 Linux 计算机上至少有 15 GB 的可用空间。 此文件复制过程需要大约一小时。 出现“重置板以从内部 eMMC 启动”即表示刷机过程结束。
NVIDIA Jetson TX2 入门
CPURAM操作系统
NVIDIA Jetson TX2 规格 | |
Cortex A57 | |
GPU | Maxwell GPU,带有 256 个 CUDA 核心 |
8 兆字节 | |
主适配器系统 | xhci-hcd |
Ubuntu 16.04 Linux tegra-ubuntu 4.4.38-tegra | |
软件 | Spinnaker 1.5.0.27 Linux ARM64 |
摄像头和固件 | GS3-U3-23S6M(固件 2.25.3.0) BFS-U3-51S5C(固件 1704.0.13.0) |
- 按照 NVIDIA 的快速入门指南文件安装全新的 64 位 Linux 4 Tegra 发布包。适用于 Tegra R28.1 的 64 位 Linux 已用于此应用说明。
注意:此步骤会重写现有文件系统。 - 通过下载全新的 Spinnaker 64 位 ARM 安装 64 位 Spinnaker ARM,按照自述文件中的安装说明操作。 Spinnaker 1.5.0.27 SDK - ARM64 - Ubuntu 16.04(64 位)- 2017 年 8 月 22 日已用于此应用说明。
通过上述步骤,您可以采用 2 MB 的最大图像大小流式传输 USB3 摄像头。 若要获取以分辨率显示的大小大于 2 MB 的图像,添加以下代码到 APPEND 行:
usbcore.usbfs_memory_mb=1000
到该文件:
/boot/extlinux/extlinux.conf
NVIDIA Jetson TX2 的基准测试
这些结果来自使用 GS3-U3-23S6M 和 BFS-U3-51S5C-C 持续捕获图像的控制台应用。 使用控制台应用的基准测试结果如下所示。 使用控制台应用的基准测试结果如下所示。在我们的控制台应用中,我们启用了 Gigabit 主控制器上支持的最大数据包大小(即 9000 字节)。
请求的 帧 率 |
处理的 帧 率 |
CPU 使用率 |
带宽 | |
---|---|---|---|---|
1920 x 1200 Raw8 |
163 FPS |
163 FPS |
~45% |
358 MB/s |
请求的 帧 率 |
处理的 帧 率 |
CPU 使用率 |
带宽 | |
---|---|---|---|---|
2448 x 2048 BayerRG8 |
7.5 FPS |
7.5 FPS |
~50% |
358 MB/s |
- 按照 NVIDIA 的 自述文件 操作,在 TK1 上启动预安装的 Ubuntu 14.04。
- 默认情况下,Jetson TK1 不支持 USB3 摄像头。 若要支持 USB3:
- 转到 https://developer.nvidia.com/linux-tegra-rel-19,下载以下两个 tar 文件包:
- 驱动程序包:Jetson TK1
- 示例文件系统
- 在 Linux PC 上运行下面的命令解压缩 tar 文件:
export RELEASE_NAME=Tegra124_Linux_R19.3.0_armhf.tbz2
sudo tar xpf ${RELEASE_NAME}
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R19.3.0_armhf.tbz2
cd ../
注意:必须使用 sudo 提取这些文件。 - 在解压缩的 Linux_for_Tegra 文件夹中,按 USB2 的取消注释行 (ODMDATA=0x6209C000) 和 USB3 的注释行 (ODMDATA=0x6009C000) 编辑 jetson-tk1.conf 文件。
- 输入
sudo ./apply_binaries.sh
- 使用 TK1 随附的 micro-USB 电缆将 TK1 连接到 Linux 计算机。
- 在 TK1 上,按住“恢复”按钮并按“重置”按钮一次。 等待两秒钟,然后释放“恢复”按钮。
- 通过在 Linux PC 上发出
lsusb
命令验证 TK1 是否已连接到 Linux PC,并查找名为 NVIDIA Corp 的已连接 USB 设备。 - 将在步骤 2 中解压缩的 Linux_for_Tegra 文件夹复制到 Linux 计算机。
- 在 Linux 机器上,输入
sudo ./flash.sh -S 14GiB jetson-tk1 mmcblk0p1
- 转到 https://developer.nvidia.com/linux-tegra-rel-19,下载以下两个 tar 文件包:
- 按下重设按钮重启 TK1。
通过上述步骤,您可以采用 2 MB 的最大图像大小流式传输 USB3 摄像头。 若要获取以分辨率显示的大小大于 2 MB 的图像,添加以下代码到 APPEND 行:usbcore.usbfs_memory_mb=1000
到该文件:/boot/extlinux/extlinux.conf
NVIDIA Jetson TX1 入门
CPURAM操作系统
NVIDIA Jetson TX1 规格 | |
Cortex A57 | |
GPU | Maxwell GPU,带有 256 个 CUDA 核心 |
4 GB | |
主适配器系统 | xhci-hcd |
Ubuntu 16.04 Linux tegra-ubuntu 3.10.96-tegra | |
软件 | Spinnaker 1.5.0.37 Linux ARM64 |
摄像头和固件 | GS3-U3-23S6M(固件 2.25.3.0) BFS-U3-51S5C(固件 1704.0.13.0) |
- 按照 NVIDIA 的快速入门指南文件安装全新的 64 位 LT4 发布包。 L4T release package ->Tegra X1->Jetson TX1 R24.2.1 - 2016 年 9 月已用于此应用说明。
注意:此步骤会重写现有文件系统。 - 通过下载全新的 Spinnaker 64 位 ARM 安装 64 位 Spinnaker ARM,按照自述文件中的安装说明操作。 Spinnaker 1.5.0.27 SDK - ARM64 - Ubuntu 16.04(64 位)- 2017 年 8 月 22 日已用于此应用说明。
- 安装 g++ 编译器,以便安装 Spinnaker SDK 的 C++ 示例:
sudo apt-get update
sudo apt-get install build-essential
上述步骤使您的 USB3 摄像头可以流传输最大 2 MB 的图像。 若要获取以分辨率显示的大小大于 2 MB 的图像,向 APPEND 行添加以下代码:
usbcore.usbfs_memory_mb=1000
/boot/extlinux/extlinux.conf
NVIDIA Jetson TX1 的基准测试
这些结果来自使用 GS3-U3-23S6M 和 BFS-U3-51S5C-C 持续捕获图像的控制台应用。 使用控制台应用的基准测试结果如下所示。
使用控制台应用的基准测试结果如下所示。在我们的控制台应用中,我们启用了 Gigabit 主控制器上支持的最大数据包大小(即 9000 字节)。
请求的 帧 率 |
处理的 帧 率 |
CPU 使用率 |
带宽 | |
---|---|---|---|---|
1280 x 960 Raw8 |
202 FPS |
202 FPS |
~32% |
236 MB/s |
1920 x 1200 Raw8 |
163 FPS |
155 FPS |
~30% |
340 MB/s |
请求的 帧 率 |
处理的 帧 率 |
CPU 使用率 |
带宽 | |
---|---|---|---|---|
2448 x 2048 BayerRG8 |
7.5 FPS |
7.5 FPS |
~37% |
358 MB/s |
下表包含对在以下板上运行所选 USB3 或 GigE 摄像头的性能的基准测试结果:ODROID-XU;Samsung Exynos 5250 Arndale 以及 NVIDIA Jetson TK1 sand TX1 与 TX2。
故障排除
如果图像大小大于 2 MB,则无法启动图像传输
原因:USBFS 缓存器大小太小(默认情况下为 16 MB)。 使用以下命令检查 usbfs_memory_mb size.
cat /sys/module/usbcore/parameters/usbfs_memory_mb
解决方案:若要增加内存,请添加以下代码到 APPEND 行:
usbcore.usbfs_memory_mb=1000
到该文件:/boot/extlinux/extlinux.conf
If this method fails to set the memory limit, run the following command:sudo sh -c 'echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb'
已检测到摄像头,但无法进行流式传输
原因:由 ARM 板供电的 USB3 总线不足以为摄像头供电。
解决方案:使用 GPIO 线缆为 USB3 摄像头供电。
在 Jetson TK1、TX1 或 TX2 板上,GigE 摄像头的帧率非常低
原因:套接字缓冲区默认大小过低。
解决方案:在终端中输入以下代码增加套接字缓冲区大小:
sudo sysctl –w net.core.rmem_max=33554432
sudo sysctl –w net.core.wmem_max=33554432
sudo sysctl –w net.core.rmem_default=33554432
sudo sysctl –w net.core.wmem_default=33554432