1.uboot 移植的一般流程:
①、在 uboot 中找到参考的开发平台,一般是原厂的开发板。
②、参考原厂开发板移植 uboot 到我们所使用的开发板上。

2.在移植之前,我们先编译一下 NXP 官方 I.MX6ULL EVK 开发板对应的 uboot,首先是配置
uboot,configs 目录下有很多跟 I.MX6UL/6ULL 有关的配置,使用mx6ull_14x14_evk_emmc_defconfig 作为默认配置文件。

执行命令:

make  mx6ull_14x14_evk_emmc_defconfig  //配置
make   //编译

3.命令执行过程:  
            切换到 EMMC
            读取 zImage 镜像文件到 0x80800000
            读取设备树文件到 0x83000000
            启动 Linux

4.每次修改 linux 系统文件或者 linux 下的某个驱动以后都要将其烧写到 EMMC 中去测试,太麻烦。

为了方便调试,可以设置 linux 从网络启动,也就是将 linux 镜像文件和根文件系统都放到 Ubuntu 下某个指定的文件夹中。

使用 tftp 从 Ubuntu 中下载 zImage 和设备树文件,前提是要将 zImage 和设备树文件放到 Ubuntu 下的 tftp 目录中。

5.uboot命令:

base   -打印或设置地址偏移
bdinfo -打印板信息结构
bmode  -sd1 | sd2 | qspi1 | normal | usb | sata | ecspi1:0 | ecspi1:1 | ecspi1:2 | ecspi1:3 | esdhc1 | esdhc2 | esdhc3 | esdhc4[noreset]bmp   -处理bmp图像数据
boot  -boot默认值,即运行“bootcmd”
bootd -启动默认值,即运行“bootcmd”
bootefi -从内存启动EFI负载
bootelf -从内存中的ELF映像启动
bootm   -从内存启动应用程序映像
bootp   -使用bootp/TFTP协议通过网络引导映像
bootvx  -从ELF映像启动vxWorks
bootz   -从内存中引导Linux zImage映像
clocks  -显示时钟
clrlogo -用黑色填充引导标志区域
cmp     -内存比较
coninfo -打印控制台设备和信息
cp      -内存拷贝
crc32   -校验和计算
dcache  -启用或禁用数据缓存
dhcp    -使用dhcp/TFTP协议通过网络引导映像
dm      -驾驶模型低级访问
echo    -控制台的echo参数
editenv -编辑环境变量
env     -环境处理命令
erase   -擦除闪存
exit    -退出脚本
ext2load -从Ext2文件系统加载二进制文件
ext2ls   -列出目录中的文件(默认/)
ext4load -从Ext4文件系统加载二进制文件
ext4ls   -列出目录中的文件(默认/)
ext4size -确定文件的大小
ext4write -在根目录中创建文件
false   -什么都不做,不成功
fatinfo -打印有关文件系统的信息
fatload -从dos文件系统加载二进制文件
fatls   -列出目录中的文件(默认/)
fatsize -确定文件的大小
fdt     -展平设备树实用程序命令
flinfo- 打印闪存信息
fstype -查找文件系统类型
fuse   -保险丝子系统
go     -在地址“addr”启动应用程序
gpio   -查询和控制gpio引脚
help   -print命令说明/用法
i2c    -i2c子系统
icache -启用或禁用指令缓存
iminfo -打印应用程序图像的标题信息
imxtract -提取多图像的一部分
itest  -整数比较时返回true/false
load   -从文件系统加载二进制文件
loadb  -通过串行线加载二进制文件(kermit模式)
loads  -通过串行线加载S-Record文件
loadx  -通过串行线加载二进制文件(xmodem模式)
loady  -通过串行线加载二进制文件(ymodem模式)
loop   -地址范围上的无限循环
ls     -列出目录中的文件(默认/)
md     -内存显示
mdio   -mdio实用程序命令
mii    -mii实用程序命令
mm     —内存修改(地址自动递增)
mmc   -mmc子系统
mmcinfo -显示MMC信息
mtest -简单RAM读/写测试
mw    -内存写入(填充)
nfs   -使用nfs协议通过网络引导映像
nm    -内存修改(恒定地址)
ping  -向网络主机发送ICMP ECHO_REQUEST
printenv -打印环境变量
protect  -启用或禁用FLASH写入保护
reset  -执行CPU的重置
run    -run环境变量中的命令
save   -将文件保存到文件系统
saveenv -将环境变量保存到持久存储
setenv  -设置环境变量
setexpr -将环境变量设置为eval表达式的结果
sf      -SPI闪存子系统
showvar -打印局部hushshell变量
size    -确定文件的大小
sleep   -延迟执行一段时间
source  -从内存运行脚本
test    -最小测试,如/bin/sh
tftpboot -使用TFTP协议通过网络引导映像
true    -不做任何事,成功
usb     -usb子系统
usbboot -从USB设备启动
version -打印监视器、编译器和链接器版本

6.如果你想获取某条命令的更详细的帮助,可以使用:

help <你想要查的指令>
或者 ? <你想要查的指令> ,
甚至 h <你想要查的指令缩写>。

7.cmdline是uboot引导内核启动时传递给内核的,作用是指导内核启动。内核启动阶段会去解析cmdline,并根据cmdline去指导内核启动。

