jianweixu852 发表于 2015-5-28 11:02:32

关于FL2416开发板 mmc.bin

mmc.bin是用于sd 卡启动的文件,在uboot顶层的Makefile中看到mmc.bin的生成步骤:
# padding to 512k the u-boot.bin
                @cat u-boot.bin > u-boot-2x.bin    #创建u-boot-2x.bin文件,并把u-boot.bin内容写入
                @cat u-boot.bin >> u-boot-2x.bin #再次追加写入u-boot.bin内容
                @split -d -a 1 -b 512k u-boot-2x.bin u-boot-512k.bin

# spiliting u-boot for BL1 (8kb)
                @split -d -a 2 -b 8k u-boot.bin u-boot-8k.bin

# creating empty env space (16kb)
#                @dd if=/dev/zero of=empty.env bs=16384 count=1 2> /dev/null

# merging the bl1 and env with padded 512k binary
#                @cat empty.env >> u-boot-512k.bin0
                @cat u-boot-8k.bin00 >> u-boot-512k.bin0

# renaming and change mode
                @mv u-boot-512k.bin0 mmc.bin
                chmod 777 mmc.bin

问题:为什么uboot.bin写入u-boot-2x.bin两次,然后取u-boot-2x.bin的钱512k,再追加uboot.bin的前8k,最后拼起来就是mmc.bin,可以从SD卡启动的bootloader,哪位大神给解释解释?

yangyabo02 发表于 2015-8-11 08:38:09

这个是为了凑整烧写文件的大小,可能和烧写工具的要求有关,其实执行的时候是不会执行后面的内容的,如果复制一遍不足512K,还可能会在复制一遍。
页: [1]
查看完整版本: 关于FL2416开发板 mmc.bin