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

Posted Engineer-Bruce_Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Buildroot系统构建学习笔记(以百问网imx6ull开发板为例)相关的知识,希望对你有一定的参考价值。

点击上方「嵌入式云IOT技术圈」,选择「置顶公众号」第一时间查看嵌入式笔记!

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

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

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

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

2、搭建嵌入式开发环境

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

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

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

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

source ~/.bashrc

查看环境配置的结果:

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

3、使用Buildroot构建系统

3.1、Buildroot是什么?

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

3.2、怎么深入学习Buildroot?

  • Buildroot用户手册https://buildroot.org/downloads/manual/manual.html

  • Buildroot源码下载位置 https://buildroot.org/downloads/

  • 目录结构的位置以及作用请参考网址 http://wiki.100ask.net/Buildroot

  • 学习更多关于buildroot知识请参考 http://wiki.100ask.org/Buildroot

3.3、Buildroot目录架构

3.4、Buildroot常用操作

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

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

由于我后面工作上用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

如下所示:

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

往期精彩

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

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

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

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

觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。

以上是关于Buildroot系统构建学习笔记(以百问网imx6ull开发板为例)的主要内容,如果未能解决你的问题,请参考以下文章

手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)

嵌入式Linux学习路线资料下载_基于百问网IMX6ULL开发板

1uboot移植和imx文件分析

驱动大全之UART子系统

开源项目-十六进制协议传感器自适应缩放曲线显示终端(百问网imx6ull & 小熊派结合)...

开源项目-十六进制协议传感器自适应缩放曲线显示终端(百问网imx6ull & 小熊派结合)...