首先设置交叉编译工具链!!
快速入门代码仓库:
git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git
仓库汇总:
https://gitee.com/weidongshan/projects
百问网论坛:
http://bbs.100ask.net/question/15737
一、编译uboot
git clone https://e.coding.net/weidongshan/imx-uboot2017.03.git
对于IMX6ULL全功能版,u-boot的编译过程如下(编译uboot前必须先配置好工具链等开发环境):book@100ask:
book@100ask: ~/100ask_imx6ull-sdk/Uboot-2017.03$ make distclean
book@100ask: ~/100ask_imx6ull-sdk/Uboot-2017.03$ make mx6ull_14x14_evk_defconfig
book@100ask: ~/100ask_imx6ull-sdk/Uboot-2017.03$ make
将编译好的 u-boot-dtb.imx 拷贝到开发板家目录下,
…./imx-uboot2017.03# scp u-boot-dtb.imx root@192.168.10.12:~
拷贝成功后,如果要烧写 EMMC,执行如下命令:
[root@imx6ull:~]# echo 0 > /sys/block/mmcblk1boot0/force_ro //取消此分区的只读保护
[root@imx6ull:~]# dd if=u-boot-dtb.imx of=/dev/mmcblk1boot0 bs=512 seek=2 //实际烧写命令
[root@imx6ull:~]# echo 1 > /sys/block/mmcblk1boot0/force_ro //打开此分区的只读保护
二、编译内核
Linux-4.9.88$ make mrproper
Linux-4.9.88$ make 100ask_imx6ull_defconfig
Linux-4.9.88$ make zImage -j4
Linux-4.9.88$ make dtbs
Linux-4.9.88$ make INSTALL_MOD_PATH=/home/neethan/workspace/imx6ull/100ask_imx6ull-sdk/Linux-4.9.88/modules modules_install
三、Buildroot构建文件系统
制作根文件系统有归多种方法:
① 使用Busybox手工制作
Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手工下载、编译,如果它需要某些依
赖库,你还需要手工下载、编译这些依赖库。
如果想做一个极简的文件系统,可以使用Busybox手工制作。
② 使用Buildroot自动制作
它是一个自动化程序很高的系统,可以在里面配置、编译内核,配置编译u-boot、配置编译根文件系统。
在编译某些APP时,它会自动去下载源码、下载它的依赖库,自动编译这些程序。
Buildroot的语法跟一般的Makefile语法类似,很容易掌握。
③ 使用Yocto
NXP、ST等公司的官方开发包是使用Yocto,但是Yocto语法复杂,并且Yocto动辄10GB,下载安装都很困
难,普通笔记本编译可能需要2-3天甚至更久,非常不适合初学者(我们不推荐使用yocto构建文件系统)。
基于上述特点,我们选择Buildroot。
Buildroot是一组Makefile和补丁,可简化并自动化地为嵌入式系统构建完整的、可启动的Linux环境
(包括bootloader、Linux内核、包含各种APP的文件系统)。Buildroot运行于Linux平台,可以使用交叉编
译工具为多个目标板构建嵌入式Linux平台。Buildroot可以自动构建所需的交叉编译工具链,创建根文件系
统,编译Linux内核映像,并生成引导加载程序用于目标嵌入式系统,或者它可以执行这些步骤的任何独立
组合。例如,可以单独使用已安装的交叉编译工具链,而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
v2020.02.x版本源码保存在gitee上,链接地址为 https://gitee.com/weidongshan/Buildroot.git
此仓库 没有发现imx6ull deconfig相关配配置文件??
[
](https://gitee.com/weidongshan/Buildroot)
[
](https://gitee.com/weidongshan/projects)
编译
cd Buildroot_2020.02.x
make 100ask_imx6ull_pro_ddr512m_systemV_qt5_defconfig
make all
四、更新内核或设备树
开发板使用的内核名为 zImage,设备树名为 100ask_imx6ull-14x14.dtb。它们保存在开发板的/boot
目录中。
更新它们很简单:只要替换/boot 目录下的文件即可。
五、Qt应用开发
Qt开发资料
https://gitee.com/weidongshan/qtkaifajingyan
Qt下载 https://download.qt.io/archive/
参考网址 http://wiki.100ask.net/QT
http://c.biancheng.net/view/3851.html
国内镜像网站
这里给大家推荐几个国内著名的 Qt 镜像网站,主要是各个高校的:
- 中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
- 清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/
- 北京理工大学:http://mirror.bit.edu.cn/qtproject/
- 中国互联网络信息中心:https://mirrors.cnnic.cn/qt/
注意:
安装Qt前序先使用buildroot编译100ask_imx6ull-qt_defconfig配置文件,生成包含qt环境的文件系
统,具体编译过程请参考构建根文件系统,并将生成的系统烧写进SD卡,并启动。
ubuntu下Qt Creator配置编译器
https://blog.csdn.net/qq_32605451/article/details/104899266