Day3: uboot - 1

Uboot Day1

uboot 的全称是 Universal Boot Loader,uboot 是一个遵循 GPL 协议的开源软件,uboot 是一个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB 等高级功能。uboot 官网为 http://www.denx.de/wiki/U-Boot/

我们可以把Uboot分为两种:
在这里插入图片描述

例如,NXP 官方提供的2016.03版本的uboot, 下载地址为 :
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/tag/?h=imx_v2016.03_4.1.15_2.0.0_ga&id=rel_imx_4.1.15_2.1.0_ga

在正原电子的参考文档里面,把其开发板的uboot列为第三种,对于开发者来说,自己开发的硬件电路板的uboot,便对应于这第三种,即基于半导体厂商的开发板的代码移植的Uboot.

编译

512MB(DDR3)+8GB(EMMC)核心板

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12

这三条命令中 ARCH=arm 设置目标为 arm 架构,CROSS_COMPILE 指定所使用的交叉编
译器。第一条命令相当于“make distclean”,目的是清除工程.
第二条指令相当于“make mx6ull_14x14_ddr512_emmc_defconfig”,用于配置 uboot,配置文件为 mx6ull_14x14_ddr512_emmc_defconfig.
最后一条指令相当于 “make -j12”也就是使用 12 核来编译 uboot.

烧写

uboot的烧写有多种方式,在之前的笔记中也有描述。根据场景不同可以选用不同的方式

  • 比如在工厂生产,一般通过NXP的mfg Tool + usb serial download模式
  • 在开发阶段,第一次烧写(板上没有uboot, 也没有kernel), 也可以通过mfg tool, 或者 SD卡
  • 如果存在uboot, 则可以通过tftp下载new uboot到板上SDRAM,然后通过Uboot命令mmc write来更新
  • 如果存在kernel,还可以通过kernel dd 命令来更新uboot

uboot下tftp下载,mmc write烧写方式见下图
在这里插入图片描述
在这里插入图片描述

Uboot 命令

除了上面用到的烧写mmc的命令,uboot其他常用命令如下

  • 常用的和信息查询有关的命令有 3 个:bdinfo、printenv 和 version
  • 环境变量的操作涉及到两个命令:setenv 和 saveenv
  • 网络操作命令:ping, dhcp, nfs, tftp
  • emmc/sd命令, nand 命令
  • boot操作命令
  • 其他

例如,boot kernel

tftp 80800000 zImage
tftp 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb
bootz 80800000 - 83000000

在这里插入图片描述

另外,启动相关的一个重要的环境变量bootcmd,例如上电后自动从emmc其中的设置为

fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb; bootz 80800000 - 83000000

通过设置环境变量命令设置,

setenv bootcmd 'fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-14x14-
emmc-7-1024x600-c.dtb; bootz 80800000 - 83000000'
savenev
boot

uboot 顶层目录

在这里插入图片描述

arch

arch 文件夹存放着和架构有关的文件,比如 arm、avr32、m68k 等。 我们现在用的是 ARM 芯片,所以只需要关心 arm 文件夹即可。 打开 arm 文件夹里面内容如下:

fei@ubuntu:~/zhengyuandianzi/uboot/arch/arm$ ls
config.mk   Kconfig.debug  mach-highbank    mach-rockchip  mach-versatile
cpu         lib            mach-integrator  mach-s5pc1xx   mach-zynq
dts         mach-at91      mach-keystone    mach-socfpga   Makefile
imx-common  mach-bcm283x   mach-kirkwood    mach-stm32     thumb1
include     mach-davinci   mach-mvebu       mach-tegra
Kconfig     mach-exynos    mach-orion5x     mach-uniphier

mach 开头的文件夹是跟具体的设备有关的,比如“mach-exynos”就是跟三星的 exyons 系列 CPU 有关的文件。我们使用的是 I.MX6ULL,所以要关注“imx-common”这个文件夹。
“cpu”这个文件夹也是和 cpu 架构有关的,打开以后如下:

fei@ubuntu:~/zhengyuandianzi/uboot/arch/arm/cpu$ ls
arm11    arm720t    arm946es  armv8       pxa         u-boot-spl.lds
arm1136  arm920t    armv7     built-in.o  sa1100
arm1176  arm926ejs  armv7m    Makefile    u-boot.lds

可以看出有多种 ARM 架构相关的文件夹,I.MX6ULL 使用的 Cortex-A7 内核,
Cortex-A7 属于 armv7,所以我们要关心“armv7”这个文件夹。cpu 文件夹里面有个名为“uboot.lds”的链接脚本文件,这个就是 ARM 芯片所使用的 u-boot 链接脚本文件!armv7 这个文件夹里面的文件都是跟 ARMV7 架构有关的,是我们分析 uboot 启动源码的时候需要重点关注的。

