Jetson Nano
- 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
Programinės įrangos diegimas
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
pip install jetson-stats
Krovimasis iš USB ssd
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
- 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
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
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
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