UBOOT在6410上的启动过程的疑惑
UBOOT一般都100多K,而6410的stepstone只有8K,UBOOT实现自己搬移到RAM是靠前8K的代码吗,而如果UBOOT只拷贝了部分代码到stepstone也能正常启动?而查看了u-boot.lds其中.text :
{
cpu/s3c64xx/start.o (.text) ----4.3K
cpu/s3c64xx/s3c6410/cpu_init.o(.text) ----1.9K
cpu/s3c64xx/onenand_cp.o (.text) ----1.7K
cpu/s3c64xx/nand_cp.o (.text) ----4.5K
board/samsung/mini6410/nand_6410.fo ----6.7K
cpu/s3c64xx/movi.o (.text) ----5.1K
*(.text)
lib_arm/div0.o
}
前3部分已经7.9K,如果从nandflash启动nand_cp.o中的函数是怎么被调用的?
start.s中调用了copy_uboot_to_ram,而此函数在nand_cp.c中,但是nand_cp.o并不在uboot的前8k中,不知道此处是如何调用的,感觉这块很不理解,哪位高手指点一下啊 看dis好像没有超出,不知道为什么
c7e0013c: eb000126 bl c7e005dc <copy_uboot_to_ram> 自己实验了一下,.o文件大小相加并不是最后生成.bin时的大小,又研究了一下.map,就个人理解应该是按照程序流程下来把要运行的代码依次链接起来,未被调用的代码不会链接进来,但有些代码的位置仍然很迷惑..... 我也在进行中,SD卡启动uplooking,但不能格式化。
如下:
##### Boot for SKY6410/TQ6410 Main Menu #####
##### EmbedSky USB download mode #####
Download u-boot or STEPLDR.nb1 or other bootloader to Nand Flash
Download Eboot (eboot.nb0) to Nand Flash
Download Linux Kernel (zImage.bin) to Nand Flash
Download LOGO Picture (logo.bin) to NandFlash
Download UBIFS image (root.ubi) to Nand Flash
Download YAFFS image (root.bin) to Nand Flash
Download Program to SDRAM and Run it
Boot the system
Format the Nand Flash
Set the boot parameters
Download User Program
Enter TFTP download mode menu
Reboot u-boot
Test Linux Image (zImage)
Enter your selection: 9
NAND format: device 0 whole chip
Really format this NAND flash? <y/n>
y
Erasing at 0x0 -- 0omplete.
Erasing at 0x280000 -- 1omplete.
Erasing at 0x500000 -- 2omplete.
Erasing at 0x7a0000 -- 3omplete.
Erasing at 0xa20000 -- 4omplete.
Erasing at 0xcc0000 -- 5omplete.
Erasing at 0xf40000 -- 6omplete.
页:
[1]