这个就是 ARM 芯片所使用的 u-boot 链接脚本文件!armv7 这个文件夹里面的文件都是跟 ARMV7 架构有关的,是我们分析 uboot 启动源码的时候需要重点关注的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Uboot是一种嵌入式系统的引导程序,用于启动操作系统。TP-Link720nv4是一款由TP-Link公司生产的路由器型号。 Uboot-tplink720nv4是指为TP-Link720nv4路由器定制的Uboot引导程序。Uboot-tplink720nv4具有以下特点: 1. 支持快速启动:Uboot-tplink720nv4能够在路由器开机时快速加载,以便尽快启动路由器操作系统,降低用户等待时间。 2. 自定义引导选项:Uboot-tplink720nv4具有丰富的引导选项,用户可以根据自己的需求进行选择。比如,可以选择从不同的存储设备启动,如FLASH、SD卡等,或者通过网络启动。 3. 系统维护功能:Uboot-tplink720nv4还提供了一些系统维护功能,方便用户管理和维护路由器。例如,可以进行固件升级、配置文件恢复和备份等操作。 4. 可靠性和稳定性:Uboot-tplink720nv4经过精心设计和测试,具有较高的可靠性和稳定性。它能够有效地处理各种异常情况,并在出现问题时进行适当的错误处理和恢复。 总之,Uboot-tplink720nv4是一款针对TP-Link720nv4路由器定制的引导程序,能够提供快速启动、自定义引导选项、系统维护功能以及可靠性和稳定性等特点。这些特点使得Uboot-tplink720nv4成为路由器启动和管理的重要工具,为用户提供了更好的使用体验和更高的可靠性。 ### 回答2: U-Boot是一个开源的引导加载程序,用于在嵌入式设备上引导操作系统。而TP-Link 720N V4是一款由TP-Link公司生产的路由器。uboot-tplink720nv4是U-Boot的一个定制版本,专门针对TP-Link 720N V4进行优化和适配。 uboot-tplink720nv4的主要功能有以下几个方面: 1. 引导加载程序:uboot-tplink720nv4负责引导路由器的操作系统。它从存储介质(如闪存或TF卡)中读取操作系统的映像文件,并将其加载到系统内存中进行执行。它也可以从网络中引导操作系统,例如通过TFTP协议从服务器下载映像文件。 2. 诊断和配置:uboot-tplink720nv4提供了一套诊断和配置工具,可以对路由器进行诊断和设置。通过串口或网络接口,用户可以访问uboot-tplink720nv4的控制台,查看系统状态、配置参数和执行一些基本的维护操作。 3. 固件更新:uboot-tplink720nv4还支持在路由器上进行固件更新。用户可以通过控制台上传新的固件映像文件,uboot-tplink720nv4会将其写入到闪存中,以更新路由器的软件版本。 4. 定制和优化:uboot-tplink720nv4是根据TP-Link 720N V4的硬件架构和功能进行定制和优化的。它可以最大程度地利用路由器的资源,提供高性能和稳定的引导加载功能。 总之,uboot-tplink720nv4是一款针对TP-Link 720N V4路由器的定制U-Boot引导加载程序,它提供了引导加载、诊断和配置、固件更新等功能,可以最大化利用路由器的性能和功能。 ### 回答3: uboot-tplink720nv4 是一个针对 TP-Link 720n V4 路由器的 U-Boot 引导程序。U-Boot 是一个开源的引导加载程序,它负责加载操作系统并引导设备启动。TP-Link 720n V4 是一款低成本的家用路由器,uboot-tplink720nv4 提供了一种自定义引导程序的方式,使用户能够更灵活地管理和控制设备。 uboot-tplink720nv4 的安装需要通过刷写固件的方式完成。刷写固件前需确保设备已 root 或已解锁。在刷写过程中需要注意备份原始固件,以防意外发生。安装完成后,用户可以根据自己的需要进行配置和使用。 uboot-tplink720nv4 提供了丰富的功能和选项,例如用户可以定制启动菜单、修改网络设置、烧录新固件等。这些功能使用户可以更好地控制路由器,并提供了更高的扩展性和自定义化的可能性。 与传统的固件相比,uboot-tplink720nv4 的优势在于其开源性和灵活性。用户可以根据自己的需求进行二次开发和定制,从而实现更多个性化的功能。此外,作为开源项目,uboot-tplink720nv4 可以通过社区的力量进行不断的改进和更新,提供更好的用户体验和稳定性。 总之,uboot-tplink720nv4 是一个适用于 TP-Link 720n V4 路由器的 U-Boot 引导程序,它提供了更灵活和可定制的方式来管理和控制设备。用户可以根据自己的需求进行安装和配置,并享受更多个性化的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值