Qt历险记
90后医疗设备研发QT开发高级工程师:专攻Qt/CSS/UI设计/PS/Ai/Ae、SQLite/MySQL、C/C++、STM32/MCU、网络编程TCP/UDP/Socket、数据结构与算法、Linux、底层驱动。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一个很棒的modbus库
libmodbus是一个开源的Modbus协议库,支持串口和以太网连接,兼容Linux、Windows等多平台。安装需automake等工具,提供测试程序和文档生成支持。项目采用LGPLv2.1+许可,官网提供详细文档。包含自动构建脚本autogen.sh,可检测系统符号链接支持并初始化构建系统。网盘分享链接提供源码包下载。原创 2025-11-25 21:18:55 · 36 阅读 · 0 评论 -
Linux | i.MX6ULL Mqtt 移植教程
本文介绍了MQTT协议在物联网中的应用及其实现工具Mosquitto的移植过程。使用Ubuntu 16.04环境和gcc交叉编译器,详细说明了从X86平台安装测试到ARM开发板移植的完整步骤。重点包括:Mosquitto的安装配置、服务启动测试方法、依赖库openssl和libuuid的交叉编译过程、路径参数修改要点,以及最终在开发板上的功能测试验证。文中提供了具体的命令操作和路径修改示例,强调路径一致性对编译成功的重要性。该移植方案实现了轻量级MQTT协议在嵌入式设备中的应用。原创 2025-11-02 20:18:03 · 67 阅读 · 0 评论 -
Linux | i.MX6ULL 网络测试方法
摘要:本文详细介绍了网络性能测试的搭建与实施过程。测试分为百兆和千兆网络两种场景,需确保网卡、网线及连接模式符合要求。测试采用CS架构,通过Jperf工具进行TCP/UDP通信测试。具体步骤包括:1)检查硬件配置(网卡类型、网线规格);2)安装Java环境;3)设置网络IP确保互通;4)分别进行TCP/UDP测试,其中UDP测试需特别注意MTU设置和带宽参数调整。测试结果以实际吞吐量和丢包率为评估标准,文中提供了完整的测试命令和参数配置示例。原创 2025-10-21 21:01:56 · 64 阅读 · 0 评论 -
Linux | i.MX6ULL 移植 OpenCv2.4.9
本文详细介绍了在i.MX6ULL终结者开发板上交叉编译OpenCV-2.4.9并集成到Yocto文件系统的全过程。主要内容包括:1)搭建Ubuntu14.04交叉编译环境,使用gcc-linaro-4.9.4编译器;2)通过CMake配置OpenCV,修改关键编译参数(WITH_CUDA、CMAKE_EXE_LINKER_FLAGS等);3)QT工程配置要点,需调整INCLUDEPATH和添加_GLIBCXX宏定义;4)最终生成镜像烧录测试。文中特别强调编译过程中的常见错误排查方法,建议通过日志分析缺失组件原创 2025-10-19 22:16:43 · 360 阅读 · 0 评论 -
Linux | i.MX6ULL Qt5.7Mplayer移植和使用(第二十四章)
本文详细介绍了交叉编译Libmad、Alsa-lib和MPlayer的过程。主要内容包括:1)配置交叉编译环境,设置工具链变量;2)修改Makefile参数,删除不支持的编译选项;3)分别编译三个库文件,指定ARM架构和优化参数;4)测试编译结果,并提供相关资源获取方式。文章提供了完整的配置脚本,适用于在ARM平台(如i.MX6ULL)上移植Qt和多媒体组件。原创 2025-09-24 13:15:39 · 117 阅读 · 0 评论 -
Linux | i.MX6ULL 搭建 Web 服务器(第二十章)
本文介绍了在iTOP-IMX6ULL开发板上搭建Web服务器的过程。使用arm-2014.05编译器及Busybox文件系统,通过boa-0.94.13实现轻量级Web服务。详细说明了配置交叉编译器、编译安装boa的步骤,并创建了一个简单的测试网页index.html。最终通过运行boa命令成功启动Web服务器,为嵌入式系统提供了Web访问功能。整个过程展示了如何在资源受限的嵌入式环境中部署基础Web服务。原创 2025-09-07 12:15:11 · 129 阅读 · 0 评论 -
Linux | i.MX6ULL Tftp 烧写和 Nfs 启动(第十九章)
本文介绍了基于英伟达AI开发板的Linux网络调试方法,重点讲解了通过tftp和NFS实现内核镜像下载与根文件系统挂载的完整流程。内容包括:开发环境配置(Ubuntu16.04+i.MX6ULL开发板)、tftp服务器搭建(用于下载内核和设备树)、NFS服务配置(实现网络文件系统挂载)、启动参数设置以及常见问题排查。文档详细说明了每个步骤的操作命令和注意事项,包括权限设置、IP配置、参数格式等关键细节,并提供了环境变量重置等调试技巧。该方法可实现PC端直接调试开发板,显著提升Linux嵌入式开发效率。原创 2025-09-06 17:06:19 · 128 阅读 · 0 评论 -
Linux | i.MX6ULL网络通信-套字节 UDP(第十八章)
本文介绍了基于i.MX6ULL开发板的UDP套接字编程实现。UDP作为一种无连接的传输层协议,具有资源消耗小、处理速度快的特点,适用于音视频传输等场景。文章详细讲解了UDP服务器和客户端的编程实现:服务器端通过socket()创建UDP套接字,使用bind()绑定端口,通过recvfrom()接收数据;客户端同样创建UDP套接字后,直接使用sendto()发送数据。与TCP不同,UDP通信不需要listen()、accept()和connect()函数。最后展示了在Ubuntu虚拟机和i.MX6ULL开发板原创 2025-08-17 14:21:02 · 291 阅读 · 0 评论 -
Linux | i.MX6ULL网络通信-套字节 TCP(第十七章)
本文介绍了在i.MX6ULL开发板上基于TCP的socket网络编程实现。首先讲解了TCP/IP通信的基本流程,包括服务器端通过socket()、bind()、listen()和accept()函数建立连接,客户端通过socket()和connect()发起请求。然后给出了具体的C语言实现代码示例,包括服务器端循环发送欢迎信息,客户端持续接收数据并打印。最后详细说明了交叉编译和运行过程:在Ubuntu上运行服务器程序,在开发板上运行客户端程序,成功建立了TCP连接并实现了数据通信。通过这个实验,开发者可以掌原创 2025-08-17 13:25:32 · 109 阅读 · 0 评论 -
Linux | i.MX6ULL移植 ssh 服务到开发板(第十五章)
本文详细介绍了在i.MX6ULL开发板上移植SSH服务的过程。首先提供OpenSSL、OpenSSH和zlib的官方下载地址,然后分步骤讲解三个组件的交叉编译过程:zlib库需要修改Makefile中的编译器参数;OpenSSL需要配置为ARM平台;OpenSSH编译时需指定zlib和OpenSSL的安装路径。最后将生成的二进制文件部署到开发板,生成密钥文件并配置网络,最终实现SSH远程连接功能。整个过程涉及多个组件的交叉编译和配置,需要注意编译器路径和库文件路径的正确设置。原创 2025-08-10 10:59:11 · 197 阅读 · 0 评论 -
Linux | i.MX6ULL移植 Gdb+Gdbserver 调试(第十四章)
本文介绍了在ARM开发板上进行远程调试的方法。首先需要分别在宿主机(PC)和目标板(ARM板)上安装gdb和gdbserver程序,强调必须使用与目标平台匹配的交叉编译器编译gdb。具体步骤包括:1)在Ubuntu上配置并编译arm平台的gdb;2)编译gdbserver时需注释config.h中的宏定义;3)将gdbserver拷贝至ARM板文件系统;4)编写带-g参数的测试程序;5)通过指定IP和端口建立宿主机与目标板的连接。文章还提供了gdb-7.8.1的下载链接和注意事项,适用于i.MX6ULL等A原创 2025-08-03 20:05:59 · 130 阅读 · 0 评论 -
Linux | Uboot-Logo 修改文档(第十七天)
将准备好的“.bmp”格式的图片拷贝到 uboot 的“/tools/logos”目录下,作者拷贝的文件为将图片名称修改为“freescale.bmp”。使用命令“tar -xvf uboot-imx-rel_imx_4.1.15_2.1.0_ga_20200323.tar.gz ”解压 uboot。要修改 uboot 配置的屏幕信息,使用命令“vi ./board/freescale/mx6ul_topeet/mx6ul_topeet.c”。将最后一个的值修改为“qn_enable”,如下图所示。原创 2025-05-11 21:54:50 · 384 阅读 · 0 评论 -
Linux | 修改开机进度条修改文档(第十六天)
前提配置环境变量,Yocto 环境的交叉编译器是之前通过 yocto 获取的即 fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh。“source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi”,添加编译器。将文件系统打包,注意打包的路径要写对,然后烧写,启动。原创 2025-05-01 14:05:55 · 206 阅读 · 0 评论 -
Linux | Mfgtools 修改单独只烧写 Uboot,内核,文件系统
2. 打开“Profiles\Linux\OS Firmware\ucl2.xml 文件,修改此文件。图 3 是修改 NAND 的板子,如果您想。就把下面图一的代码注释掉,其余的不要动。,就注释掉下面图二的代码,其余的不要动。就注释掉下面图三的代码,其余的不要动。图 1 是修改 NAND 的板子。图 2 是修改 EMMC 的板子。是修改 EMMC 的板子,如果您想。是修改 EMMC 的板子,如果您想。就把下图的代码注释掉,其余的不要动。图 6 是修改 NAND 的板子。图 7 是修改 EMMC 的板子。原创 2025-04-26 19:54:00 · 285 阅读 · 0 评论 -
Linux | I.MX6ULL 文件系统
如果用户的文件系统非我们的出厂版本,请参考之前烧写章节重新烧写出厂文件系统。这里我们注意,商业级核心板的“/dev/mmcblk1p1”设备是 emmc 为内核设备树提供的单独分区。我们在测试 qt 程序时经常会用到 U 盘 TF 卡拷贝程序,yocto 系统在使用这些设备时会自动挂载,非常方便。用户可以在文件系统启动之后,通过控制台命令来实现背光调整,参考命令如下。首先启动开发板,我们将 U 盘插入 USB 接口会有如下图打印信息。具体的值,用户可以根据自己的需求进行更改。”查看对应分区挂载的目录。原创 2025-04-20 18:17:24 · 157 阅读 · 0 评论 -
Linux | I.MX6ULL 使用 Yocto 文件系统开发 QT
01Yocto 文件系统默认支持了 QT,那么我们要怎么在 Yocto 文件系统来运行我们的 QT 程序呢?本章节我们就来学习上在 yocto 文件系统+Ubuntu 环境来开发 QT 程序。注意,开发环境是基于“qtcreator-3.5.1”(Ubuntu16.04.6),库文件是Qt5.5.102(1)首先我们将“qt-opensource-linux-x64-5.5.1.run”通过 SSH 工具传到 ubuntu 上/root 目录上,如下图。原创 2025-04-19 19:55:12 · 335 阅读 · 0 评论 -
Linux | I.MX6ULL 内核的编译(13)
在编译 Uboot 和内核源码之前,我们需要安装三个第三库他们分别是:lzop、libncurses5-dev、u-boot-tools。我们可以根据上表的提示,将对应的镜像拷贝到 Windows 系统下,然后使用 MFGTools 烧写工具烧写到开发板运行。本章我们就来学习一下如何将 NXP 官方提供的 Linux 内核移植到【苏电子】 i.MX6UL 终结者开发板上。,我们根据核心板的类型,将对应的镜像文件整理成下表所示。从上图可以看到生成了十几个设备树文件,因为苏电子的。包移植到我们自己的平台上。原创 2025-04-18 15:41:45 · 332 阅读 · 0 评论 -
Linux | I.MX6ULL Uboot 编译(12)
然后就可以将其烧录到i.mx6ull开发板。更多内容查看i.MX6ULL合集。将这个文件拖到ubuntu16。原创 2025-04-18 15:21:32 · 138 阅读 · 0 评论 -
Linux | I.MX6ULL外设功能验证(11)
然后我们使用 CAN1 作为数据发送端,我们在调试串口终端输入“cansend can16A0#11.22.33.44.55.66.77.88”命令,发送数据,其中的 6A0 是帧 ID,#后面的是数据,共 8 个字节。从上图我们可以看到 CAN1 发送数据以后,后台运行的 CAN0 接收程序收到了 CAN0 的数据,并显示出来,接收到的数据和发送的数据内容一致。i.MX6ULL 开发板的 OTG 接口,可以用作烧写的接口,同时在系统启动之后,可以用作 host 模式,可以当做 USB 来使用。原创 2025-04-10 21:57:23 · 292 阅读 · 0 评论 -
Linux | I.MX6ULL外设功能验证(第10天)
在本节的所有功能测试中,我们使用的是 Yocto的文件系统。原创 2025-04-08 21:01:36 · 201 阅读 · 0 评论 -
Linux | I.MX6ULL开发板固件烧录所需文件详述(9)
商业级的核心板,它的存储是 EMMC 的,EMMC 的存储是类似于正方形的芯片,旁边是 NAND FLASH的一个封装,因为我们这里要兼容 NAND FLASH ,这里是一个兼容的设计。原创 2025-04-05 21:15:37 · 260 阅读 · 0 评论 -
Linux | I.MX6ULL内核及文件系统源码结构(7)
支持 Busybox(1.29.0)、buildroot(2019.02.9)、Ubuntu(16.04.6)这四种文件系统。支持 EMMC,NAND FLASH;版本:2016.03。支持环境变量修改保存。USB HOST驱动。Sil9022A驱动。原创 2025-04-02 21:38:36 · 468 阅读 · 0 评论 -
Linux | 安装超级终端串口软件连接i.MX6ULL开发板(8)
Linux | 安装超级终端串口软件连接i.MX6ULL开发板原创 2025-04-04 19:28:13 · 384 阅读 · 0 评论 -
Linux | I.MX6ULL 终结者底板原理图讲解完(6)
上图中的 U37 是光环境传感器 AP3216C,该芯片可以感应周围光线的强弱,接近距离和红外强度,使用的是 I2C 的接口,I2C1_SCL 和 I2C1_SDA 分别连接到 i.MX6ULL 的 UART4_TX_DATA、UART4_RX_DATA 这两个。我们使用 I2C 来访问它。从上图可以看到红外接收模块(U38)使用的是 HS0038B 模块,该模块的原理很简单,使用 3.3V 供电,数据输出引脚 UART2_RXD 连接到 i.MX6ULL 的 UART2_RX_DATA 引脚上面了。原创 2025-04-01 21:14:48 · 378 阅读 · 0 评论 -
Linux | I.MX6ULL 终结者底板原理图讲解(5)
开发板采用标准的 TF 卡插座,采用 USDHC 驱动,SD1_DATA0、SD1_DATA1、SD1_DATA2、SD1_DATA3 是4位数据总线,分别连接到i.MX6ULL的SD1_DATA0~SD1_DATA03引脚上面。CH340G的工作电压支持 3.3V、5V,甚至是 3V,从上图可以看到我们给 CH340G 的电压是 5V,并且是 Mini USB 接口提供的 5V 电源,与开发板上的电源是独立的,只要我们接上 USB 线 CH340G 就会上电。其中上面的 LED1 是系统电源指示灯。原创 2025-03-31 21:05:47 · 458 阅读 · 0 评论 -
Linux | I.MX6ULL 终结者底板原理图讲解(4)
从上图我们可以看到 RS485 实际上是串口通过一个 485 协议转换芯片(SP3485EN)转换出来的,由于SP3485EN 这个芯片是半双工的(收发不能同时进行),所以需要一个收发方向的控制引脚(SP3485EN 芯片的 2、3 引脚),一般这两个收发方向控制的引脚会连接到 CPU 处理器,软件除了要操作串口的收发,还需要控制这两个引脚的状态,这样会增加软件的工作量。因此我们可以使用专门的复位芯片,它能够排除瞬间的干扰,又可以防止系统在启动和关闭期间的误操作,保证系统的稳定。原创 2025-03-30 20:07:36 · 488 阅读 · 0 评论 -
Linux | I.MX6ULL 终结者底板板载资源介绍(3)
开发板通过一个 20pin 的连接器(J47)引出了两路 TTL(3.3V)的串口,同时引出了 5V,3.3V,1.8V电源,可以很方便的给外接模块提供电源,通过此接口可以连接【007】的 GPS 模块,用户也可以连接自己的其它串口设备(需要 3.3v TTL 的串口设备)。开发板板载了一路 Mini USB 接口(J49),该接口是通过板载的 USB 转串口芯片 CH340(U59)引出的,它可以实现 TTL 串口和 USB 接口之间的数据转换,我们通过该接口可以在电脑上看到开发板的调试串口打。原创 2025-03-30 12:06:29 · 214 阅读 · 0 评论 -
Linux | i.MX6ULL 终结者了解开发板(2)
Linux | i.MX6ULL 终结者了解开发板(第二天)原创 2025-03-29 21:27:03 · 231 阅读 · 0 评论 -
Linux | i.MX6ULL 终结者学习指南(1)
比如 VMware, Ubuntu 系统安装包,SecureCRT,SSH 文件传输工具,网络调试助手等等)02_NAND FLASH 核心板 (支持 NAND FLASH 核心板的 Uboot 镜像)(保存的是 Busybox,Buildroot,Yocto,Ubuntu 四种文件系统源码)(Busybox,Buildroot,Yocto,Ubuntu 文件系统的镜像)(保存的是开发板的 Uboot,Linux,以及各种文件系统的镜像)原创 2025-03-28 21:10:36 · 234 阅读 · 0 评论 -
嵌入式Linux | 什么是 BootLoader、Linux 内核(kernel)、和文件系统?
就好比我们的虚拟机是一台独立的机器,和我们这个局域网下的任何机器都没有关系,当然和我们的主机也没有关系,这个我们一般不用。它是运行在操作系统上面,通过调用操作系统的资源去工作,是最终的业务逻辑,比如我们。功能的时候,一定要用桥接模式,用别的模式都是不行的,这里直接选桥接模式是没有问题的。就好比,把虚拟机和电脑主机都连接到了同一个局域网下,在这个局域网下,然后设置处理器,因为作者的电脑是四核的,所以我直接把这儿设置成。但是在这个局域网下的另外的主机是不能访问我们的虚拟机的。的一个特点,它不像其他操作系统。原创 2025-03-17 21:26:32 · 821 阅读 · 0 评论 -
Linux | ubuntu安装 SSH 软件及测试工具
在使用 ssh 之前,我们需要检查下我们的网络环境,我们要看一下,windows 电脑能不能能和虚拟机ubuntu 他们俩的网络是可以互相 ping 通的,我们来查看下,首先要打开 windows 的 cmd 工具,我们来看下 windows 的 ip 是多少,查看 windows 的 IP 使用的是。最后一步,我们要重启下 ssh 的服务,然后在终端输入“/etc/init.d/ssh restart”命令,重新启动 ssh服务然后输入密码,点击授权.pwd=xufw 提取码: xufw。原创 2025-03-22 20:36:58 · 650 阅读 · 0 评论 -
Linux | 安装 VMware Tool 工具
一般都是放第三方程序的,所以我们在 opt 文件夹下操作,这里要执行 sudo 以管理员的身份来执行,我们文件夹的名字叫 vmtool 是作者自己起的,然后把这个压缩包解压到我们创建的 vmtool 这个文件夹里面。解压成功后,作者进到根目录下 vmtool 这个文件夹下,然后就可以看到解压生成的文件了,我们进到这个文件夹,以 .pl 为结尾的就是我们的安装文件,我们来运行下这个文件,运行这个安装文件我们也要。接下来我们安装 VMware Tool ,在安装之前我们先对虚拟机进行设置,点击编辑虚拟机设置原创 2025-03-22 12:10:30 · 633 阅读 · 0 评论 -
Linux | gcc编译篇
如果我们不使用 -o 参数指定我们生成文件的名称,直接输入 gcc hello.c 编译完会得到一个 a.out 文件,执行这个 a.out 的结构和执行 hello 是一样的。,编译器会对头文件或者宏定义进行展开,或者条件编译的选择我们可以使用 -E 参数得到预处理文件。:使用 -static 参数就是静态链接,因为程序里面包含了需要的库,所以体积比较大,-c 参数 可以把 hello.s 文件编译成 hello.o 文件。-S 参数 将 hello.i 文件编译成 hello.s 文件。原创 2025-03-19 21:28:16 · 704 阅读 · 0 评论
分享