0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

i.MX6ULL|快速配置环境配置记录

玩转单片机 来源:玩转单片机 2023-07-28 10:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近换了新的笔记本,就把老的笔记本装了ubuntu,使用体验比虚拟机好很多,就算是老笔记本的配置,带个ubuntu还是非常流畅的,就是要重新配置环境,这篇文章就来记录下环境配置。

| 交叉编译器安装

交叉编译参考交叉编译器安装这篇推文,具体步骤记录得非常清楚。想要获取当前路径,可以使用 pwd 命令:

0d61bdc6-2c9b-11ee-815d-dac502259ad0.png

| uboot编译

uboot编译参照uboot初探这篇推文,里边有相关介绍和操作,这里就不做过多介绍。

0d9fa910-2c9b-11ee-815d-dac502259ad0.png

| 从网络启动 Linux 系统

可以通过从网络启动Linux系统这篇文章了解相关内容,在ubuntu20中查看ip地址可以使用 ip addr查看,在win11中可以使用ipconfig查看ip,在保证网线接到同一局域网中,还需要配置uboot才能ping通win11和win11,win11需要关闭防火墙,配置如下:

setenvipaddr192.168.2.50//开发板IP地址
setenvethaddrb81d:01:00:00//开发板网卡MAC地址
setenvgatewayip192.168.2.1//开发板默认网关
setenvnetmask255.255.255.0//开发板子网掩码
setenvserverip192.168.2.55/服务器地址,也就是Ubuntu地址
saveenv//保存环境变量

配置完后再重启开发板,再ping通win11和ubuntu,确保它们都在同一局域网下面。最后再搭建TFTP服务,测试linux能否正常通过网络启动。

测试启动

1、设置环境变量

进入uboot中,输入下面配置:

setenvbootargs'console=ttymxc0,115200root=/dev/mmcblk1p2rootwaitrw'
setenvbootcmd'tftp80800000zImage;tftp83000000imx6ull-14x14-evk-emmc.dtb;bootz80800000-83000000'
saveenv

2、下载文件

进入uboot中,输入下面命令:

tftp80800000zImage
tftp83000000imx6ull-14x14-evk-emmc.dtb

3、启动内核

进入uboot中,输入下面命令:

bootz80800000-83000000

| 编译内核

内核的编译可以参考移植内核这篇推文,里边有相关内容介绍及实现过程等。

内核编译配置如下:

#!/bin/sh
#编译之前先清理
makeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-distclean
#配置Linux内核
makeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-imx_v7_mfg_defconfig
#编译Linux内核
makeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-all-j16

最终会生成一个很重要的文件,就是zImage文件,下方是它存放在系统中的详细路径:

Linux内核镜像文件:
存放路径为arch/arm/boot/zImage

IMX6ULL EVK开发板对应的设备树文件:
存放路径为arch/arm/boot/dts/imx6ull-14x14-evk.dtb

| 编译根文件系统

根文件系统相关知识可以借鉴根文件系统构建这篇推文,详细介绍了如何从零到一构建一个根文件系统。

uboot配置:

setenvbootargs'console=ttymxc0,115200root=/dev/nfsnfsroot=192.168.2.55:/home/noah/linux/nfs/rootfs,proto=tcprwip=192.168.2.50192.168.2.1off'
saveenv

如果遇到根文件挂载失败的,可以借鉴以下下面的方法:

原因:因为ubuntu的nfs版本为version4,而板子的nfs版本为version2,所以直接挂载上去无法识别

解决方法:在 /etc/default/nfs-kernel-server的最后一行添加以下代码:

RPCNFSDOPTS="--nfs-version2,3,4--debug--syslog"

具体看下图(使用命令:sudo gedit nfs-kernel-server):

0dd50682-2c9b-11ee-815d-dac502259ad0.png

| 新字符驱动

字符驱动可以借鉴新字符设备驱动模板这篇文章,里边有完整的相关说明及源代码;从官方下载了Linux kernel源码进行编译,遇到如下错误:

cc1: error: code model kernel does not support PIC mode 解决方法:打开官方内核源码,在Makefile中对应修改一下:

ARCH?=arm
CROSS_COMPILE?=arm-linux-gnueabihf-
#Architectureaspresentincompile.h
UTS_MACHINE:=$(ARCH)
SRCARCH:=$(ARCH)

和


KBUILD_CFLAGS:=-Wall-Wundef-Wstrict-prototypes-Wno-trigraphs
-fno-strict-aliasing-fno-common
-Werror-implicit-function-declaration
-Wno-format-security
-std=gnu89-fno-pie

图片如下:

0e0bac14-2c9b-11ee-815d-dac502259ad0.png

0e276c74-2c9b-11ee-815d-dac502259ad0.png

最后加载驱动,然后测试应用程序,到此驱动开发环境基本搭建完成!






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux系统
    +关注

    关注

    4

    文章

    616

    浏览量

    30156
  • 虚拟机
    +关注

    关注

    1

    文章

    975

    浏览量

    30700
  • Uboot
    +关注

    关注

    4

    文章

    132

    浏览量

    30039
  • TFTP协议
    +关注

    关注

    0

    文章

    5

    浏览量

    5672
  • Ubuntu系统
    +关注

    关注

    0

    文章

    93

    浏览量

    4677

原文标题:i.MX6ULL|快速配置环境

