之前文章学习了编译 NXP(恩智浦)官网的 uboot源码。
本文将 编译好的 uboot程序烧写到 SD卡,并通过SD卡启动开发板。这里我所使用的开发板是 Nand-Flash版的核心板,规格如下:
DRAM(即 DDR)容量: 256MB
Nand-Flash 容量: 512MB。
NXP官方开发板uboot编译_凌肖战的博客-CSDN博客
编译完成 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文件的区别:
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。