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)
  1. 按照 NVIDIA 的快速入门指南文件安装全新的 64 位 Linux 4 Tegra 发布包。适用于 Tegra R28.1 的 64 位 Linux 已用于此应用说明。
    注意:此步骤会重写现有文件系统。
  2. 通过下载全新的 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 字节)。

GS3-U3-23S6M
  请求的

处理的

CPU
使用率
带宽

1920 x 1200 Raw8

163 FPS

163 FPS

~45%

358 MB/s

BFS-U3-51S5C
  请求的

处理的

CPU
使用率
带宽

2448 x 2048 BayerRG8

7.5 FPS

7.5 FPS

~50%

358 MB/s

  1. 按照 NVIDIA 的 自述文件 操作,在 TK1 上启动预安装的 Ubuntu 14.04。
  2. 默认情况下,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
  3. 按下重设按钮重启 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)
  1. 按照 NVIDIA 的快速入门指南文件安装全新的 64 位 LT4 发布包。 L4T release package ->Tegra X1->Jetson TX1 R24.2.1 - 2016 年 9 月已用于此应用说明。
    注意:此步骤会重写现有文件系统。
  2. 通过下载全新的 Spinnaker 64 位 ARM 安装 64 位 Spinnaker ARM,按照自述文件中的安装说明操作。 Spinnaker 1.5.0.27 SDK - ARM64 - Ubuntu 16.04(64 位)- 2017 年 8 月 22 日已用于此应用说明。
  3. 安装 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 字节)。

 

GS3-U3-23S6M
  请求的

处理的

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

BFS-U3-51S5C
  请求的

处理的

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