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


    本系列为使用野火IMX6ULL开发的学习笔记,使用的开发板为如下:
    在这里插入图片描述
    具有的硬件资源有如下:
    在这里插入图片描述

    一、环境搭建

    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
      
      • 1
      • 2

      在这里插入图片描述
      确保上面两行不能注释,把他打开:
      在这里插入图片描述

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

      sudo /etc/init.d/vsftpd restart

    • 使用FileZillla连接到Ubuntu的FTP服务器:
      在这里插入图片描述
      在这里插入图片描述

    二、镜像烧录

    • 准备一张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
    
    • 1
    • 2

    ROOT用户:

    账户: root
    密码: root
    
    • 1
    • 2

    在这里插入图片描述

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

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

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

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

    修改串口终端登录前信息

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

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

    三、fire-config工具配置

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

    在这里插入图片描述

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

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

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

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

    EMMC/NAND FLASH刷机

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    之后重启开发板即可。

    在这里插入图片描述
    在这里插入图片描述
    等待一段时间即可。登录进去后,需要关闭SD卡刷机选项:

    在这里插入图片描述

    在这里插入图片描述
    之后执行sudo poweroff关机。之后更改开发板的启动方式为EMMC启动,拨码到2457位,然后拆卸SD卡,然后长按ON/OFF键进行开机。

    四、WIFI连接

    由于SD卡与WIFI共用同一个sdio接口,所以我们需要把跳帽挪动到原来的地方,给WiFi模块供电:
    在这里插入图片描述
    使用fire-config工具来进行配置WiFi:
    在这里插入图片描述
    可以使用命令sudo echo "1 4 1 7" > /proc/sys/kernel/printk来屏蔽掉一些没有用的打印。之后打开WiFi:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    再次重启:
    在这里插入图片描述
    重启后可以看到WiFi设备被打开了:
    在这里插入图片描述
    之后让其识别周围的WiFi:
    在这里插入图片描述
    在这里插入图片描述
    之后进入查找:
    在这里插入图片描述如果遇到查找到的WiFi较少,可以将天线的位置进行调整,不要压着天线。

    在这里插入图片描述
    signal代表WiFi强度,越靠前数字越小代表信号强度越高。之后进行WiFi连接:
    在这里插入图片描述
    在这里插入图片描述
    之后输入对应的密码:
    在这里插入图片描述
    之后再次进行重启,会自动连接上WiFi:
    在这里插入图片描述
    使用命令ifconfig,可以看到我们连接的WiFi信息:
    在这里插入图片描述
    之后ping一下百度的网址:
    在这里插入图片描述
    说明成功联网。

  • 相关阅读:
    2.15 OrCAD中怎么创建带图片的Title Block?【OrCAD原理图封装库50问解析】
    Android13 客制化U盘挂载路径
    智慧路灯远程智能控制
    排序算法:堆排序
    ​“债务飙升!美国一天内增加2750亿美元,金融震荡的前奏已拉开帷幕!”
    RocketMQ-RocketMQ部署(Linux、docker)
    torchvision_transform(图像增强)
    EKP接口开发Webservice服务和Restservice服务以及定时任务Demo
    一种加权变异的粒子群算法-附代码
    如何隐藏 Apache 的版本号和操作系统信息
  • 原文地址:https://blog.csdn.net/Alkaid2000/article/details/134520072