新手必看!韦东山IMX6ULL开发板Linux环境搭建全流程(附常见问题解决)

韦东山IMX6ULL Pro开发板开箱:从零搭建嵌入式Linux环境(Ubuntu 18.04 + VMware) 本文详细介绍了韦东山IMX6ULL Pro开发板开箱及嵌入式Linux环境搭建的全过程,包括硬件初识、Ubuntu 18.04虚拟机配置、开发板与宿主机通信、LED驱动开发等关键步骤。通过实战避坑指南,帮助初学者快速上手嵌入式Linux开发,提升开发效率。 阅读详情

从零到一:在IMX6ULL开发板上构建你的第一个Linux世界

很多朋友拿到像韦东山IMX6ULL这样的嵌入式开发板时,既兴奋又有点不知所措。兴奋的是终于可以动手实践了,不知所措的是面对全新的Linux环境、交叉编译、内核驱动这些概念,不知道从哪里开始。我刚开始接触嵌入式Linux时也有同样的感受,甚至花了好几天时间才让开发板正常启动。这篇文章就是为你准备的——无论你是刚毕业的学生,还是想从单片机转向Linux的工程师,我都会用最直白的方式,带你走完从开箱到运行第一个驱动程序的完整流程。

嵌入式Linux开发环境和我们平时在PC上写代码有很大不同。你需要同时和开发板、虚拟机、主机电脑打交道,中间涉及网络配置、文件传输、交叉编译等多个环节。任何一个环节出问题,都可能让你卡住很久。但别担心,这个过程虽然有点繁琐,但每一步都有明确的逻辑。一旦走通第一次,后面就会顺畅很多。

我会假设你完全是新手,从最基础的软件安装开始,一直到在开发板上运行自己编写的程序。过程中我会重点讲解那些容易踩坑的地方,比如为什么开发板ping不通虚拟机、文件传输后为什么没变化、编译出来的程序为什么在开发板上跑不起来等等。这些细节问题往往比主线步骤更耗费时间。

1. 开发环境搭建:打好地基

搭建开发环境就像盖房子前打地基,这一步做扎实了,后面的工作才能顺利进行。嵌入式Linux开发环境通常包含三个部分:主机电脑(我们日常用的Windows或Mac)、虚拟机(运行Ubuntu等Linux系统)、开发板(这里是IMX6ULL)。三者之间需要通过网络和USB连接起来,形成一个可以协同工作的环境。

1.1 软件准备与安装

首先需要在主机电脑上安装必要的软件。这些软件主要分为三类:虚拟机软件、开发工具和连接工具。

  • 虚拟机软件:推荐使用VMware Workstation Player(个人使用免费)或VirtualBox。我更喜欢VMware,因为它的网络配置更直观,和主机文件共享也更方便。
  • Ubuntu系统镜像:韦东山提供的资料里通常包含了专门配置好的Ubuntu镜像,这个镜像已经安装好了交叉编译工具链、NFS服务等开发必需组件。对于新手来说,强烈建议直接使用这个现成的镜像,而不是自己从头安装配置。这能避免大量环境配置问题。
  • 连接与传输工具:
    • 串口工具:用于通过串口连接开发板,查看启动信息、执行命令。MobaXterm、Putty、SecureCRT都可以,MobaXterm功能更全面些。
    • 文件传输工具:FileZilla(支持FTP/SFTP)用于在主机和虚拟机之间传输文件。
    • 代码编辑工具:Source Insight、VS Code、Sublime Text都可以。我个人习惯用VS Code,配合一些插件后对C语言和Makefile的支持很好。

安装这些软件没什么特别要注意的,基本都是“下一步”到底。唯一需要留意的是虚拟机软件的安装,如果系统提示要安装虚拟化驱动或重启电脑,按照提示操作即可。

1.2 虚拟机网络配置:让三者互通

网络配置是新手最容易卡住的地方。开发板、虚拟机、主机三者之间需要能互相访问,才能传输文件、挂载目录、远程登录。常见的配置方式有两种:桥接模式和NAT模式。

提示:如果你不确定该用哪种模式,可以先尝试桥接模式。大多数家庭路由器环境下,桥接模式配置起来更简单。

桥接模式下,虚拟机会获得一个和主机同网段的IP地址,就像一台真实的电脑接入了你的局域网。开发板也连接到同一个路由器,这样三者就在同一个网络里了。

配置步骤大致如下:

  1. 在VMware中打开虚拟机设置,找到网络适配器。
  2. 选择“桥接模式”,并勾选“复制物理网络连接状态”。
  3. 启动Ubuntu虚拟机,打开终端,用ifconfig或ip addr命令查看网络接口和IP地址。通常你会看到类似ens33或ens36的接口名。
  4. 如果IP地址是192.168.x.x这样的形式(x通常不是1),说明桥接成功了。

为了让IP地址固定不变,方便后续操作,最好设置为静态IP。编辑网络配置文件:

sudo vi /etc/netplan/01-network-manager-all.yaml

在文件中添加或修改为以下内容(注意根据你的实际接口名和网段修改):

network:
  version: 2
  renderer: networkd
  ethernets:
    ens36:  # 你的网卡名
      dhcp4: no
      addresses: [192.168.31.100/24]  # 静态IP和子网掩码
      gateway4: 192.168.31.1  # 网关,通常是路由器地址
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

保存后应用配置:sudo netplan apply。然后用ping 192.168.31.1测试是否能通网关(路由器)。

NAT模式下,虚拟机通过主机的网络连接出去,但外部设备(如开发板)无法直接访问虚拟机。这时需要配置端口转发或使用其他方法,对新手来说稍复杂。所以初期建议先用桥接模式。

1.3 开发板初步连接与测试

给IMX6ULL开发板接上电源、串口线(USB转TTL)、网线。串口线连接主机的USB口,网线连接到同一个路由器。

打开串口工具(如MobaXterm),新建一个Serial会话:

  • 端口号:在Windows设备管理器中查看串口对应的COM号(如COM3)
  • 波特率:115200
  • 数据位:8
  • 停止位:1
  • 校验位:None
  • 流控:None

连接后,给开发板上电。你应该能在串口终端看到类似下面的启动信息:

U-Boot 2020.04 (Mar 15 2021 - 16:30:25 +0800)

CPU:   Freescale i.MX6ULL rev1.1 528 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 44C
Reset cause: POR
Model: Freescale i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Net:   FEC0 [PRIME]
Hit any key to stop autoboot:  0 

如果没看到任何输出,检查:串口线是否接对(开发板的UART_TX接USB转TTL的RX,UART_RX接TX,GND接GND)、串口工具参数是否正确、开发板电源是否正常。

启动完成后,你会进入Linux命令行。先测试一下网络,用ifconfig eth0查看开发板的IP地址,然后尝试ping虚拟机的IP:

ping 192.168.31.100

如果能看到回复,说明网络通了。如果ping不通,检查:

  1. 开发板和虚拟机是否在同一个网段(IP地址前三位相同)
  2. 虚拟机防火墙是否关闭(sudo ufw disable)
  3. 路由器是否允许设备间互相访问

2. 系统烧录与启动模式选择

IMX6ULL开发板支持多种启动方式,这通过板上的拨码开关来设置。理解这些启动方式,能帮你更好地理解开发板的工作原理,也能在系统出问题时进行恢复。

2.1 启动模式详解

IMX6ULL常见的启动模式有:

启动模式 拨码开关设置 启动介质 适用场景
SD卡启动 1:OFF, 2:OFF SD/TF卡 最常用的启动方式,适合开发和调试
eMMC启动 1:ON, 2:OFF 板载eMMC存储 产品量产时使用,系统存储在板载芯片中
USB启动 1:OFF, 2:ON USB OTG接口 用于通过USB烧录系统到eMMC或NAND
串行下载 1:ON, 2:ON USB OTG接口
韦东山嵌入式Linux入门实战:从零搭建IMX6ULL开发环境 本文详细介绍了如何从零搭建IMX6ULL开发环境,涵盖Ubuntu配置、交叉编译工具链设置、开发板连接及驱动开发全流程。通过韦东山嵌入式Linux入门实战经验,帮助开发者快速掌握关键技巧,避免常见错误,提升开发效率。 阅读详情

相关推荐

韦东山嵌入式Linux实战入门:从零搭建IMX6ULL开发环境

本文详细介绍了如何从零开始搭建IMX6ULL开发环境,基于韦东山嵌入式Linux实战教程,涵盖环境准备、工具链配置、网络设置、NFS共享及驱动开发等关键步骤。特别适合嵌入式Linux初学者快速入门,掌握交叉编译、内核构建等核心技能,提升开发效率。

weixin_29189381的博客 201

【Linux】基于韦东山imx6ull pro开发板 QT移植操作备忘

