Copyright
©
2019
congatec
AG
SX8X_SDS_q11
6/8
2
Software
2.1
Starting Up
The conga-SMX8-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 will be displayed when the system is powered
on:
2.2
Boot Process
The conga-SMX8-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 boots the Linux operating system installed on the
SD card.
2.3
U-Boot Environment Variables
The U-Boot environment is located in SPI flash. 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.