FSiMX6 FirstSteps Eng
FSiMX6 FirstSteps Eng
MX6 Linux
First Steps
Version 4.4
(2024-03-28)
Remark
The version number on the title page of this document is the version of the document. It is
not related to the version number of any software release! The latest version of this docu-
ment can always be found at http://www.fs-net.de.
Titlepage
8 9
Typographical Conventions
We use different fonts and highlighting to emphasize the context of special terms:
File names
Menu entries
Board input/output
Program code
PC input/output
Listings
Generic input/output
Variables
History
Date V Platform A,M,R Chapter Description Au
2012-09-05 0.1 * A,M,R * Initial Version MK
2012-11-13 0.2 * A,M,R * Additional modifications. First public version MK
2012-11-12 0.3 * A,M,R * Buildroot description added. Rootfs and Kernel flashing de- MK
scribtion added.
2013-01-29 0.4 QBA9 M 8 Toolchain path corrected MK
2013-03-15 0,5 QBA9 A, M 5.2, 11 MTD partitions updated. Chapter about oading and saving MK
firmware added.
2013-03-20 0.6 QBA9 M 10 Kernel build command corrected. MK
2013-05-31 0.7 QBA9 A 7.9 Bluetooth initialization MK
2013-06-27 0.8 * A 5.3.1 Creating a new bootable SD card MK
2013-09-06 1.0 * A,M,R * armStoneA9 added MK
2013-12-06 1.1 * M 4.1.3 JG
2015-03-06 1.2 * M,R 1-4, 8-11 Updates in 1-4 and 8-11: improved introduction, explain archi- AD
tecture releases, new F&S Download Area, improve manual
installation procedure, introduce the new system for switching
boot strategies. Modified some names in U-Boot, Kernel and
Buildroot. Toolchain name changed to one of current versions.
2015-03-11 1.3 * M 8 Make sub directory “arm” added. Definition of “CROSS_COM- AD
PILE” environment added.
2015-04-14 1.4 * A,M,R 2,4,5,6,7 Added PicoMODA9, Infos for new NBoot, new UBoot. Boot AZ
strategies.
2015-04-23 2.0 M * Converted to new F&S document layout, large parts rewriten HK
2015-04-24 2.1 M 7.1 Fix typo in PATH for toolchain HK
2016-06-20 3.0 Add device tree info, Move generic explanations about the PH
Linux system from install instructions to general introduction,
update images, reduce similar/redundant explanations
2016-08-08 3.0 A, M 2.1.3, 2.3, Add armStoneA9r2 image, complete list of files, move erasing HK
3.3.2, 7.9 the flash to a separate sub-chapter, update gstreamer sup-
port, many small changes.
2016-08-10 3.1 M 8.4 Fix device tree name confusion HK
2016-08-19 3.1 * A,M,R * Address differences between multiple documents PH
2016-09-14 3.1 A, M 2.3, 3.3.1, Change NBoot upgrade info, formatting, add mkimage tool in- PH
3.3.6, 7.15, stallation
8.2, 8.5
2017-06-28 3.2 * A,M,R 7.*, 8 Add chapter 8 ‘Graphical Environment’ merge similar PH
subchpters and remove them
2017-11-14 3.2 * M 6.2.* Command should be nand erase.part PH
9.3 Explain new version of install-sources.sh with option --dry-run HK
2018-05-25 3.3 * M 1 Add NetDCU platform HK
M 2 Add reference to F&S development machine HK
M 2.1.5 Use same description type on PicoMODA9 as for other boards HK
A 2.1.6 Add NetDCUA9 HK
M 2.2, 2.3 Mention Yocto releases, add Yocto file names to content list HK
M 3.3 Change manual installation procedure to use file names from HK
sdcard directory; they are the same for Buildroot and Yocto
M 9.1 Collect Buildroot build process chapters under 9.1 HK
A 9.2 Add chapter 9.2 with Yocto build process HK
2018-05-30 3.4 * M 1 Add PicoCOM1.2 to available platforms; have nicer pagebreak HK
M 9 Fix typos, minor improvements HK
2018-09-11 3.4 QBlissA9/ A 5.4 Show workarounds for slow network connections on QBlissA9 HK
QBlissA9r2 and QBlissA9r2 due to SKIT not capable of Gigabit speeds
2019-03-22 3.4 fsimx6 M 1 Add PicoCoreMX6UL and PicoCoreMX6SX to platforms, drop HK
fss5pv210 and picocom4 architectures, add fsimx7ulp
A 1.1 – 1.3 Split into chapters, add chapter with links to F&S website HK
R 2.3 Remove hardware documents from list of contents HK
3 Software Installation 15
3.1 Download Images From F&S Website.............................................................15
3.2 Enter NBoot.....................................................................................................17
3.3 Erase Flash......................................................................................................17
3.4 Download and Save U-Boot.............................................................................17
3.5 Install Kernel, Device Tree And Root Filesystem..............................................19
3.6 Set MAC Address.............................................................................................19
3.7 Restart Board...................................................................................................20
4 Next Steps 21
4.1 F&S Workshops...............................................................................................21
4.2 Further Information..........................................................................................21
6 Appendix 24
List of Figures................................................................................................................ 24
1 Introduction
Linux is available for all of these platforms. F&S combines releases for platforms with the
same CPU – or rather SoC (System on Chip) – as so-called architecture releases. All the
boards of the same architecture can use the same sources, and the binaries can be used on
any board of this architecture. Please note the difference: board families are grouped by
form factor, architectures are grouped by CPU type, i.e. they usually contain boards of differ-
ent families.
Table 2 shows all the architectures that are currently supported by F&S.
Remark
In December 2015, the two companies Freescale and NXP merged and both companies are
now working under the brand name NXP. The name Freescale will disappear in the future,
which is why we only use “NXP” throughout this document now. However some programs
still output “Freescale” at some places. We have not touched this output to reflect the situ -
ation as it is.
2.1.1 QBlissA9/QBlissA9r2
The Starterkit includes all components that are required for an initial setup. This includes:
For basic operation please make sure that power and COM1 debug port are connected cor-
rectly. Additionally it is advisable to add a battery in the designated holder.
More detailed information about connectors available on QBlissA9 can be found in the
“Hardware documentation for QBliss Startintf”.
2.1.2 armStoneA9(r3)
The Starterkit includes all components that are required for an initial setup. This includes:
● Cables (ethernet, serial, power, USB, …).
● Software (source, binaries, install scripts, examples).
● armStoneA9(r3) module.
For basic operation please make sure that the Serial Debug Port and power are connected
correctly.
Power
microSD
Audio
HDMI connector
LCD interface
USB 1/2
USB Device
SATA
LVDS
Touch (I2C)
Display Backlight
Figure 3: armStoneA9 (top view)
2.1.3 armStoneA9r2(r4)
The Starterkit includes all components that are required for an initial setup. This includes:
● Cables (ethernet, serial, power, USB, …).
● Software (source, binaries, install scripts, examples).
● armStoneA9r2(r4) module.
For basic operation please make sure that the Serial Debug Port and power are connected
correctly.
Micro SD Card
Serial Debug Port Power Supply
Feature Connector
Ethernet
WLAN Antenna
CAN
HDMI Display
Touch (I2C)
Figure 4: armStoneA9r2 (top view)
2.1.4 efusA9(r2)
The Starterkit includes all components that are required for an initial setup. This includes:
● Cables (Ethernet, serial, power, USB, …).
● Software (source, binaries, install scripts, examples).
● Starterkit carrier board that offers connectivity for most interfaces available in efusA9.
● efusA9 module.
For basic operation please make sure that power and Serial A debug port are connected cor-
rectly.
Audio (In/Out/Mic)
Ethernet B 2x USB Host
Micro-SD-Card
Power DVI/HDMI Ethernet A USB Device
Reset-
Button
Analog
Power Camera
SATA
Feature
Connector
CAN A Digital
RGB
Serial C
MIPI
Camera
Serial B
Digital
Camera
Serial A
Status LEDs LCD Backlight
efus Connector
Figure 5: efusA9 StarterKit top
RTC
Battery
Resistive
Touch
Capacitive
Touch (I2C)
efus Connector
LVDS-Display
JTAG
Figure 7: efusA9 module
More detailed information about connectors available on efusA9 can be found in the “Hard-
ware documentation for efus Startinterface”.
2.1.5 PicoMODA9
The Starterkit includes all components that are required for an initial setup. This includes:
● Cables (ethernet, serial, power, USB, …).
● Software (source, binaries, install scripts, examples).
● Starterkit carrier board that offers connectivity for most interfaces available in
PicoMODA9.
● PicoMODA9 module.
For basic operation please make sure that power and Serial Debug Port (UART_A) are con-
nected correctly.
Power Supply
Display Module
Expansion Port
(UART_B, I2C,
SPI, USB, etc.) SD Card
Voltage
RTC Battery
(Coin Cell) Backlight
Power
Micro SD Card
LVDS Display
More detailed information about connectors available on PicoMODA9 can be found in the
“Hardware documentation for PicoMOD Startinterface”.
2.1.6 NetDCUA9
The Starterkit includes all components that are required for an initial setup. This includes:
● Cables (ethernet, serial, power, USB, …).
● Software (source, binaries, install scripts, examples).
● Starterkit carrier board that offers connectivity for most interfaces available in
NetDCUA9.
● NetDCUA9 module.
For basic operation please make sure that power and Serial Debug Port are connected cor-
rectly.
Status LEDs
LVDS Display
SD Card
Touch
I/O
A/D-Input
Touch
CAN_B
CAN_A
Power Supply
LCD
ETH_B
ETH_A
UART_A
UART_B
Audio
RTC Battery
(Coin Cell)
UART_C
USB Host
USB Device
Figure 11: Starterkit with NetDCU
More detailed information about connectors available on NetDCUA9 can be found in the
“Hardware documentation for NetDCU-SINTF-14”.
Serial Connection
PC F&S Starterkit
Figure 12: Serial connection from board to PC
For a first test, a Linux PC is not necessarily required. You can also use a Windows PC. But
later for development, you definitely need a Linux PC. However it is completely sufficient to
have a Virtual Linux Machine. So you still can have a Windows based PC and use a Virtual
Machine (VM) software like VirtualBox. This combination allows to use software from both
worlds, for example have the serial connection done in Windows and only compile the soft-
ware in the Linux VM.
On your PC, start a terminal program and open a serial connection to the board. Use
115200 baud, 1 start, 1 stop bit, no flow control. We recommend a terminal program that
supports a 1:1 binary download and also supports ANSI Escape Sequences for colour and
text highlighting. Examples are:
● TeraTerm (Windows)
● PuTTY (Windows/Linux, does not support 1:1 download)
● minicom (Linux, does not support 1:1 download, but not needed in Linux)
F&S also provides a small terminal program for Windows called DCUTerm. You can find
DCUTerm in the Tools-Section of the Download Area (in My F&S). However DCUTerm does
not support ANSI Escape Sequences, which means the output of a Linux command like ls
is nearly unreadable. Instead of different colours for different file types, you will see a mixture
of file names and verbatim escape sequences. Also accessing the command history with the
up and down arrow keys is not possible in DCUTerm. So DCUTerm is not suited very well for
Linux. However it supports a 1:1 binary download. So DCUTerm is actually a good compan-
ion for PuTTY. Use DCUTerm for serial downloads and PuTTY for everything else.
3 Software Installation
When you get a Starterkit from F&S, the Linux system is usually pre-installed and boots to
the Linux login prompt right away. In this case you can skip this chapter. But if you are
switching over from a different operating system, if you are upgrading from a previous re-
lease, or if your board is empty for some other reason, the following sections describe how
to install some standard software on your platform.
Here we will only show a very simple automatic installation procedure using an SD card or
USB stick and some pre-compiled images from the F&S website. This is the easiest way to
get to a running system. Of course, there are other ways to install software, for example via
network (TFTP). However, this would go beyond the scope of this document.
To download any software, you first have to register with the website. Click on Login right at
the top of the window and on the text “I am not registered, yet. Register now” (13).
In the screen appearing now, fill in all fields and then click on Register. You are now re-
gistered and can use the personal features of the website, like the Support Forum and down-
loading software.
After logging in, you are at your personal page, called “My F&S”. You can always reach this
place by selecting Support → My F&S from the top menu. Here you can find all software
downloads that are available for you. In the top sections there are private downloads for you
or your company (may be empty) and in the bottom section you will find generic downloads
for all registered customers.
To get access to the software of a specific board in the bottom section, you have to enter the
serial number of one of these boards (see 14). Click on “Where can I find the serial number”
to get pictures of examples where to find this number on your product. Enter the number in
the white field and press Submit serial number. This enables the software section for this
board type for you. You will find Linux, Windows CE, and all other software and tools avail-
able for this platform like DCUTerm or NetDCUUsbLoader.
First click on the type of your board, e.g. armStoneA9, then on Linux. Now you have the
choice of Buildroot or Yocto. For the first steps here, we will use the newest Buildroot re-
lease, because this is the software that is also installed on our Starterkits. So click on Build-
root. This will bring up a list of all our Buildroot releases. Old releases up to 2018 had
V<x>.<y> as version identifier, new releases use B<year>.<month>. We will abbreviate
this as <v> from now on. Select the newest version, for example fsimx6-B2019.07. This will
finally show two archives that can be downloaded.
fsimx6-<v>.tar.bz2................This is the main release itself containing all sources, the
binary images, the documentation and the toolchain.
sdcard-fsimx6-<v>.tar.bz2 Files that can be stored on an SD Card or USB stick to al-
low for easy installation.
For now we will only need the SD card archive. This archive contains some pre-compiled im-
ages of bootloaders, Linux kernel, device trees and root filesystem. It is compressed with
bzip2. To see the files, you first have to unpack the archive, for example in Linux with
tar xvf sdcard-fsimx6-<v>.tar.bz2
This will create a directory sdcard that contains all necessary files. Now copy these files to
an SD card or USB stick. We will call this the installation media. It has to be formatted with
the FAT filesystem. Do not create any subdirectories, the files have to reside directly in the
top directory of the media.
Normally, NBoot is completely invisible and just loads and starts the main bootloader. Then
the first output on the serial port is from the main bootloader itself. But now we will use
NBoot to erase any old content and download the correct U-Boot image. This means we
have to stop the boot process right at the beginning and enter NBoot.
This requires the serial setup as explained in Chapter 2.2. And we need a 1:1 download op-
tion, which means PuTTY is not suited for this. So use one of the other terminal programs.
Open the serial connection, then press and hold key s (lower case S). While holding this key,
switch on power of the board (or press the reset button). This should bring you into NBoot.
You should see something like this (output is taken from armStoneA9, the real messages
may vary slightly depending on the software version):
● In DCUTerm, go to File → Transmit Binary File... and open the file ubotmx6.nb0
from the sdcard directory. This starts the serial download.
● In TeraTerm, go to File → Send File... and activate the Binary option checkbox. This
is important! Then open the file ubotmx6.nb0 from the sdcard directory. This starts
the serial download.
● In Linux, you can copy the U-Boot image ubotmx6.nb0 from the sdcard subdir-
ectoy directly to the serial port device. This is possible even if the terminal program
does not support a 1:1 download function. For example if /dev/ttyS0 is your serial
port, just use a separate shell and enter:
dd if=ubotmx6.nb0 of=/dev/ttyS0.
Just note that you must not enter any characters in the terminal program while down-
load is in progress. The character would also be sent to the serial port and would be
inserted at an arbitrary position in the sequence of bytes. This would shift the remain-
ing file content and would result in a damaged and unusable download.
Note
After pressing d, you have exactly 60 seconds to start the download. Then the download
command times out and the menu is shown again. This means if you start to send the file
too late, every byte of the file is interpreted as an own NBoot command, which is definitely
not what you want.
During download, progress is shown by an increasing number of dots and the number of
transmitted bytes from time to time.
................................................................ 65536 Bytes
................................................................ 131072 Bytes
................................................................ 196608 Bytes
................................................................ 262144 Bytes
................................................................ 327680 Bytes
................................................................ 393216 Bytes
................................................................ 458752 Bytes
................................................................ 524288 Bytes
Success, checksum: 0xaa7d
When download is complete, you see the menu again, which now has additional entries.
Save U-Boot by pressing f (lower case F). This should show
Saving U-Boot...Success
Warning
If you do not set this unique address, a default address is used that is the same for all
boards of this type. This will definitely lead to problems in real networking scenarios.
4 Next Steps
This document only showed a very basic usage of the board and the Linux system. The next
logical step is the generic Linux documentation LinuxOnFSBoards_eng.pdf. It will show
you the ideas and concepts behind the F&S Linux environment and how you can work effi-
ciently with these boards.
Document Description
We do not include all these documents in the release to make sure that you always get the
newest version when you start. The following sections give direct links to important places
like documentation and add-ons.
A good source for information is also our internet forum. If you have any questions or specific
problems, please feel free to go to: https://forum.fs-net.de/.
Hardware documentation for the modulse itself, Starterkit baseboard, including schematics,
available accessories, adapters and extensions can be found at:
https://www.fs-net.de
6 Appendix
List of Figures
Figure 1: QBliss Starterkit top.................................................................................................3
Figure 2: QBliss Starterkit bottom...........................................................................................4
Figure 3: armStoneA9 (top view).............................................................................................5
Figure 4: armStoneA9r2 (top view).........................................................................................6
Figure 5: efusA9 StarterKit top................................................................................................7
Figure 6: efusA9 StarterKit bottom..........................................................................................8
Figure 7: efusA9 module.........................................................................................................8
Figure 8: efusA9r2 module......................................................................................................9
Figure 9: PicoMODA9 Starterkit, top side.............................................................................10
Figure 10: PicoMODA9 Starterkit, bottom side, with PicoMODA9 module............................11
Figure 11: NetDCUA9............................................................................................................ 12
Figure 12: Starterkit with NetDCU.........................................................................................13
Figure 13: Serial connection from board to PC.....................................................................14
Figure 14: Register with F&S website...................................................................................16
Figure 15: Unlock software with the serial number................................................................17
Figure 16: Bar-code sticker...................................................................................................20
List of Tables
Table 1: F&S Board Families...................................................................................................1
Table 2: F&S Architectures......................................................................................................2
Table 3: VPU based GStreamer plugins................................................................................25
Table 4: Important documents, available on the F&S website...............................................32
Listings
Important Notice
The information in this publication has been carefully checked and is believed to be entirely
accurate at the time of publication. F&S Elektronik Systeme assumes no responsibility, how-
ever, for possible errors or omissions, or for any consequences resulting from the use of the
information contained in this documentation.
F&S Elektronik Systeme reserves the right to make changes in its products or product spe-
cifications or product documentation with the intent to improve function or design at any time
and without notice and is not required to update this documentation to reflect such changes.
F&S Elektronik Systeme makes no warranty or guarantee regarding the suitability of its
products for any particular purpose, nor does F&S Elektronik Systeme assume any liability
arising out of the documentation or use of any product and specifically disclaims any and all
liability, including without limitation any consequential or incidental damages.
Products are not designed, intended, or authorised for use as components in systems inten-
ded for applications intended to support or sustain life, or for any other application in which
the failure of the product from F&S Elektronik Systeme could create a situation where per-
sonal injury or death may occur. Should the Buyer purchase or use a F&S Elektronik
Systeme product for any such unintended or unauthorised application, the Buyer shall in-
demnify and hold F&S Elektronik Systeme and its officers, employees, subsidiaries, affili-
ates, and distributors harmless against all claims, costs, damages, expenses, and reason-
able attorney fees arising out of, either directly or indirectly, any claim of personal injury or
death that may be associated with such unintended or unauthorised use, even if such claim
alleges that F&S Elektronik Systeme was negligent regarding the design or manufacture of
said product.