Click the “Embedded Cloud IoT Technology Circle” above to select “Pin Public Account” to view embedded notes at the first time!
Recently, I have been studying content related to audio and video development, so hardware selection is very important. Due to chip shortages, to ensure the normal supply chain of future chips, I finally chose the newly launched chip series from Rockchip: RV1126_RV1109
. To learn efficiently, I have categorized and summarized the documents provided in the docs directory of the Rockchip platform SDK, so that I can quickly refer to relevant materials in my work later for efficient debugging and development:
The construction method of this platform’s system adopts Buildroot, so learning Buildroot will be beneficial for the upcoming work. This is also the current direction of embedded development!
For development boards and similar devices, the principles are interconnected; if one understands one, they can understand many. Therefore, I will use the IMX6ULL development board and documentation tutorial provided by Baidu to learn and summarize. First, I need to set up the environment:
1. Use the 7z command to extract the SDK from Baidu
2. Set up the embedded development environment
2.1. Configure the IMX6ULL cross-compilation toolchain
Move the path of the cross-compilation toolchain extracted from the SDK to the /opt directory for easier management:
vim ~/.bashrc
Add environment variables to this file:
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/opt/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
After setting up, make the environment variables effective:
source ~/.bashrc
Check the result of the environment configuration:
Thus, the basic environment configuration is complete!
3. Use Buildroot to build the system
3.1. What is Buildroot?
Buildroot is a set of Makefiles and patches that simplify and automate the building of a complete, bootable Linux environment for embedded systems (including bootloader
, Linux
kernel, and file systems containing various APP
s). Buildroot runs on the Linux platform and can use cross-compilation tools to build embedded Linux platforms for multiple target boards. Buildroot can automatically build the required cross-compilation toolchain, create the root filesystem, compile the Linux kernel image, and generate bootloaders for target embedded systems, or it can perform any standalone combination of these steps. For example, an installed cross-compilation toolchain can be used alone while Buildroot only creates the root filesystem.
3.2. How to learn Buildroot in depth?
-
Buildroot user manual: https://buildroot.org/downloads/manual/manual.html -
Buildroot source download location: https://buildroot.org/downloads/ -
For the directory structure and its functions, please refer to: http://wiki.100ask.net/Buildroot -
To learn more about Buildroot, please refer to: http://wiki.100ask.org/Buildroot
3.3. Buildroot Directory Structure
3.4, Common Operations in Buildroot
3.5. Practical Experience Based on Baidu IMX6ULL
Baidu’s Buildroot provides three configuration files:
Since I will use QT more in my future work, I will add items based on the 100ask_imx6ull-qt defconfig configuration file. The compilation and configuration commands are as follows:
book@100ask: ~/workspace/100ask_imx6ull-sdk $ cd Buildroot_2019.02
book@100ask:~/workspace/100ask_imx6ull-sdk/Buildroot_2019.02$ make clean
book@100ask:~/workspace/100ask_imx6ull-sdk/Buildroot_2019.02$ make 100ask_imx6ull-qt_defconfig
book@100ask:~/workspace/100ask_imx6ull-sdk/Buildroot_2019.02$ make all
As shown below:
Long compilation process!!! Waiting for completionAfter compilation, you can happily proceed with embedded QT and audio and video development and learning!
Previous Highlights
STM32 Online Upgrade OTA, This Article is Enough~
Issue 10 | Ring Buffers, General FIFO Circular Buffer Implementation Library
ESP8266 Practical Post: Use HTTP POST Request to Upload Data to Public Cloud OneNet
If You Know C/C++, Can You Develop Linux/Android Applications? Learn About Yoxios, which Replaces Traditional Serial Screens!
If you find this article helpful, please click<span>[Looking]</span>
and share it, which is also a support for me.