Copyright
©
2019
congatec
AG
QX8X_SDS_q11
6/7
2
Software
2.1
Starting Up
The conga-QMX8-X uses U-Boot as standard bootloader. The bootloader
is GNU GPL open source software. A serial terminal connection is required
in order to display the boot process and to modify the boot behavior. The
boot behavior is controlled via environment variables.
The included RS232 adapter cable has two connectors. The RX/TX signals
are already crossed. Therefore, do NOT use a crossover-cable. Use the
connector labeled "Console" for the U-Boot console output. Use the
unlabeled connector for the System Controller Unit Firmware (SCFW)
debug output.
To establish a terminal connection, a terminal program such as TeraTerm
or Putty can be used.
Use the following communication parameters:
Baud rate:
Data:
Parity:
Stop:
Flow control:
115200
8 bit
none
1 bit
none
The following console output is displayed when the system is powered on:
2.2
Boot Process
The conga-QMX8-X boot process starts at Power On Reset (POR), where
the hardware reset logic forces the ARM core to begin execution. The on-
chip boot ROM loads the boot container which usually consists of SCFW,
Security Controller (SECO) firmware, ARM Trusted Firmware (ATF) and the
bootloader binary (U-Boot).
After SCFW loading, the bootloader is executed and performs basic system
initialization (serial console, etc.). Afterwards, the environment settings are
parsed and the system boot continues as specified.
Press any key during startup to stop autoboot and to get to U-Boot console.
At the U-Boot console, the environment settings can be displayed using
the “print” command. In addition, useful functionality is available (such as
memory dump, access to the SPI and the I2C system, etc.). The “help”
command will display any command supported by the U-Boot.
If autoboot is not interrupted by pressing a key, the boot process goes
ahead and the module will boot the Linux operating system that is installed
on the microSD card.
2.3
U-Boot Environment Variables
The U-Boot environment is located in SPI Flash (in microSD card for
prototypes and engineering samples). One of the benefits of the U-Boot
bootloader is the possibility to specify its run time configuration using
environment variables.
The environment variables of U-Boot can be displayed using the printenv
(or the print) command.
During the boot process, the bootloader evaluates the “bootcmd” variable
and executes it. The boot command tries to load a bootscript or a kernel
from the boot device. If this is successful, the script or kernel will be started,
otherwise a fallback to network boot is performed. The variable “mmcdev”
specifies the mmc boot device. Furthermore, the variable “mmcroot” is
passed to the kernel in order to specify the location of the root filesystem.