最近在学习音视频开发相关的内容,故硬件选型是非常重要的,加上芯片缺货,为了保证未来芯片供应链正常,结合预测趋势以及对芯片行业相关的定量分析 ,最终我选择了瑞芯微刚推出不久的芯片: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环境(包括bootloader
、Linux
内核、包含各种APP
的文件系统)。Buildroot
运行于Linux平台,可以使用交叉编译工具为多个目标板构建嵌入式Linux平台。Buildroot
可以自动构建所需的交叉编译工具链,创建根文件系统,编译Linux内核映像,并生成引导加载程序用于目标嵌入式系统,或者它可以执行这些步骤的任何独立组合。例如,可以单独使用已安装的交叉编译工具链,而Buildroot
仅创建根文件系统。
3.2、怎么深入学习Buildroot?
Buildroot
用户手册https://buildroot.org/downloads/manual/manual.htmlBuildroot
源码下载位置 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以及音视频方面的开发和学习了!
往期精彩
第10期 | ringbuff,通用FIFO环形缓冲区实现库
ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet