编译添加了ALPHA开发板的NXP官方uboot

一.  简介

之前文章学习了 如何在NXP(恩智浦)官方 uboot 中添加正点原子的 ALPHA 开发板

如何在NXP(恩智浦)官方 uboot 中添加正点原子的 ALPHA 开发板,文章如下:

向NXP官方uboot添加Nand版开发板-CSDN博客

本文对 添加了 ALPHA开发板的 uboot源码进行编译。

二.  编译添加了ALPHA开发板的NXP官方uboot

1.  编写 编译脚本文件

在 uboot 根目录下创建一个编译脚本文件 ,名字可自定义 mx6ull_alientek_nand.sh。

这里所使用的配置文件为 之前我创建的新配置文件,即 configs目录下的 mx6ull_alientek_nand_defconfig 配置文件。

编译脚本文件内容如下:

#!/bin/sh

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_nand_defconfig
make  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 

更改  编译脚本文件的权限,命令如下:

chmod 777 mx6ull_alientek_nand.sh 

2.  编译 uboot

运行 编译脚本文件 mx6ull_alientek_nand.sh ,对 Uboot进行编译。命令如下:

./mx6ull_alientek_nand.sh 

如何确认编译了 之前我更改的 (针对 ALPHA开发板NAND版) uboot源码呢?

可以通过在 编译后的 Uboot源码工程中搜索 "mx6ull_alientek_nand.h" 文件确定。如果有很多地方调用了该头文件,说明是编译了更改后的针对 ALPHA-Nand版开发板的 uboot。

"mx6ull_alientek_nand.sh"文件即  uboot根目录下的 /include/configs下。

因为 "mx6ull_alientek_nand.sh"文件是针对 ALPHA-NAND版开发板的配置头文件。

进入 Uboot源码的根目录下,输入如下命令:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$ grep -nR "mx6ull_alientek_nand.h"
drivers/mmc/.mmc_write.o.cmd:40:  include/configs/mx6ull_alientek_nand.h \
drivers/mmc/.mmc.o.cmd:48:  include/configs/mx6ull_alientek_nand.h \
drivers/mmc/.fsl_esdhc.o.cmd:58:  include/configs/mx6ull_alientek_nand.h \
drivers/block/.disk-uclass.o.cmd:133:  include/configs/mx6ull_alientek_nand.h \
drivers/input/.input.o.cmd:134:  include/configs/mx6ull_alientek_nand.h \
drivers/i2c/.i2c_core.o.cmd:139:  include/configs/mx6ull_alientek_nand.h \
drivers/i2c/.mxc_i2c.o.cmd:154:  include/configs/mx6ull_alientek_nand.h \
drivers/crypto/fsl/.sec.o.cmd:135:  include/configs/mx6ull_alientek_nand.h \
drivers/serial/.serial_mxc.o.cmd:135:  include/configs/mx6ull_alientek_nand.h \
drivers/serial/.serial.o.cmd:136:  include/configs/mx6ull_alientek_nand.h \
drivers/pcmcia/.tqm8xx_pcmcia.o.cmd:138:  include/configs/mx6ull_alientek_nand.h \
drivers/thermal/.imx_thermal.o.cmd:42:  include/configs/mx6ull_alientek_nand.h \
drivers/thermal/.thermal-uclass.o.cmd:133:  include/configs/mx6ull_alientek_nand.h \

.........

可以看出,有很多地方调用了 "mx6ull_alientek_nand.h" 头文件。至此,可以确定编译了更改后的uboot。否则,在编译时未编译到针对 ALPHA开发板的更改代码。

3.   烧录运行

将 编译好的 u-boot.bin 裸机程序烧录到 SD卡,开发板从 SD卡启动。验证uboot是否可以在 ALPHA开发板启动。

(1)  插入SD卡到读卡器,读卡器插入 电脑usb口。连接到 ubuntu系统。

(2) 烧写 uboot到 SD卡。使用 imxdownload工具烧写uboot。命令如下:

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

(3) 开发板的拨码开关拨到从 SD卡启动,开发板上电,串口 Log信息如下:

U-Boot 2016.03 (Oct 17 2023 - 18:27:11 +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
Hit any key to stop autoboot:  0 

NAND read: device 0 offset 0x4000000, size 0x800000
 8388608 bytes read: OK

NAND read: device 0 offset 0x5000000, size 0x100000
 1048576 bytes read: OK
Bad Linux ARM zImage magic!

可以看出 ,uboot已经在 ALPHA开发板上启动。uboot的编译时间是 2023年10月17号18:27分。

说明添加 ALPHA开发板的 NXP官方 uboot可以在 ALPHA开发板上启动。但是,也显示LCD存在问题,网络也存在问题。后面解决这些问题。

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