i.mx6ull烧写uboot到SD卡启动

一、编译uboot

通过make、menuconfig 获得自己开发板的配置,我使用的是野火linux开发板,所以使用的配置是

make mx6ull_14x14_evk_defconfig
make ARCH=arm CORSS_COMPILE=arm-linux-guneabihf- menuconfig

最后会生成u-boot.bin文件,这就是uboot的程序文件,但是不能直接放到SD卡中,还需要在头部添加一些信息,进行启动引导。不过NXP有一个裸机工具可以直接构建。

二、获取裸机下载工具

在野火的仓库中可以获得
https://gitee.com/Embedfire/embed_linux_tutorial/blob/master/base_code/bare_metal/download-tool/download_tool.tar.bz2
任意将download_tool.tar.bz解压到一个位置

tar xvf download_tool.tar.bz2

会有dcd的三个文件,主要是用来使能系统时钟,初始化SDAM
dcd.bin
dcd.config
dcdgen.bin
mkimage.sh是用输出镜像文件并烧写,下面主要也是更改这个文件。
sdk20-app.img输出的镜像

三、更改参数

主要是更改以下几个参数:

#base_addr 指拷贝到DRAM的地址,uboot在menuconfig中配置的是入口地址是0x87800000也就是iamge_entry_point,但是前面还有一段用来存储信息,通过app_offset的值来设置,应该满足base_addr = image_entry_point - app_offset

base_addr=0x877ff000
app_offset=0x1000
image_entry_point=0x87800000

四、完成下载

./mkimage.sh …/ebf-buster-uboot/u-boot.bin

你可能感兴趣的:(uboot,i.mx6ull,linux)