文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    i.MX6ULL能否接受来自外部振荡器的直接50 MHz输入?

    我们正在将 LAN8710A-EZK PHY 与 RMII 模式下的 i.MX6ULL 集成,需要澄清有关 50 MHz 参考时钟的信息。 由于RMII需要50 MHz时钟,i.MX6ULL能否接受
    发表于 04-17 06:05

    开发一个基于运行 Yocto 的 i.MX6ULL 的定制板,如何减少启动时间?

    /60-cdrom_id.rules),但影响有限。 在这种情况下,是否有任何推荐的方法或最佳实践可以进一步缩短启动时间? 使用i.MX6ULL快速启动的其他人提供的任何提示或经验将不胜感激。
    发表于 04-16 08:26

    i.MX93定制板 – DDR 配置与引导加载程序刷新顺序的疑问求解

    FTDI 进行调试的 UART - USB1 用于刷新 i.MX 从我们对工作流程的理解来看: 1- 配置 DDR恩智浦配置工具。 2- 我们需要闪烁 bootloader 的 Ootloader 中
    发表于 04-16 06:27

    EM储能网关 ZWS智慧储能云应用(24) — 如何快速配置不同省区电站的电价?

    如何实现跨省区电价策略的快速、精准配置与同步更新?ZLG智慧储能云支持区域电价功能,为储能运营商提供便捷配置。简介储能电站的电价有差异,各省市的电价不同,不同季节、每日早晚的电价也不一样。储能运营商
    的头像 发表于 03-06 11:37 166次阅读
    EM储能网关 ZWS智慧储能云应用(24) — 如何<b class='flag-5'>快速配置</b>不同省区电站的电价?

    i.MX 6ULL之后:2026年入门工控平台,TI AM62x与STM32MP1谁主沉浮?

    做一个带 7 寸屏的工业仪器、充电桩显示屏或简易网关,NXP i.MX 6ULL 是闭眼选的标准答案。
    的头像 发表于 01-27 15:15 643次阅读

    演示E104-BT52蓝牙模块快速配置

    本视频你可参考图文教程,也可参考文末的视频教程图文教程一、产品概述E104-BT52是一款高性能蓝牙模块,本教程将详细介绍其快速配置方法,帮助用户快速实现模块的透传功能。二、准备工作所需材料清单
    的头像 发表于 12-18 19:35 1001次阅读
    演示E104-BT52蓝牙模块<b class='flag-5'>快速配置</b>

    【飞凌OK-T153 开发板试用】实时性测试

    I.MX6ULL(1 X A7@792M)的对比 从测试结果可以看出T153实时性要明显高于I.MX6ULL 另外需要注意上述测试无论是T153还是I.MX6ULL均是在系统启机后空载情况下
    发表于 11-22 05:29

    Analog Devices / Maxim Integrated MX31828和MX31829低功耗温度开关特性/应用/框图

    Analog Devices MX31828和MX31829低功耗温度开关在-40°C至+125°C(12位)温度范围内提供±1°C的精度。该开关具有I^2^C/SMBus接口,采用小型6
    的头像 发表于 06-22 11:12 964次阅读
    Analog Devices / Maxim Integrated <b class='flag-5'>MX</b>31828和<b class='flag-5'>MX</b>31829低功耗温度开关特性/应用/框图

    瑞芯微RK3506 vs NXP i.MX6ULL

    NXPi.MX6ULL核心板进行多方面对比。性能与能效对比性能优势对比:RK3506在接口方面比i.MX6ULL少2个UART,其他性能方面,RK3506以三核A7(1.
    的头像 发表于 06-19 16:26 1555次阅读
    瑞芯微RK3506 vs NXP <b class='flag-5'>i.MX6ULL</b>

    618盛夏狂欢,米尔电子携手恩智浦开启年度技术盛宴!

    即日起-2025.06.30,米尔恩智浦多系列开发板限时折扣!米尔基于i.MX91、i.MX93、i.MX8MPlus、i.MX6UL/i.MX6U
    的头像 发表于 06-13 08:03 1026次阅读
    618盛夏狂欢,米尔电子携手恩智浦开启年度技术盛宴!

    飞凌嵌入式ElfBoard ELF 1板卡-uboot移植之IOMUX介绍

    ,就实现了一个引脚可复用为多路功能的设计。不同厂家的SOC芯片有不同的配置方法,下面我们讲i.MX6ULL的引脚功能复用的配置方法。 例如i.MX6ULL芯片GPIO1_06引脚就有9
    发表于 05-30 09:28

    飞凌嵌入式ElfBoard ELF 1板卡-uboot配置详解

    都是uboot可以支持的不同平台的配置文件。我们只关心跟i.MX6ULL相关的_defconfig,输入命令:elf@ubuntu:~/work
    发表于 05-22 11:14

    NXP i.MX 91开发板#支持快速创建基于Linux®的边缘器件

    NXP Semiconductors FRDM i.MX 91开发板设计用于评估i.MX 91应用处理器,支持快速创建基于Linux ^®^ 的边缘器件。该开发板还设计用于入门级Linux^®^ 用
    的头像 发表于 05-19 10:55 3418次阅读
    NXP <b class='flag-5'>i.MX</b> 91开发板#支持<b class='flag-5'>快速</b>创建基于Linux®的边缘器件

    ProfibusDP主站转ModbusRTU网关快速配置案例

    在工业自动化领域,通信协议的转换是实现设备间数据交换和远程控制的关键技术之一。本文将详细介绍如何通过ProfibusDP主站转ModbusRTU网关(以XD-MDPBM20模块为例)来实现这一功能,并给出配置案例。
    的头像 发表于 05-16 13:02 632次阅读
    ProfibusDP主站转ModbusRTU网关<b class='flag-5'>快速配置</b>案例

    「2025恩智浦创新技术峰会」飞凌嵌入式亮相上海首站

    ,展示其在低成本人工智能、工业物联网等领域的创新成果。此次峰会,飞凌嵌入式带来了基于恩智浦i.MX95xx、i.MX9352、i.MX8MPlus和i.MX6ULL
    的头像 发表于 05-15 13:38 1615次阅读
    「2025恩智浦创新技术峰会」飞凌嵌入式亮相上海首站