例如:mem=1408M console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait rootfstype=squashfs mtdparts=xxx
(1)mem=       用来告诉内核当前系统的内存有多少;
(2)console=  指定控制台使用的串口已经波特率;
(3)root=        根文件系统的位置,比如上面就是指定根文件系统在mmcblk0p2分区,内核挂载根文件系统时会用到;
根文件系统也可以通过nfs远程挂载:
root=/dev/nfs nfsroot=192.168.1.141:/root/imx6ull/nfs ip=192.168.1.10:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off
(4)rootfstype=  指明文件系统的格式和权限;
(5)mtdparts=  指明存储设备的分区情况;

imx6ull uboot相关推荐

  1. imx6ull:uboot的make xxx_defconfig 过程分析

    相关代码 414 # To make sure we do not include .config for any of the *config targets 415 # catch them ea ...

  2. imx6ull:uboot顶层Makefile分析

    版本号 MAKEFLAGES变量 20 MAKEFLAGS += -rR --include-dir=$(CURDIR) Makefile有两个特殊的变量:"SHELL"和&quo ...

  3. imx6ull uboot nfs Loading* done异常

    imx6ull uboot nfs Loading* done异常 uboot nfs加载内核zImage 失败,直接done,我使用的开发板是正点原子的阿尔法. 找了很多文章,基本都试过,反而还出现 ...

  4. 【uboot】imx6ull uboot移植LAN8720A网卡驱动

    文章目录 相关文章 1. 前言 2. IMX6ULL Ethernet LAN8720A硬件连接 3. 支持LAN8720A修改步骤 4. 验证测试 问题1:如何确定LAN8720A网卡PHYAD地址 ...

  5. imx6ull u-boot 下载/编译/烧写/运行

    下载NXP官方提供的u-boot源码 链接: https://pan.baidu.com/s/1VCzTiGSwJTFtg0D_eHXpPw 密码: 7aas 编译u-boot 进入源码目录新建编译脚 ...

  6. IMX6ULL UBOOT移植-3LCD分辨率修改

    由于版本不一样,正点原子手册在mx6ull_ycy.c中代码无法找到,不能在此处修改. 根据网上其他文档找到修改文件在imx6ul-14x14-evk.dtsi中 vim arch/arm/dts/i ...

  7. IMX6ULL u-boot 2020.04 移植LAN8720A(网卡)

    1.修改设备树arch/arm/dts/imx6ul-14x14-evk.dtsi 修改后 &fec1 {pinctrl-names = "default";pinctrl ...

  8. 【uboot】uboot 2020.04 DM驱动模式 -- Demo体验

    文章目录 1. 前言 2. uboot的驱动模型简介 3. U_BOOT_CMD(do_demo)分析 4. 执行命令demo list 5. 执行命令demo hello 6. 执行命令demo l ...

  9. NXP IMX6ULL的官方文档、官方BSP、交叉编译工具链下载

    目录 1 官网下载BSP以及相关文档 1.1 文档下载 1.2 NXP 官方uboot和kernel源码下载 1.3 官方评估板硬件资料下载 1.4 官方BSP下载 2 官网SDK下载 3 交叉编译工 ...

最新文章

  1. 第二周作业-停车场门禁控制系统的状态机
  2. VoVNet:实时目标检测 backbone网络
  3. runtime error: invalid memory address or nil pointer dereference
  4. [gic]-gicv3/gicv4的feature总结
  5. 【项目经验】在填写表单时,首先添加一个失去焦点事件,将数据库中信息自动填充信息到表单,其余信息手动填写然后提交表单。
  6. 编译选项—微软官方+各地总结
  7. 实例44:python
  8. python内核死亡的原因_Python xgboost:内核死亡
  9. IOS中延时执行的几种方式的比较
  10. 面料经纬向、正反面判别方法
  11. 华为交换机如何导出配置信息_华为交换机配置命令 华为QuidWay交换机配置命令手册...
  12. matlab解三角函数方程组,用matlab解三角函数方程组:y=A+Bx+Csin(Dx)+Esin(Fx)
  13. react js清除浏览器缓存
  14. 古籍拆字 - 批量拆字成图 - js拆字 - js拆图 - js拆古籍 -导出svg矢量图
  15. 韦东山第3期嵌入式Linux项目-视频监控-1-v4l2视频框架分析
  16. 用PS来制作背景透明的图片
  17. html:简易制作拼多多登录页面
  18. 用find在html中找字符串,Windows CMD中 find命令(字符串查找)
  19. vue个人博客开发记录-文件上传vue-quil-editormongo多层查询(二)
  20. 从删除到坐牢,这个锅背不动

热门文章

  1. 中国煤炭工业节能减排行业竞争格局及十四五供需规划研究报告2021-2027年
  2. python中属性赋值查找_关于python:在dataframe列中查找字典的值并进行修改
  3. 起底百度内部架构调整,吴恩达和王劲的离开只是一个剪影
  4. 本人硕士期间科研与生活总结
  5. 超级终端输入数据不显示解决办法
  6. linux python定时任务调度,Python下定时任务框架APScheduler的使用
  7. Automatic Software Repair: a Bibliography 自动软件修复概览(四)
  8. Ubuntu文件缺失解决办法
  9. rdkit 单个分子生成多个3D构象和保存
  10. 设计模式学习(三):Adapter适配器模式