走了一些弯路,现在记录下可行的方式。 1.使用韦东山提供的根文件系统Buildroot_2020.02.x,在ubuntu进行编译,生成有100ask-imx6ull-pro-512d-systemv-v1.img 完整烧录文件。 2.使用韦东山提供的烧录工具100ask_imx6ull_flashing_tool_v4.0,并将上述文件改名为emmc.img,烧录进开发板。 3.在ubuntu编译tslib,按照教程拷贝到开发板。 cp /mnt/tslib-1.21/tmp/lib/*so*

guanlizhongxintishi的博客 3968

Linux学习 韦东山IMX6ULL(一)搭建环境并编译程序

本文记录了作者使用韦东山imx6ull-pro开发板学习嵌入式Linux的过程。主要内容包括:1.环境搭建,通过VMware运行Ubuntu虚拟机,安装串口工具、FTP工具等;2.完成第一个应用程序和驱动程序的编译、烧录与测试;3.实现交叉编译和NFS挂载。作者采用碎片化学习方式,遇到问题时通过查阅资料逐步解决,如adb连接异常、文件覆盖等问题。整个学习过程注重实际操作,虽然对Linux命令和内核理解尚浅,但通过实践快速掌握了基本开发流程。作者认为这种"先上手后深入"的学习方式更适合工作

Try1harder的博客 1112

IMX6ULL驱动学习——通过总线设备驱动模型点亮野火开发板小灯【参考韦东山老师教程】

跟着韦东山老师的驱动学习课程点亮野火imx6ull的小灯

weixin_44952783的博客 1261

韦东山 IMX6ULL和正点原子_万事开头难 - 介绍IMX6ULL启动方式

不同开发板,启动方式不一样,今天我们来介绍imx6ull开发板的启动方式,这非常重要。若不了解清楚启动方式,后面的所有开发工作便无从谈起。本文摘自100ask_imx6ull 开发板 配套学习手册-《嵌入式Linux应用开发完全手册_韦东山全系列视频文档全集V2.6》.pdf1.1 IMX6ULL 启动方式参考资料:开发板资料网盘 路径:06_Datasheet(数据手册)-> Core_b...

weixin_39716971的博客 1926

IMX6ULL按键控制LED灯亮灭(基于韦东山嵌入式Linux教程)

在linux中,一切皆文件,设备也是作为文件存在于linux里面的,我们在应用层对设备进行各种操作就相当于对文件进行读写操作,所以为了让应用层能够通过对文件的操作来控制设备,我们要提供接口给应用层(如open,read,write等等),比如通过read读取引脚电平(按键是否按下),通过write来让引脚为高电平或者低电平(控制led是否打开)。

欢迎一起交流问题! 3660

韦东山嵌入式Linux开发环境搭建与IMX6ULL实战入门

本文详细介绍了基于IMX6ULL处理器的嵌入式Linux开发环境搭建与实战入门指南。从交叉编译工具链配置、Ubuntu系统优化到NFS网络文件系统部署,逐步讲解IMX6ULL开发板的操作技巧与常见问题解决方案,帮助开发者快速掌握嵌入式Linux开发的核心技能。

weixin_29195615的博客 719

把NXP官方Linux内核源码修改为支持韦东山的I.MX6ULL开发板的个人内核

目录 先不修改 编译出设备树和内核镜像 通过 Uboot 使用TFTP 下载到内存看看能不能启动 在内核中添加自己的开发板 使能 8 线 EMMC 驱动 修改内核里面的网络驱动 修改参考的是正点原子的开发板教程,由于正点原子和韦东山的开发板不一样,所以如果你使用的是正点原子的开发板,那么下面的步骤可能不适合你使用,但是可以参考 先不修改 编译出设备树和内核镜像 通过 Uboot 使用TFTP 下载到内存看看能不能启动 建立VScode工作空间 .vscode 文件夹中新建一个名为“setti

weixin_42104550的博客 1349

正点原子IMX6ULL入门第一讲

韦东山的个人空间-韦东山个人主页-哔哩哔哩视频 (bilibili.com)](https://space.bilibili.com/275908810/channel/seriesdetail?

weixin_61692414的博客 1952

将QT移植到IMX6ULL_Pro开发板

在这里使用的是韦东山老师的IMX6ULL开发板,接下来我将演示如何移植QT程序到该开发板。

wei_Embedded_z的博客 3834

基于 IMX6ULL 的环境监测自主调控系统

基于 IMX6ULL 的环境监测自主调控系统完整代码该项目的源代码适用于韦东山老师提供的出厂镜像,使用韦东山老师的 IMX6ULL 开发板可以直接运行代码复刻,其它开发板需要自行移植。作者在去年实习期间做了与 Linux 相关的项目,在这里我用韦东山老师的 IMX6ULL 开发板把用到的关键技术展现出来,主要用到 Linux 驱动,QT界面设计,JsonRPC 前后台分离。该项目主要使用 JsonRPC 把程序拆分为前台QT和后台APP,实现远程数据采集,设备控制和设备自动化运行等功能。

wei_Embedded_z的博客 2075

【深圳】IBM V3500存储维修 更换控制器故障

今天给大家分享的是深圳.福田区一个电商客户公司一台IBM Storwize v3500存储控制器故障从远程诊断 收集日志 分析结果的实际案例,如图所示通过存储管理口登陆进去后直接看到少了一个控制器,经过工程师分析日志后判定为该控制器损坏,接下来更换控制器配件,标准套件的控制器不带子卡和电池,所以需要把故障控制器上的子卡和电池拆下来装到新控制器上,这个电池拆还需要点技巧,接着把新的控制器插回V3500主机,等待大约十分钟后,新控制器指示灯全绿,管理界面看到节点已联机;冠峰科技-爱科技爱分享。

OuYangYuXi的博客 4577

告别图像畸变:手把手教你用HALCON的`gen_image_to_world_plane_map`做高精度视觉测量

本文详细解析了HALCON的`gen_image_to_world_plane_map`算子在工业视觉测量中的应用,通过精确的几何变换消除透视畸变,提升测量精度。文章涵盖相机标定、世界坐标系建立、实战应用及性能优化,适用于液晶屏质检、金属板检测等场景,帮助工程师实现高精度视觉测量。

weixin_28718487的博客 424

从NHANES到发表:如何用survey包完成符合CDC要求的统计分析(含完整R代码)

本文详细介绍了如何利用R语言的survey包,对美国国家健康与营养调查数据进行符合CDC要求的统计分析。文章重点解析了NHANES数据的复杂抽样设计、权重变量的正确选择与调整,并提供了从数据获取、清洗、构建调查设计对象到执行加权回归及生成发表级表格的完整R代码实战指南,帮助研究者避免常见错误,确保分析结果的准确性与可发表性。

weixin_29054245的博客 521

STM32F103C8T6用官方bootloader实现IAP升级操作方法

在使用STM32F103C8T6单片机IAP功能时,可以自己写bootloader程序,也可以使用官方bootloader文件。下面说一下使用官方bootloader的使用方法。 首先下载官方bootloader文件 目前使用的是这个版本,打开文件夹,选择适合自己编译器的工程。 目前使用的是keil,所以打开MDK-ARM文件夹 打开IAP工程 打开后根据自己的单片机型号,对工程进行简单的修...

HXYDJ的博客 1万+

Proteus下载安装快速入门:30分钟掌握全过程

手把手教你完成proteus下载安装,从环境配置到首次运行一气呵成,适合电子设计新手快速掌握仿真工具的核心操作步骤。

weixin_31974443的博客 893

Python爬虫实战:全面采集国家自然科学基金项目数据的全流程指南

国家自然科学基金委员会(NSFC)支持基础研究、应用基础研究,是我国科研投入的核心项目之一。公开的项目数据包括项目名称、负责人、资助金额、年度、单位等,具备极高科研和数据分析价值。requests:基础HTTP请求库,简单直观:异步HTTP请求库,适合大规模并发:HTML解析,提取数据:处理JavaScript渲染网页pandas:数据分析与清洗:数据库存储:重试机制实现。

2201_76125261的博客 753

【系统分析师】2026年上半年真题:案例分析-答案及详解(回忆版)

案例一聚焦因果分析法(鱼骨图)的应用,分析企业订单履约问题。问题1阐述因果分析法定义及常见方法(鱼骨图、5个为什么等);问题2将8个原因归类为人员、方法、合同等5类;问题3筛选适合鱼骨图的场景(如系统响应慢、服务器故障等),强调其适用于复杂根因分析。 案例二对比嵌入式系统中Linux与RTOS的差异(实时性、资源占用等),结合智能监控终端需求推荐Linux+四核ARM方案(高算力、性价比),并列选Linux的5大优势(生态成熟、多任务支持等)。 案例三设计互联网医院系统用例图(患者、医生等参与

数据知道的博客 1353

实战复盘:纷玩岛(Livelab)候补订单微信支付协议的逆向与复现

通过本次对纷玩岛候补支付接口的分析,我们实现了一个脱离 App UI 的轻量级支付发起器。这不仅验证了其API的设计逻辑(Standby -> PrePayInfo 分层设计),也为后续的自动化监控或辅助抢票工具提供了支付环节的技术验证。技术本无罪,关键在于如何使用。理解这些底层协议,有助于我们写出更健壮的代码,也能在遇到线上支付问题时快速定位是业务层(API)问题还是通道层(微信)问题。

猫敷雪 801

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: Mem0大模型记忆库实战:从Python到JavaScript的跨语言安装指南
下一篇: 避坑指南:Coze智能体网页部署中的会话隔离与隐私保护实战
lambda
博客等级 码龄23年 49粉丝 1303原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值