当前位置: 首页 > article >正文

IMX6U Qt 开发环境

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言

一、交叉编译

1. 安装通用 ARM 交叉编译工具链

2. 安装 Poky 交叉编译工具链

二、编译出厂源码 

1. U-boot

2. 内核和模块

3. 编译出厂 Qt GUI 综合 Demo



前言

搭建编译环境


提示:以下是本篇文章正文内容,下面案例可供参考

一、交叉编译

下面选择的 Poky 编译器是 Yocto 项目编译出的。

1. 安装通用 ARM 交叉编译工具链

该部分在裸机开发就安装好了,这里再写一遍。

Linaro GCC 编译器下载地址如下: https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/

选择下载 arm-linux-guneabihf,下载地址如下:

Linaro Releases

下完后,通过 FileZilla 传到 ubuntu 里,自行创建 linux/tool 文件夹。

然后,创建目录:

sudo mkdir /usr/local/arm

将交叉编译器复制到该目录下

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f

然后进入该目录,解压工具

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

修改环境变量

sudo vi /etc/profile

在最后面输入

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

然后重启客户机,到此交叉编译器安装成功。

可能有些环境缺失必要的依赖库:

sudo apt-get install lsb-core lib32stdc++6

最后,我们查看是否安装成功

2. 安装 Poky 交叉编译工具链

将 fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh 拷贝到 Ubuntu 中。并给予权限,最后安装。

chmod u+x fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh

执行脚本时,连续2次回车确认,然后再输入用户密码即可。脚本默认是安装到 /opt 下。

使能环境

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 

使用 arm-poky-linux-gnueabi-gcc -v 指令可以查看 gcc 版本,表明环境变量已经生效。

要使用此编译器编译内核和 U-boot 还需要安装以下软件

sudo apt-get update // 先更新软列表(本地数据库) 
sudo apt-get install lzop // 安装 lzop 工具,用于生成压缩或解压镜像 
sudo apt-get install libncurses* // 安装 ncurese 相关库,U-boot 或者内核菜单显示时需要

二、编译出厂源码 

1. U-boot

创建目录,并将 U-boot 源码解压到该目录下

mkdir -p IMX6/uboot-imx-2016.03-2.1.0 
tar xf uboot-imx-2016.03-2.1.0-g0ae7e33-v1.7.tar.bz2 -C IMX6/uboot-imx-2016.03-2.1.0/ 
cd IMX6/uboot-imx-2016.03-2.1.0 
ls 

执行 bulid.sh 即可编译 U-boot 源码。

编译完成后查看当前目录下的 tmp 文件夹编译的文件目标,*imx 是已经添加头部信息的 U-boot 镜像,可直接使用 dd 指令烧写到 TF 卡和开发板上的 eMMC 储存设备。

2. 内核和模块

mkdir -p IMX6/linux-imx-4.1.15-2.1.0 
tar xf linux-imx-4.1.15-2.1.0-g3dc0a4b-v2.7.tar.xz -C IMX6/linux-imx-4.1.15-2.1.0/ 
cd IMX6/linux-imx-4.1.15-2.1.0 
ls 

解压完,运行 build.sh 

3. 编译出厂 Qt GUI 综合 Demo

将 QDesktop 拷贝到 Ubuntu 家目录下。

进入到 QDesktop 目录下,

使能交叉编译环境

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

执行 qmake,生成 Makefile,然后 make -j 16。编译过和中有报警告,可忽略。编译完成如下图,编译得到的 QDesktop 文件,同时拷贝 QDestkop 和 src 文件夹,可以直接拷贝到出厂系统下直接执行./QDestkop 即可。

三、拷贝文件

准备一个示例,例如,控制 LED 的程序。

使能交叉编译环境后,qmake,make。拷贝可执行文件和 src 文件夹(如果有)到 U盘里。

用MobaXterm连接开发板时,注意串口驱动要安装CH340。

将U盘插入开发板,用指令 df 查看挂载

/dev/sda1为U盘的挂载节点,挂载目录为/run/media/sda1。

拷贝该文件到 /home/root 下

安全弹出 U盘,请用 sync 命令,来同步数据,然后退出挂载。

原来桌面的 GUI 系统,可以通过设置中退出桌面,然后就能实验 led 灯了。


http://www.kler.cn/a/503547.html

相关文章:

  • C#补充----反射,特性,迭代器,特殊语法,值类型运用类型。
  • 幂次进近
  • Wireshark 使用教程:网络分析从入门到精通
  • 14X505-1《火灾自动报警系统设计规范图示》中相关数据和总线制的个人理解
  • 风水算命系统架构与功能分析
  • Redis :redis的大Key问题
  • C++实现设计模式---原型模式 (Prototype)
  • C# XPTable 日期字段处理(XPTable控件使用说明十三)
  • 日常工作之 Elasticsearch 常用查询语句汇总
  • 想法分享,利用html通过求输入框中用户输入数组的最大值
  • linux自动分区后devmappercentos-home删除后合并到其它分区上
  • 【微服务】面试 4、限流
  • 目标检测跟踪中的Siamese孪生网络与普通卷积网络(VGG、ResNet)有什么区别?
  • 如何将原来使用cmakelist编译的qt工程转换为可使用Visual Studio编译的项目
  • LCUS型 USB继电器模块 电脑串口控制开关 PC智能控制器在pc端使用Qt程序进行串口控制
  • vector的模拟实现(C++)
  • 软考信安18~网络安全测评技术与标准
  • Axure9笔记
  • 【CTFHub】REC-命令注入
  • 代码随想录Day34 | 62.不同路径,63.不同路径II,343.整数拆分,96.不同的二叉搜索树
  • 算法-查找数组对角线上最大的质数
  • 【IDEA 2024】学习笔记--文件选项卡
  • 我的年度总结
  • 高级运维:shell练习2
  • 【后端面试总结】tls中.crt和.key的关系
  • (EACL-2023)DyLoRA:使用动态无搜索低秩自适应对预训练模型进行参数高效调整