Compile BSP¶
Introduction¶
BSP is a low-level software development kit between the bottom-level hardware and the upper-level software. Its main function is to shield the hardware and provide operating system drivers and hardware drivers. BSP is used to build system software, such as bootloader, kernel and file system.
Environment preparation¶
Compilation host requirements:
OS: Ubuntu 16.04/18.04 or above
Storage: 40G of free disk space
Docker is installed and the development user account has docker permissions
Download BSP SDK¶
Download
bsp-sdk-binary.tgz
from Original SDKGo to Download Center to download
bm1684_build.docker.tar
,ec-a1684jd4_bsp.initial.bundle
andec-a1684jd4_bsp.update.bundle
.
Run the following command to complete the initialization of the BSP SDK:
# This assumes that all downloaded files are placed in the current directory
# Install development tools
sudo apt install bison flex bc rsync kmod cpio sudo uuid-dev cmake libssl-dev fakeroot dpkg-dev device-tree-compiler u-boot-tools
# Clone the BSP SDK from ec-a1684jd4_bsp.initial.bundle
git init bm1684-sdk
cd bm1684-sdk
git fetch ../ec-a1684jd4_bsp.initial.bundle
git reset --hard FETCH_HEAD
# Update to the latest from ec-a1684jd4_bsp.update.bundle
git fetch ../ec-a1684jd4_bsp.update.bundle
git merge FETCH_HEAD
# Unzip the SDK package
cd bm1684-sdk
tar xf ../bsp-sdk-binary.tgz
# Import the Docker build image
docker load < ../bm1684_build.docker.tar
Update BSP SDK¶
Go to Download Center to download the latest
ec-a1684jd4_bsp.update.bundle
Run the following command to complete the update of the BSP SDK:
# This assumes that all downloaded files are placed in the bsp sdk directory
# Pull the modified commit from the bundle
git fetch ec-a1684jd4_bsp.update.bundle
# View modification records
git log FETCH_HEAD
# Merge into the current development branch
git merge FETCH_HEAD
Compile and upgrade firmware¶
Assuming the current BSP SDK directory, run the following command to generate the upgrade firmware:
# After the following command is run, you need to enter the user password to do sudo operations
./build.sh build_all
# The final generated firmware file is: install/soc_bm1684_asic/sdcard.zip