U-boot使用

本文介绍了BootLoader在嵌入式系统中的作用,重点讲述了U-Boot的特点和选择理由,并详细解析了如何使用U-Boot进行系统烧录,包括设置环境变量、网络连接、TFTP下载文件及NandFlash操作等命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、U-boot介绍

在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。

Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。

常见的boot-loader有Redboot、ARMboot、U-Boot等,U-Boot,全称 Universal Boot Loader;

选择U-Boot的理由:

1、开放源码;

2、支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android;

3、支持多个处理器系列,如PowerPC、ARM、x86、MIPS;

4、较高的可靠性和稳定性;

5、 高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等;

6、 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等;

7、较为丰富的开发调试文档与强大的网络技术支持;

二、U-boot命令

启动开发板

U-Boot 2010.09-00000-ga6a1bb1-dirty (Mar 26 2018 - 10:39:02)



DRAM:  64 MiB

NAND:  256 MiB

*** Warning - bad CRC or NAND, using default environment



In:    serial

Out:   serial

Err:   serial

Net:   dm9000

Hit any key to stop autoboot:  0

在U-boot延时时间结束前按任意键进入U-boot

[fl2440@lingyun]#

[fl2440@lingyun]#

 

输入help或者?帮助,可以列出所有命令

[fl2440@lingyun]# help

?       - alias for 'help'

base    - print or set address offset

bdinfo  - print Board Info structure

boot    - boot default, i.e., run 'bootcmd'

bootd   - boot default, i.e., run 'bootcmd'

bootelf - Boot from an ELF image in memory

bootm   - boot application image from memory

bootp   - boot image via network using BOOTP/TFTP protocol

bootvx  - Boot vxWorks from an ELF image

cmp     - memory compare

coninfo - print console devices and information

cp      - memory copy

crc32   - checksum calcula
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值