Build overview
basic concept
project- Specifically the directory or subdirectory under armino/projects/,which contains all the files and configurations needed to build an executable application,as well as other supporting files such as partition tables, data/filesystem partitions, and bootloaders.
Project configuration- Specifically, the sdkconfig.h file generated in the build directory during the build process.
application- is an executable built by ARMINO. A project typically builds two applications : the project application (the main executable file, i.e. user-defined firmware) and the bootloader (the project application that starts and initializes).
components- is modular and self-contained code that is compiled into a static library (.a file) and linked into the application.
Target- Specifically refers to the hardware device that runs the built application, such as bk7236, bk7258 etc.
Project example
- armino/
- components/
- include/
- middleware/
- arch/
- bk7236/
- bk7236.defconfig
- ...
- projects/
- my_project/
- config/
- bk7236/config
- bk7258/config
- CMakeLists.txt
- Kconfig.projbuild
- main/
- main.c
- Kconfig
- CMakeLists.txt
- components/
- c1/
- c1.c
- Kconfig
- CMakeLists.txt
- c2/
Trigger a build with make
Run make in the armino root directory. The most commonly used make commands are as follows:
make bkxxx- Build the target bkxxx, and the project is the default project armino/projects/app.
make bkxxxPROJECT=a/b - Build bkxxx, the project is armino/projects/a/b
make all- build all targets
make cleanbkxxx- clean target bkxxx
make clean- clear all targets
The make build is to indirectly call the armino tool through armino/Makefile to build, which saves the trouble of setting environment variables when building with the armino tool. It is recommended that you build in this way.