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 SDK Go to Download Center to download bm1684_build.docker.tar, ec- a1684jd4_bsp.initial.bundle and ec-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