IMX6ULL Qt 项目(控制led灯和蜂鸣器)全流程 一、网络搭建我是连接网线的打开虚拟机设置采用双适配器一个选用桥接一个选用NAT然后主机就打开控制面板的网络连接我们需要的就是以太网2下面的这个NXUSB2.0然后打开虚拟机的虚拟网络编辑器桥接选择这个NX USB2.0不要选自动不然会连到wifi等如果找不到这个内容重新插拔网线记住连接主机接下来下载putty轻量简单我们老师力荐这个时候要插数据线一端连接开发板USB_TTL另一端连接主机打开设备管理器查看端口然后打开putty这个Serial line to connect to 取决于你自己的设备例如我的就是上图中的端口COM3点击open会进入倒计时界面随便按一个键进入u-boot不然就是正常的启动starting kernel......还有一个很重要的地方就是拨码开关我是连网线的现在是EMMC启动即拨码1367如果电脑没有网口就买个转接口nfs要提前配置好这里有一个易错点打开/etc/exports 以后在后面添加如下所示内容(这个很重要以我的为例)/home/szc/nfs_rootfs *(rw,sync,no_root_squash)tftp也要配置好直接询问AI即可u-boot界面ping一下虚拟机ping通即可二、一些必备资源的准备1.下载交叉编译器Linaro GCC 编译器下载地址如下 https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/打开以后下载界面如图所示下载完传到虚拟机里安装相关库sudo apt-get install lsb-core lib32stdc6交叉编译器验证arm-linux-gnueabihf-gcc -v如果交叉编译器安装正确会显示版本号2.准备好这些我的是老师给的三、进行操作1.拷贝编译好的镜像和设备树到根文件系统cp arch/arm/boot/zImage /home/szc/nfs_rootfs/# 7寸屏设备树这个大小要看你自己的板子我的是到官网查了一下是7寸的cp arch/arm/boot/dts/imx6ull-14x14-emmc-7-1024x600-c.dtb /home/szc/nfs_rootfs/2.编译部署自己的qt项目写一个qt项目然后自己编译部署cd /home/szc/Desktop/szcheng rm -rf build_szcheng mkdir build_szcheng cd build_szcheng unset CC CXX CXXFLAGS CFLAGS QMAKE source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi qmake ../szcheng.pro make -j4 sudo cp ./szcheng /home/szc/nfs_rootfs/usr/bin/ sudo chmod 777 /home/szc/nfs_rootfs/usr/bin/szcheng3.开发板上电进入u-boot模式然后启动项目我的代码是这个样子的setenv ipaddr 192.168.1.101 setenv serverip 192.168.1.100 tftp 80800000 zImage tftp 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb setenv bootargs root/dev/nfs nfsroot${serverip}:/home/szc/nfs_rootfs,v3 ip${ipaddr}:${serverip}:192.168.1.1:255.255.255.0::eth0:off consolettymxc0,115200 bootz 80800000 - 83000000运行效果图这个步骤的相关易错点1.网络不稳定网线明明连着连接却突然断开了这时候重新插拔网线ping完发现 is not alive这是因为虚拟机的连接断开了解决办法找到虚拟机的网络连接处一般在右上角重新连接ens33和ens37都重新连然后Ubuntu终端 命令行输入 ip a,发现连接正确即可。2.运行qt项目发现led灯和蜂鸣器控制不了这个时候进入系统输入输出如下图发现这个蜂鸣器是和led灯放一起的根据自己的实际情况来写qt项目里面的代码编写代码前现在putty里面运行一下下面的代码以我的为例试成功了再修改自己的项目代码# 关闭自动心跳闪烁切换手动控制 echo none /sys/class/leds/sys-led/trigger # 点亮LED echo 1 /sys/class/leds/sys-led/brightness # 熄灭LED echo 0 /sys/class/leds/sys-led/brightness # 开启蜂鸣器 echo 1 /sys/class/leds/beep/brightness # 关闭蜂鸣器 echo 0 /sys/class/leds/beep/brightness四、成果展示五、烧写进系统让项目能够开机自启动现在的项目只是连接网线来暂时实现的想要开机自启动我们还要把它烧写进系统ubuntu进行如下操作将这个mfgtool拖到window主机里然后烧写文件选择和自己的板子一样的我的就是eMMC-ddr512-eMMC.vbs点击start开始烧写烧写成功示例图这里还有一个易错点此时的拨码开关只开一个2就行了然后这个数据线要连接USB_OTG烧写必备过程大概需要几分钟我的是5分钟左右期间不要进行任何多余操作否则会失败导致系统重启不了。烧写后成果展示开发板自启动