I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接

本系列为使用野火IMX6ULL开发的学习笔记,使用的开发板为如下:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第1张图片
具有的硬件资源有如下:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第2张图片

文章目录

    • 一、环境搭建
      • Win11安装WSL
      • 安装串口驱动
      • 安装串口工具
      • 安装Ubuntu与windows文件互传
    • 二、镜像烧录
      • 修改串口终端登录前信息
    • 三、fire-config工具配置
      • EMMC/NAND FLASH刷机
    • 四、WIFI连接

一、环境搭建

Win11安装WSL

https://blog.csdn.net/weixin_44301630/article/details/122390018

安装虚拟机也可以,需要安装一个Ubuntu系统。直接在微软商城中搜索ubuntu20.04

安装串口驱动

  • CH340(波特率115200)

    https://www.wch.cn/products/CH340.html

安装串口工具

在 Windows 下有很多种终端工具,例如 MobaXterm、secureCRT、xShell、Putty 等,但是最推荐的还是MobaXterm:

  • MobaXterm:https://mobaxterm.mobatek.net/download.html

安装Ubuntu与windows文件互传

  • FileZilla下载地址:https://www.filezilla.cn/download

  • 开启Ubuntu下的FTP服务:sudo apt-get install vsftpd

  • 等待软件自动安装,安装后打开配置文件:sudo vi /etc/vsftpd.conf

  • 打开 vsftpd.conf 文件以后找到如下两行,输入i进行编辑,按下Esc,输入“:和wq”保存:

    local_enable=YES
    write_enable=YES
    

    I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第3张图片
    确保上面两行不能注释,把他打开:
    I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第4张图片

  • 使用如下命令重启FTP服务:

    sudo /etc/init.d/vsftpd restart

  • 使用FileZillla连接到Ubuntu的FTP服务器:
    I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第5张图片
    I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第6张图片

二、镜像烧录

  • 准备一张Micro SD卡,容量需要2GB以上。
  • 下载 Etcher 软件,用于烧录镜像至 SD 卡,下载地址:https://www.balena.io/etcher ,根据自 己的电脑系统下载对应版本即可。
  • 下载野火最新的 Debian 镜像:https://pan.baidu.com/s/1pqVHVIdY97VApz-rVVa8pQ 提取码:uge1

imx6ull-lubancat-carp-console-armhf-2022-02-10.img.xz: Debian的纯净版固件,没有带桌面环境和野火的QT App。
imx6ull-lubancat-carp-qt-armhf-2022-02-10.img.xz: 具有QT App功能的Debian固件,系统启动后会进入QT App的界面。

  • 把开发板控制启动模式的 BOOT 拨码开关设置成 SD 卡启动模式,即 2-5-8 档位至 ON 档。
  • 给开发板接入烧录好的 SD 卡,启动运行。

注意:开发板插入烧录好 Debian 镜像的 SD 卡,调整拨码开关为 SD 卡启动方式,然后注意使用 SD 卡时开发板右下角的 J2 竖排针不要盖有跳帽需断开(此为 WIFI 模块供电,核心板只引出一路 SDIO,SD 卡和 WIFI 不能同时用);开发板第一次从 SD 卡启动时,系统会自动进行 SD 卡扩容,以保证充分利用 SD 卡存储空 间。扩容完毕后,系统自动重启生效。

插入SD卡,烧录完后即可登录:

普通用户(带 sudo 权限):

账户: debian
密码: temppwd

ROOT用户:

账户: root
密码: root

I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第7张图片

这样即可登录。可以使用passwd来进行对密码的修改。

使用 SSH 终端登录时,可以通过主机名和 IP 连接板子:

主机名: npi
IP 不固定,默认由路由动态分配,可先通过串口终端连接,使用 ifconfig 命令查看具体 IP

若要修改主机名,修改 /etc/hostname 文件中的内容即可。

修改串口终端登录前信息

希望登录串口终端时不显示账号密码信息,或者显示我们需要的信息:

sudo vim /etc/issue ,如果没有vim工具,可以使用nano。

三、fire-config工具配置

sudo fire-config可以进行使用,只可以用在野火最新的debian系统上。(这个功能类似于Nuttx操作系统下的那个菜单栏,把很多通讯设备等都注册为可在菜单上选中并且执行的设备)。

I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第8张图片

fire-config工具集成了Device Tree Overlays机制,用来管理一些硬件资源的分配和模块的加载, 从而缓解多个驱动程序争用系统资源的问题。

在传统开发模式中,这个机制通常是由设备树来完成的:在开发之前根据项目需求, 提前确定系统中所有用到的硬件设备。在设备树中把所有的外围设备信息以设备树特定的语法进行描述, 在设备树被编译为dtb文件后,被linux内核加载使用。

可以看到,在传统开发过程,一旦硬件资源发生变化,就要重新修改、编译、下载设备树。比较极端的情况是: 当项目中要支持多种的硬件模块,而不同模块间往往会共用某些系统资源(如IO引脚)。 一旦系统要兼容模块任意组合使用,那么随着模块数量增加,需要编译的设备树数量将爆炸增长。

因此,使用传统设备树是不利于项目的维护和扩展的。内核为了解决这个提出了一套新的解决方案, 那就是Device Tree Overlays,中文上可理解为“设备树插件”。 它的核心原理是,通过扩展传统的设备树语法,使得各个硬件模块的信息可以独立地用新的设备树语法来描述。 这样一来,传统的主设备树中只需要保留最基础的硬件信息(主要是cpu和内存),其他模块单独编译成“设备树插件”。 在系统实际使用时,根据实际应用情景,需要用到哪些硬件模块就把对应的设备树插件加入到主设备树即可。

EMMC/NAND FLASH刷机

I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第9张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第10张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第11张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第12张图片
之后重启开发板即可。

I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第13张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第14张图片
等待一段时间即可。登录进去后,需要关闭SD卡刷机选项:

I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第15张图片

I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第16张图片
之后执行sudo poweroff关机。之后更改开发板的启动方式为EMMC启动,拨码到2457位,然后拆卸SD卡,然后长按ON/OFF键进行开机。

四、WIFI连接

由于SD卡与WIFI共用同一个sdio接口,所以我们需要把跳帽挪动到原来的地方,给WiFi模块供电:

使用fire-config工具来进行配置WiFi:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第17张图片
可以使用命令sudo echo "1 4 1 7" > /proc/sys/kernel/printk来屏蔽掉一些没有用的打印。之后打开WiFi:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第18张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第19张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第20张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第21张图片

再次重启:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第22张图片
重启后可以看到WiFi设备被打开了:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第23张图片
之后让其识别周围的WiFi:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第24张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第25张图片
之后进入查找:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第26张图片如果遇到查找到的WiFi较少,可以将天线的位置进行调整,不要压着天线。

I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第27张图片
signal代表WiFi强度,越靠前数字越小代表信号强度越高。之后进行WiFi连接:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第28张图片
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第29张图片
之后输入对应的密码:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第30张图片
之后再次进行重启,会自动连接上WiFi:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第31张图片
使用命令ifconfig,可以看到我们连接的WiFi信息:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第32张图片
之后ping一下百度的网址:
I.MX6ULL开发笔记(一)——环境搭建、镜像烧录、网络连接_第33张图片
说明成功联网。

你可能感兴趣的:(I.MX6ULL,操作系统,嵌入式,linux)