Buildroot系统构建学习笔记(以百问网imx6ull开发板为例)

简介: Buildroot系统构建学习笔记(以百问网imx6ull开发板为例)

最近在学习音视频开发相关的内容,故硬件选型是非常重要的,加上芯片缺货,为了保证未来芯片供应链正常,结合预测趋势以及对芯片行业相关的定量分析 ,最终我选择了瑞芯微刚推出不久的芯片:RV1126_RV1109系列,为了高效学习,我将瑞芯微平台SDK里提供的docs目录下的文档做了分类整理和汇总,以便后期在工作中用到相应的知识可以很快的查阅到相关的资料高效完成调试和开发:

640.png

640.png

640.png

这个平台构建系统的方式采用的是buildroot构建,所以系统学习buildroot将有利于开展接下来的工作,这也是目前嵌入式开发的发展方向!


开发板之类的,原理都是相通的,通一个则一通百通,所以我就用百问网提供的imx6ull开发板和文档教程来学习和总结吧,首先得先把环境搞好:


1、使用7z命令解压百问网的sdk

640.png

2、搭建嵌入式开发环境

2.1、配置imx6ull交叉编译工具链

将解压出来的sdk里的交叉编译工具链的路径移动到opt目录下,便于管理:

640.png

vim ~/.bashrc该文件中添加环境变量:

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

640.png

设置完毕以后让环境变量生效:

source ~/.bashrc

查看环境配置的结果:

640.png

至此,基础环境配置完毕!


3、使用Buildroot构建系统


3.1、Buildroot是什么?


Buildroot是一组Makefile和补丁,可简化并自动化地为嵌入式系统构建完整的、可启动的Linux环境(包括bootloaderLinux内核、包含各种APP的文件系统)。Buildroot运行于Linux平台,可以使用交叉编译工具为多个目标板构建嵌入式Linux平台。Buildroot可以自动构建所需的交叉编译工具链,创建根文件系统,编译Linux内核映像,并生成引导加载程序用于目标嵌入式系统,或者它可以执行这些步骤的任何独立组合。例如,可以单独使用已安装的交叉编译工具链,而Buildroot仅创建根文件系统。


3.2、怎么深入学习Buildroot?



3.3、Buildroot目录架构

640.png

3.4、Buildroot常用操作

640.png

3.5、基于百问网imx6ull开发实践

百问科技的buildroot提供了三个配置文件:

640.png

由于我后面工作上用QT会比较多一些,所以我会在100ask_imx6ull-qt defconfig这个配置文件的基础上做增项,编译和配置命令如下:

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

如下所示:

640.png

640.png

漫长的编译过程!!!等待完成编译以后就可以愉快的进行嵌入式QT以及音视频方面的开发和学习了!

往期精彩

STM32在线升级OTA,看这一篇就够啦~


第10期 | ringbuff,通用FIFO环形缓冲区实现库


ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet


会C/C++就可以开发Linux/Android应用程序?替代传统串口屏的Yoxios了解一下!

目录
相关文章
|
7月前
|
Ubuntu Linux 虚拟化
Linux下的IMX6ULL——开发板基本操作(二)
Linux下的IMX6ULL——开发板基本操作(二)
224 0
Linux下的IMX6ULL——开发板基本操作(二)
|
人工智能 物联网 Linux
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
1247 0
|
Ubuntu
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
293 0
linux4.1.15内核移植到野火PRO开发板开发板
linux4.1.15内核移植到野火PRO开发板开发板
233 0
|
Shell Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用
160 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(下)
|
Ubuntu Linux 数据库
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(五)使用Source insight处理代码
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(五)使用Source insight处理代码
220 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(五)使用Source insight处理代码
|
移动开发 Ubuntu 网络协议
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
176 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
|
网络协议 Ubuntu Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二)linux常用命令(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二)linux常用命令
139 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二)linux常用命令(中)
|
Ubuntu Linux Shell
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(七)Ubuntu开发环境配置
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(七)Ubuntu开发环境配置
788 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(七)Ubuntu开发环境配置
|
Ubuntu Linux C语言
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(上)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用
195 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(上)