Jetson Nano

Iš Žinynas.
Jump to navigation Jump to search
Jetson Nano kompiuteris
  • GPU NVIDIA Maxwell architecture with 128 NVIDIA CUDA® cores
  • CPU Quad-core ARM Cortex-A57 MPCore processor
  • Memory 4 GB 64-bit LPDDR4, 1600MHz 25.6 GB/s
  • Storage 16 GB eMMC 5.1
  • Video Encode 250MP/sec
1x 4K @ 30 (HEVC)
2x 1080p @ 60 (HEVC)
4x 1080p @ 30 (HEVC)
4x 720p @ 60 (HEVC)
9x 720p @ 30 (HEVC)
  • Video Decode 500MP/sec
1x 4K @ 60 (HEVC)
2x 4K @ 30 (HEVC)
4x 1080p @ 60 (HEVC)
8x 1080p @ 30 (HEVC)
9x 720p @ 60 (HEVC)
  • Camera 12 lanes (3x4 or 4x2) MIPI CSI-2 D-PHY 1.1 (1.5 Gb/s per pair)
  • Connectivity Gigabit Ethernet, M.2 Key E
  • Display HDMI 2.0 and eDP 1.4
  • USB 4x USB 3.0, USB 2.0 Micro-B
  • Others GPIO, I2C, I2S, SPI, UART
  • Mechanical 69.6 mm x 45 mm
  • 260-pin edge connector

Aušinimas[keisti]

Programinės įrangos diegimas[keisti]

git clone https://github.com/hooperbill/fan-daemon.git
cd fan-daemon
./install.sh

Taip pat galimi keletas nustatymų, kurie turi būti uždeklaruoti faile fan-daemon.h, juos keičiant reikia įdiegti iš naujo.

Sistemos monitoringas[keisti]

pip install jetson-stats

68747470733a2f2f6769746875622e636f6d2f72626f6e6768692f6a6574736f6e5f73746174732f77696b692f696d616765732f6a746f702e676966.gif


Krovimasis iš USB ssd[keisti]

Prieš diegimą įsitikinkite, kad Jetson Nano naudoja jetpack 4.5 ar naujesnę versiją. Najausius žemiau pamynėtus paketus visada galima rasti čia. Visos komandos vykdomos iš root. Keletas detalių:

  • Išorinis ssd diskas sda
  • Išorinio ssd disko particija sda1
apt-get update && apt-get install qemu-user-static
dd if=/dev/zero of=/dev/sda bs=1M count=16000 status=progress
parted /dev/sda mklabel gpt
parted /dev/sda mkpart APP 0% 100%
mkfs.ext4 /dev/sda1
mount /dev/sda1 /mnt
wget https://developer.nvidia.com/embedded/l4t/r32_release_v5.1/r32_release_v5.1/t210/jetson-210_linux_r32.5.1_aarch64.tbz2
wget https://developer.nvidia.com/embedded/l4t/r32_release_v5.1/r32_release_v5.1/t210/tegra_linux_sample-root-filesystem_r32.5.1_aarch64.tbz2
tar xf jetson-210_linux_r32.5.1_aarch64.tbz2
cd Linux_for_Tegra/rootfs/
tar xpf ../../tegra_linux_sample-root-filesystem_r32.5.1_aarch64.tbz2
cd ..
./apply_binaries.sh
BOOTDEV=sda1 ./flash.sh --no-flash jetson-nano-devkit sda1
mkdir tmp_system
mount bootloader/system.img.raw ./tmp_system/
rsync -axHAWX --numeric-ids --info=progress2 --exclude=/proc ./tmp_system/ /mnt
umount /mnt
umount ./tmp_system

Dėja, bet šikonon tas nvidia dokumentacijas (gal kažkada sutvarkys kaip priklauso), užkrovus iš USB gaunam klaidą "The installer encountered an unrecoverable error. A desktop session will now be run so that you may investigate the problem or try installing again". Būtų gerai, kad veiktų ir išeitų kažką paleisti. Įsijungus tty taip pat, nežinant root pass, nieko naudinga nenuveiksi todėl reikia judėti toliau... Galima pasinaudoti antruoju variantu, nuklonuojant esamą SD kortą į USB SSD

dd if=/dev/zero of=/dev/sda bs=1M count=16000 status=progress
parted /dev/sda mklabel gpt
parted /dev/sda mkpart APP 0% 100%
e2image -ra -p /dev/mmcblk0p1 /dev/sda1 -f
mount /dev/sda1 /mnt
sed -i 's/mmcblk0p1/sda1/' /mnt/boot/extlinux/extlinux.conf
sync && umount /mnt

Po reboot užsikrovus sistemai iš USB, reikia padaryti resize particijai iki max disko dydžio. Klonuojant failų sistemą, SSD particijos dydis tapo lygus SD kortai.

resize2fs /dev/sda1

Uart[keisti]

Jetson nano22435345.jpg

  • Jetson Nano J41 Pin 8 (TXD) → Cable RXD (White Wire)
  • Jetson Nano J41 Pin 10 (RXD) → Cable TXD (Green Wire)
  • Jetson Nano J4 Pin 6 (GND) → Cable GND (Black Wire)
screen /dev/{console_port} 115200

uboot compile[keisti]

https://github.com/thierryreding/u-boot

To build U-Boot for the board, do the following:

$ tools/genboardscfg.py
$ make O=build/p3450-0000 p3450-0000_defconfig
$ make O=build/p3450-0000

This assumes that you've set up the CROSS_COMPILE environment variable to point at the prefix of your cross compiler.

Once the build is finished, you can flash L4T, using the above instructions, but use the newly built version of U-Boot. To do so, run the following:

$ sudo ./flash.sh -K path/to/u-boot.git/build/p3450-0000/u-boot.bin jetson-nano-sd mmcblk0p1

Boot order change[keisti]

Kraunantis įrenginiui, spaudžiant bet ką išeiname į uboot komandinę eilutę

# printenv boot_targets
# setenv boot_targets="usb0 mmc0 mmc1 pxe dhcp"
# saveenv
# reset

Taip pirmasis įrenginys iš kurio krausis įrenginys nusistatys į usb išorinę laikmeną.

OpenCV Install[keisti]

Standartinis įdiegtas OpenCV nepalaiko gstreamer, manipuliavimo su kameromis ir H.264/H.265 hardware codec'ų. Todėl jį reikia įdiegti švariai iš source.

apt-get install python3.7 python3.7-dev
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
python3 --version # Turi rodyti 3.7.5 >=
cd
git clone https://github.com/jkjung-avt/jetson_nano.git
cd jetson_nano
./install_opencv-3.4.6.sh # Šis scriptas taip pat išvalo senus užsilikusius OpenCV diegimus