NXP官方开发板uboot程序烧写到SD卡并启动

一.  NXP官方 uboot

之前文章学习了编译 NXP(恩智浦)官网的 uboot源码。

本文将 编译好的 uboot程序烧写到 SD卡,并通过SD卡启动开发板。这里我所使用的开发板是 Nand-Flash版的核心板,规格如下:

DRAM(即 DDR)容量: 256MB

Nand-Flash 容量: 512MB。

NXP官方开发板uboot编译_凌肖战的博客-CSDN博客

二.   NXP官方开发板uboot程序烧写到SD卡

编译完成 uboot源码后,会生成 两种 裸机程序:u-boot.bin与 u-boot.imx文件。如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$ ls -l

.........

-rwxrwxr-x   1 wangtian wangtian 2681216 10月 15 17:47 u-boot
-rw-rw-r--   1 wangtian wangtian  471284 10月 15 17:47 u-boot.bin
-rw-rw-r--   1 wangtian wangtian   38494 10月 15 17:47 u-boot.cfg
-rw-rw-r--   1 wangtian wangtian  478208 10月 15 17:47 u-boot.imx

u-boot.bin与 u-boot.imx文件的区别:

u-boot.bin 就是编译出来的 uboot 二进制文件。
uboot 是个裸机程序,因此,需要在其前面加上头部 (IVT DCD 等数据 ) 才能在 I.MX6ULL 上执行。
u-boot.imx 文件 就是添加头部以后的 u-boot.bin u-boot.imx 就是我们最 终要烧写到开发板中的 uboot 镜像文件。

1.  烧写到 SD卡验证

imxdownload 软件拷贝到 uboot 源码根目录下,然后,使用 imxdownload 软件将 u-boot.bin
烧写到 SD 卡中。
(1)  首先,将 SD卡插入读卡器,读卡器最后插入电脑的 USB口。
(2)  其次,使 ubuntu系统识别到 SD卡。我这里的 ubuntu系统下 SD卡如下:
wangtian@wangtian-virtual-machine:~$ ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 10月 15 15:07 /dev/sda
brw-rw---- 1 root disk 8, 1 10月 15 15:07 /dev/sda1
brw-rw---- 1 root disk 8, 2 10月 15 15:07 /dev/sda2
brw-rw---- 1 root disk 8, 5 10月 15 15:07 /dev/sda5
wangtian@wangtian-virtual-machine:~$ ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 10月 15 15:07 /dev/sda
brw-rw---- 1 root disk 8,  1 10月 15 15:07 /dev/sda1
brw-rw---- 1 root disk 8,  2 10月 15 15:07 /dev/sda2
brw-rw---- 1 root disk 8,  5 10月 15 15:07 /dev/sda5
brw-rw---- 1 root disk 8, 16 10月 15 18:32 /dev/sdb
brw-rw---- 1 root disk 8, 17 10月 15 18:32 /dev/sdb1

插入 SD卡前后,可以看出 SD 卡为 /dev/sdb与 /dev/Sdb1,这里使用 /dev/sdb。

(3)  将 imxdownload 软件拷贝到 uboot根目录下,使用 imxdownload 软件将 u-boot.bin 烧写到 SD 卡中。

注意:Nand-Flash的核心板DRAM(即DDR) 容量位256MB,因此,DCD数据里面的DDR初始化代码得改。imxdownload 要添加一些参数,在最后面加上-256m参数!!!

烧写命令如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$ ./imxdownload u-boot.bin /dev/sdb -256m
I.MX6ULL bin download software
Edit by:zuozhongkai
Date:2019/6/10
Version:V1.1
log:V1.0 initial version,just support 512MB DDR3
    V1.1 and support 256MB DDR3
file u-boot.bin size = 471284Bytes
Board DDR SIZE: 256MB
Delete Old load.imx
Create New load.imx
Download load.imx to /dev/sdb  ......
[sudo] wangtian 的密码:
记录了926+1 的读入
记录了926+1 的写出
474356字节(474 kB,463 KiB)已复制,0.559043 s,849 kB/s

(4)  拔出 SD卡,将 SD卡插入 开发板。开发板的拨码开关拨到 SD卡启动。开发板上电。

串口打印如下:

U-Boot 2016.03 (Oct 15 2023 - 17:47:14 +0800)

CPU:   Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 32C
Reset cause: POR
Board: MX6ULL 14x14 EVK
I2C:   ready
DRAM:  256 MiB
NAND:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In:    serial
Out:   serial
Err:   serial
Net:   Board Net Initialization Failed
No ethernet found.
Normal Boot

串口打印信息可以看出, NXP官方的 uboot可以成功在 正点原子的 ALPHA-Nand-Flash的开发板上启动。

这里 DRAM(即 DDR)容量是 256MB。Nand-Flash容量是 512MB。

你可能感兴趣的:(uboot,系统移植篇,linux,arm开发)