新手避坑指南:用VMware和Ubuntu 18.04搭建韦东山IMX6ULL开发环境(附软件包下载)

张开发
2026/4/20 6:01:03 15 分钟阅读

分享文章

新手避坑指南:用VMware和Ubuntu 18.04搭建韦东山IMX6ULL开发环境(附软件包下载)
从零到精通IMX6ULL开发环境搭建全攻略与避坑指南当你第一次拿到IMX6ULL开发板时那种既兴奋又忐忑的心情我完全理解。作为嵌入式Linux开发的入门级神器IMX6ULL确实是个不错的选择但环境搭建这个拦路虎往往让很多新手望而却步。记得我第一次尝试搭建环境时光是虚拟机网络配置就折腾了整整两天各种报错让人抓狂。本文将带你避开这些坑用最直接的方式完成开发环境搭建。不同于网上那些零散的教程我会从硬件准备开始一步步带你完成VMware虚拟机配置、Ubuntu系统安装、开发工具链部署直到第一个LED驱动成功运行。每个步骤都经过实测验证特别标注了新手容易踩坑的环节。即使你完全没有Linux基础跟着做也能在一天内搭建好完整的开发环境。1. 开发环境基础搭建1.1 硬件准备清单在开始之前请确保你已准备好以下硬件IMX6ULL开发板推荐百问网的IMX6ULL Pro版性价比高且资料齐全USB转串口模块用于连接开发板调试CH340芯片版本最稳定网线普通RJ45网线即可用于开发板与主机通信Micro USB线给开发板供电建议选择带电源开关的版本TF卡至少8GB容量Class10以上速度特别提醒很多新手会忽略电源问题。开发板对供电要求较高建议使用5V/2A以上的电源适配器USB供电可能不稳定导致奇怪的问题。1.2 VMware与Ubuntu安装虚拟机环境是嵌入式开发的基石正确的配置能避免后续90%的兼容性问题。VMware Workstation Pro选择版本建议16.x以上对Ubuntu支持更好不要使用精简版或绿色版功能缺失会导致各种异常许可证可官网申请试用或购买正版Ubuntu镜像选择要点推荐版本Ubuntu 18.04.6 LTS (Bionic Beaver) 下载地址https://releases.ubuntu.com/18.04/为什么是18.04这个版本与IMX6ULL的BSP包兼容性最好工具链支持最完善。较新版本可能导致驱动编译失败。安装时的关键配置参数配置项推荐值说明内存≥4GB低于此值编译内核会非常慢硬盘≥50GB源码和编译中间文件很占空间网络NAT桥接必须配置双网卡模式处理器核心≥2提升编译速度安装完成后第一件事执行sudo apt update sudo apt upgrade -y更新所有软件包1.3 基础工具安装开发必备工具一键安装命令sudo apt install -y git make gcc g vim net-tools openssh-server \ tftp-hpa tftpd-hpa nfs-kernel-server nfs-common \ device-tree-compiler u-boot-tools验证网络配置是否正常ifconfig | grep inet # 查看IP地址 ping www.baidu.com -c 4 # 测试外网连通性常见问题如果ping不通外网检查VMware的虚拟网络编辑器确保NAT模式已启用DHCP。2. 开发环境深度配置2.1 软件源优化默认的Ubuntu源在国内访问较慢替换为阿里云源可大幅提升下载速度sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo apt update2.2 交叉编译工具链部署IMX6ULL需要专用的ARM架构工具链这是整个环境中最关键的环节。工具链选择百问网定制版arm-buildroot-linux-gnueabihfLinaro官方版gcc-linaro-7.5.0-2019.12推荐使用百问网提供的版本与BSP完美兼容。安装步骤# 创建工具链目录 mkdir -p ~/toolchains cd ~/toolchains # 下载工具链以百问网为例 wget http://wiki.100ask.org/toolchain/arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz tar xvf arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz # 配置环境变量 echo export PATH\$PATH:~/toolchains/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin ~/.bashrc source ~/.bashrc验证安装arm-buildroot-linux-gnueabihf-gcc --version正常应显示类似以下信息arm-buildroot-linux-gnueabihf-gcc (Buildroot 2019.02.1) 7.4.02.3 NFS与TFTP服务配置NFS服务配置创建共享目录mkdir -p ~/nfs_rootfs chmod 777 ~/nfs_rootfs编辑exports文件sudo vim /etc/exports添加以下内容/home/yourname/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)重启服务sudo service nfs-kernel-server restartTFTP服务配置创建TFTP目录sudo mkdir -p /tftpboot sudo chmod 777 /tftpboot修改配置文件sudo vim /etc/default/tftpd-hpa修改为TFTP_USERNAMEtftp TFTP_DIRECTORY/tftpboot TFTP_ADDRESS:69 TFTP_OPTIONS--secure -l -c -s重启服务sudo service tftpd-hpa restart3. 开发板连接与调试3.1 串口终端配置推荐使用MobaXtermWindows或MinicomLinux作为串口终端工具。MobaXterm配置要点波特率115200数据位8停止位1无校验流控None连接后看到以下提示表示成功imx6ull login:输入root登录即可。3.2 开发板网络配置确保开发板与Ubuntu在同一局域网配置静态IP避免变化ifconfig eth0 192.168.1.100 netmask 255.255.255.0 route add default gw 192.168.1.1测试与Ubuntu的连通性ping 192.168.1.10 # Ubuntu的IP3.3 挂载NFS目录在开发板上执行mount -t nfs -o nolock 192.168.1.10:/home/yourname/nfs_rootfs /mnt挂载成功后在/mnt下的操作会直接同步到Ubuntu的nfs_rootfs目录。4. 第一个驱动实验LED控制4.1 准备驱动程序从百问网Git仓库获取示例代码git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git cd 01_all_series_quickstart/05_嵌入式Linux驱动开发基础知识/source/02_led_drv4.2 编译内核模块make ARCHarm CROSS_COMPILEarm-buildroot-linux-gnueabihf-编译成功后生成led.ko驱动文件。4.3 测试LED驱动将驱动和测试程序拷贝到NFS目录cp led.ko ledtest ~/nfs_rootfs/在开发板上加载驱动insmod /mnt/led.ko查看设备节点ls /dev/100ask_led*运行测试程序/mnt/ledtest /dev/100ask_led0 on # 点亮LED /mnt/ledtest /dev/100ask_led0 off # 关闭LED排错技巧如果驱动加载失败用dmesg查看内核日志常见问题是内核版本不匹配。完成以上所有步骤恭喜你已经搭建好完整的IMX6ULL开发环境这套环境不仅能用于LED驱动开发后续的GPIO、PWM、I2C等外设开发都可以在此基础上进行。建议将虚拟机导出为镜像备份避免重复配置。

更多文章