Copyright
©
2022
congatec
GmbH
SMX8_SDS_q10
6/7
2
Software
2.1
Building the Image
To build the Linux or Android operating system image for the conga-SMX8,
follow the instructions described in the website below:
https://wiki.congatec.com
Note
In case of questions, contact congatec technical support.
2.2
Starting Up
The conga-SMX8 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.
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
2.3
Boot Process
The conga-SMX8 boot process starts at Power On Reset (POR), where the
hardware reset logic forces the ARM core to begin execution, starting from
the on-chip boot ROM of the processor.
After loading, the bootloader will be executed and will perform basic system
initialization (e.g. the system memory, serial console, etc.). Afterwards,
the environment settings are parsed and the system boot will go ahead 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.4
U-Boot Environment Variables
The u-boot environment is located in the onboard 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.