我用iMX6处理器构建了一个定制板。 不幸的是,我还没有剥离Bootloader Config引脚。它们仍未连接BGA球。我确实可以访问UART1-3,JTAG和SD卡接口,还可以访问BOOT0和BOOT1引脚。
不,我想启动U引导程序。因此,我已经将自己的主板移植或添加到了配置中。我可以成功构建U-Boot(尚未在板上进行测试)。
然后我想,我可以将u-boot下载到i.MX6的内部RAM中。不幸的是,i.MX只有68kb的RAM。 u-boot约为160kb。
经过一番谷歌搜索后,我发现可以编译一个SP-Loader(SPL),该驱动程序将首先启动,然后将u-boot从SD卡加载到DDR3 RAM中,然后从外部启动常规U-Boot。 DDR3 RAM。
我也找到了这个自述文件: https://github.com/ARM-software/u-boot/blob/master/doc/README.SPL
这是我实际的defconfig文件:
CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_EVAL1A=y
CONFIG_MXC_UART=y
CONFIG_DM_MMC=y
CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_SPL_TEXT_BASE=0x0907000
CONFIG_SPL=y
CONFIG_SPL_BUILD=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL_FS_FAT=y
CONFIG_SPL=y
我对SYS_TEXT_BASE和SPL_TEXT_BASE有点困惑。 我认为SPL_TEXT_BASE是我的SPL将驻留的位置吗?因此907000是内部RAM的开始。 SYS_TEXT_BASE应该是外部DDR3 RAM的开始吗?
随便,使用上面的配置和以下命令:
make mrproper
make myBoard_config
make
我只得到常规的u-boot.bin,大小约为160kb。
我怎么了?如何将SPL编译为单独的二进制文件?
谢谢。