uboot移植,板子不支持是咋回事?
为什么我的uboot镜像无法启动开发板?
写在前面:
我的开发板被我玩坏了,启动不了了,不怕,正好测试一下整个系统的移植过程。
uboot
其实只是bootloader中的一种,因为简单好用,所以用的越来越多。
uboot一般有三类
uboot官方的uboot代码
由uboot 官方维护开发的uboot 版本,版本更新快,基本包含所有常用的芯片。
半导体厂商的uboot代码
半导体厂商维护的一个uboot,专门针对自家的芯片,在对自家芯片支持上要比uboot官方的好。
开发板厂商的uboot代码
开发板厂商在半导体厂商提供的uboot基础上加入了对自家开发板的支持。
uboot移植
所以,这下大家都明白了吧,我们不能直接用官网上下载的uboot,要根据自己的开发板来移植。
综上:
uboot移植不是简单的把uboot放到自己的开发板里,而是在已有uboot上根据自己开发板外设进行修改之后再传到自己的开发板上,这才叫移植。
这里用来做训练,所以烧录到SD卡里,进行启动:
在虚拟机中:
root@Iron2222:/home/book/100ask_imx6ull-sdk# cd Uboot-2017.03/
root@Iron2222:/home/book/100ask_imx6ull-sdk/Uboot-2017.03# ls
Kbuild board examples tools u-boot.dtb
Kconfig cmd fs u-boot u-boot.lds
Licenses common include u-boot-dtb.bin u-boot.map
MAINTAINERS config.mk lib u-boot-dtb.imx u-boot.srec
Makefile configs net u-boot-dtb.imx.log u-boot.sym
README disk post u-boot-nodtb.bin
System.map doc scripts u-boot.bin
api drivers snapshot.commit u-boot.cfg
arch dts test u-boot.cfg.configs
root@Iron2222:/home/book/100ask_imx6ull-sdk/Uboot-2017.03# dd if=u-boot-dtb.imx of=/dev/sdb bs=1k seek=1 conv=fsync
511+0 records in
511+0 records out
523264 bytes (523 kB, 511 KiB) copied, 0.47503 s, 1.1 MB/s
开发板上:
U-Boot 2017.03-g8695c9c4bc-dirty (Nov 16 2021 - 07:55:09 -0500)
CPU: Freescale i.MX6ULL rev1.1 696 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 32C
Reset cause: POR
Model: Freescale i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
DRAM: 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
switch to partitions #0, OK
mmc0 is current device
Net: No ethernet found.
Normal Boot
Hit any key to stop autoboot: 0
成功!!!!