Build SECO BSP for i.MX and Rockchip boards
In embedded systems, the Board Support Package (BSP) is the layer of the software that contains hardware-specific drivers and other routines that allow a particular operating system to work in a specific hardware environment, integrated with the software itself.
BSPs are typically customizable, allowing the user to specify which drivers and routines should be included in the build based on their selection of hardware and software options.
SECO also provides a toolchain to build programs to run on the embedded system and other utilities needed to configure the device (while running) along with the BSP.
To perform the following procedure, you will need to install Docker Engine on Ubuntu according to these instructions https://docs.docker.com/engine/install/ubuntu/.
For further information on Docker platform, visit https://docs.docker.com/get-started/overview/.
INDEX
Source code for linux kernel, u-boot and yocto seco layers is available here.
How can I configure my environment with Docker?
To avoid the time consuming setup of the building environment, we distribute it inside a Docker container.
The following table contains the instructions to create the building environment from the Docker container, depending on the product family of the device used.
Product Family | Environment Setup |
|---|---|
i.MX6 |
|
i.MX8 |
|
Rockchip |
|
How can I build SECO U-Boot?
Clone SECO U-Boot from SECO repository
For BSP 10 boards:
$ git clone https://git.seco.com/pub/i.mx/yocto/5.x/uboot-seco-imx.git -b seco/release/imx_5.4.70_2.3.0 --depth=1
For BSP 9 boards:
$ git clone https://git.seco.com/pub/i.mx/yocto/4.x/u-boot-seco.git
In the following paragraphs, the procedures for selecting the correct defconfig file are different for i.MX6 and i.MX8 based boards. Be careful to follow the right one according to your device.
Procedure for i.MX6-based boards
For i.MX6 Quad, DualLite and Solo CPUs there’s a specific defconfig file for each RAM configuration.
i.MX6 SoloX, on the other hand, has dynamic RAM setup implemented in U-Boot.
U-boot will allocate the RAM memory based on your board configuration with the correct default defconfig file.
The table below shows the correct association RAM Configuration/defconfig file.
Be careful to select the correct RAM configuration, or the device won’t boot.
Choose the right defconfig file from table below using the following command. After having chosen the right defconfig file, you can build SECO U-Boot.
cd u-boot-seco
make <board_defconfig_filename>
# eg: make mx6qdl_seco_Q7_928_2G_4x512M_defconfig
# compile u-boot
make spl_imxDevice | RAM Configuration |
|
|---|---|---|
RAM Size=1GB RAM Configuration=4x256 MB |
| |
RAM Size=2GB RAM Configuration=4x512 MB |
| |
RAM Size=512 MB RAM Configuration=2x256 MB |
| |
Q7-928 | RAM Size=1GB RAM Configuration=4x256 MB |
|
RAM Size=2GB RAM Configuration=4x512 MB |
| |
RAM Size=512 MB RAM Configuration=2x256 MB |
| |
RAM Size=4GB RAM Configuration=8x512 MB |
| |
μQ7-A75-J | RAM Size=1GB RAM Configuration=4x256 MB |
|
RAM Size=256MB RAM Configuration=1x256 MB |
| |
RAM Size=512 MB RAM Configuration=2x256 MB |
| |
SBC-A62-J | RAM Size=1GB RAM Configuration=4x256 MB |
|
RAM Size=2GB RAM Configuration=4x512 MB |
| |
RAM Size=512 MB RAM Configuration=2x256 MB |
| |
SBC-C23 | RAM Size=dynamic RAM Configuration=512MB and 1GB |
|
SBC-B08 | RAM Size=dynamic RAM Configuration=512MB and 1GB |
|
SYS-A62-J | RAM Size=1GB RAM Configuration=4x256 MB |
|
RAM Size=2GB RAM Configuration=4x512 MB |
| |
RAM Size=512 MB RAM Configuration=2x256 MB |
| |
SYS-B08-7 | RAM Size=dynamic RAM Configuration=512MB and 1GB |
|