i.MX8 - Nitrogen8M
Getting Started
On this page you are going to find all the information to start from scratch. You will find information about the board and how to configure your host machine in order to customize your own images. First, a general description about the board capabilities will be shown. Next, a description about the package content and a briefly guide about how to start the board. Finally, the required steps to build a custom image will be shown.
Key Features
The Nitrogen8m has the following features:
- Processor: i.MX 8M Quad (Based on Cortex-A53 and Cortex-M4F series)
- Memory RAM: 2 GB LPDDR4
- eMMC : 8 GB
- Wireless: WiFi 802.11ac + Bluetooth 4.1
- Network: Gigabit Ethernet
- GPU: Vivante GC7000 Lite
- Display specification:
- HDMI (4K@60fps)
- 4-lane MIPI-DSI (1080p@60fps)
- Camera support: 2x 4-lane MIPI-CSI
- Audio: Headphones and Analog Microphone
- Encoders:
- H.265
- VP9
- Interfaces:
- 3x USB 3.0 Host ports
- USB 3.0 OTG port
- 3x I2C
- SPI
- RS-232
- SIM card
- RTC + battery
- 2x PCIe (1 Mini-PCIE connector, 1 on expansion connector)
- JTAG
- Supported OS :
- Yocto
- Ubuntu/Debian
- Buildroot
- FreeRTOS
- Android
- Power supply: 5V
Package Content
This is a description about the Nitrogen8m accessory kit and its contents. The packages includes the following items:
- Nitrogen8M rev11 preloaded with Android 8.1
- RTC battery
- 5v power adapter
- Serial console cable
- Antenna
Boot Options
The board is able to boot from more that one way, below you will see how to configure the boot device.
eMMC
By default, the board will boot from eMMC. Just be sure that the Boot Mode Switch is place on left side before connecting the power adapter.
USB Boot
This Boot option requires a Bootable USB stick and a Serial Console Cable, refer to iMX8 Software Support section to download a prebuilt image or create your own image with the instructions provided in the Custom Image section.
Instructions to setting up the USB Boot:
- Connect the Nitrogen8m to a host machine with the Serial Console Cable.
- Start any serial console (i.e minicom or term)
- Power on the board, the console will display the U-boot start-up screen.
- Press any key on your keyboard to stop the boot sequence, this will display the U-Boot console.
- Change the Boot Device with the following command:
setenv boot_targets usb0
- If you do not want to repeat this commands, you can save the selected Boot Device with this command:
saveenv
- Continue the Boot sequence by typing the next command:
boot
After the previous instructions, the board will boot from the USB stick
Custom Image
In order to create your own image, a supported Software Development Kit will be required for your desired OS.
Yocto
To create a customized image with Yocto, first install its required packages with the following commands:
- repo tool
mkdir ~/bin curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo export PATH=~/bin:$PATH
- Yocto dependencies
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential \ chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping \ libsdl1.2-dev xterm autoconf libtool libglib2.0-dev python-git sed cvs subversion coreutils \ texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev \ libglu1-mesa-dev mercurial automake groff curl lzop asciidoc u-boot-tools dos2unix mtd-utils pv \ libncurses5 libncurses5-dev libncursesw5-dev libelf-dev zlib1g-dev
NOTE: If you have some dependency errors, this could be the reason: Broken APT due to ARM64 packages
- Download the Nitrogen8m source code
mkdir fsl-community-bsp cd fsl-community-bsp repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b master repo sync
- Set up the build configuration
For now, only Wayland distro is supported for iMX8
DISTRO=fslc-wayland MACHINE=nitrogen8m source setup-environment build
- Start the build process
bitbake fsl-image-multimedia-full
Other images are supported, i.e core-image-minimal
For flashing the image, refer to iMX8 Installing an Image section.