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了解一下!

目录
相关文章
|
Ubuntu Linux 虚拟化
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
873 0
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
|
设计模式 安全 测试技术
【C++】—— 单例模式详解
【C++】—— 单例模式详解
321 0
|
关系型数据库 MySQL 数据安全/隐私保护
远程连接mysql8,报错10061 解决办法
远程连接mysql8,报错10061 解决办法
1096 0
|
编解码 Linux
Linux MIPI DSI驱动调试笔记-LCD时序参数配置(三)
Linux MIPI DSI驱动调试笔记-LCD时序参数配置(三)
2260 0
|
JavaScript 物联网 5G
物联网设备连接的下一个引爆点:4G Cat.1
物联网从概念兴起至今已经过了好几些年了。何为物联网,首先要定义何为“物”(Things),笔者理解所有具备连接能力的设备都可以是物,比如一个手环,一个WiFi台灯,或者NB-IoT水表等。
物联网设备连接的下一个引爆点:4G Cat.1
|
4月前
|
人工智能 供应链 数据可视化
低代码开发平台与零代码平台的区别?国内主流平台介绍与深度对比
本文深入解析低代码与零代码开发平台的技术特性与适用场景,盘点Zoho Creator、织信、OutSystems、简道云、钉钉宜搭等国内主流平台,对比其功能优势与典型案例,为企业数字化转型选型提供参考。
447 1
|
7月前
|
存储 监控 安全
SD卡打不开怎么办?排查原因+解决办法
SD卡是我们日常生活中非常常用的存储设备,广泛应用于手机、相机、行车记录仪、监控设备等。但在使用过程中,有些用户会遇到SD卡插入电脑或设备后无法读取、无法打开,甚至提示“需要格式化”的问题。此时,如果盲目操作,不仅可能丢失重要数据,还可能导致SD卡彻底损坏。本文将教你如何逐步排查原因,并提供针对性的解决方法。
|
安全 网络性能优化 网络安全
|
C语言 图形学 芯片
【LVGL快速入门】LVGL开源框架入门教程之框架移植(一)
LVGL开源框架入门教程之框架移植(一)
1698 2
|
JSON 缓存 物联网
推荐一款go语言的开源物联网框架-opengw
推荐一款go语言的开源物联网框架-opengw
640 4