Introduction
SolidRun is a global leading developer of embedded systems and provides a lot of powerful products. One of them I want to describe in this post is the HummingBoard Pulse. You can see it in the picture below.
Hummingboard Pulse has the powerful i.MX8M SOM with a quad ARM Cortex A53 processor (up to 1.5 GHz) with ARM M4. The i.MX8M family of processors provides industry-leading audio, voice and video processing for applications that scale from consumer home audio to industrial building automation and mobile computers. More information can be found at the official website of the producer of these processors there.
The HummingBoard Pulse provides a lot of hardware interfaces from which I can mention:
- USB type C
- Micro USB
- RJ45 Ethernet
- 2x USB 3.0
- HDMI 2.0
- Audio Headset
- MicroSD
All of them are nicely shown on the pictures which can be found on this website.
Getting started with the board
To start using the HummingBoard Pulse you will need a couple of things:
- Linux or Windows PC (it will be easier if you’ll have Linux PC),
- 16GB Micro SD card,
- 12V Power adapter (the board has wide range input of 7V-36V but 12V is recommended),
- MicroUSB to USB for the console because the HummingBoard Pulse has an onboard FTDI chip, which means that there is no need to use external UART/USB converter,
- and of course the HummingBoard Pulse with SOM.
OK, assuming you have everything that’s needed, now it’s time to flash our SD card with U-Boot and Debian. Let me help you with that. As I mentioned earlier, the whole installation is easier when using Linux PC so all commands will be given for users of Linux.
Building ARM Trusted Firmware and U-Boot
Let’s start with a toolchain. You can download a ready-to-use-toolchain. When writing this post following toolchain was used: http://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz. After you download and extract your, just type commands which are shown below in the terminal. Just remember that CROSS_COMPILE environment variables need to be set to the path of the toolchain prefix.
|
|
Source and firmware can be downloaded from the GitHub repos and sites listed below. You can copy and execute those commands in your terminal.
|
|
Building ATF is as follows.
|
|
After you extract NXP firmware you will need to accept the end user agreement.
|
|
OK, so now you can change directory to the U-Boot directory, then build U-Boot and generate the image.
|
|
Doing that you may need to install two programs named bison and flex. In this case, you just need to type those commands in your terminal.
|
|
After all of that, you can flash U-Boot on to your SD card.
Firstly, after you plug-in your sd card to PC, you need to unmount it using:
|
|
Then you can easily flash your SD card with u-boot simply typing:
|
|
Where [x] stands for your SD card attached to PC. For me it was sdb.
From now you will have working U-Boot on your SD card. If you want to check how it looks on HummingBoard Pulse you need to connect your PC with the board using MicroUSB to USB cable and minicom on the terminal. Just type:
|
|
This time [x] stands for the USB port you use to communicate. For me, it was 0.
You should receive something like this:
|
|
OK, so now you need to copy the kernel image and .dtb file. Unfortunately, I was not able to compile image following instructions given by SolidRun. Happily, there is another way to run Linux on the HummingBoard Pulse.
Installing Debian on HummingBoard Pulse
SolidRun gives instructions on how to install Debian on HummingBoard Pulse. Debian is well-documented GNU/Linux distribution and images of it are easily available at https://developer.solid-run.com/knowledge-base/i-mx8m-debian/. When you will be choosing one for you please check the log of changes at the bottom. You will read there that only versions released after 07.12.2018 supports booting from SD card.
After you download and extract an image of Debian you need to flash it on SD card.
|
|
Below you can watch log from booting Debian on HummingBoard Pulse. I’ve captured it using asciinema.
Summary
This post describes the HummingBoard Pulse and attempts of booting a Linux on it. If you are looking for more detailed information about the board you are welcome to check this or that. We hope to work with this platform much more and write many more posts about i.MX8 series. Please let us know which i.MX8 features you like the most and what kind of content would you expect in the next posts.
If you think we can help in improving the security of your firmware or you
looking for someone who can boost your product by leveraging advanced features
of used hardware platform, feel free to
book a call with us or
drop us email to contact<at>3mdeb<dot>com
. If you are interested in similar
content feel free to sign up for our newsletter