uboot的库文件都是自己实现的,所以什么编译器编译出来的都一样。。比如glibc,uclibc,这些uboot没用,所以编译出来大小一样,linux内核也差不多,
glibc和uclibc只是针对app来说的
uboot的start.S有段搬运代码,这代码是内部flash或者norflash,所以如果启动时的flash是nandflash或者dataflash,那么要么在uboot之前再加一级bootstrap,像at91的很多例子,还有就是在start.S把搬运的代码实现nand和dataflash的过程,网上很多2440nand启动的uboot移植都是这么做的。
ftp://ftp.denx.de/pub/u-boot/
从这上面下一个uboot
我的板子是at91sam9260ek
make at91sam9260ek-config
这时候引起的变化是:
1,
#ln -s asm-arm asm
#ln -s arch-at91
asm-arm/arch
#ln -s proc-armv asm-arm/proc2,include下生成config.mk和config.h
config.mk里面的内容
ARCH = arm
CPU = arm926ejs
BOARD = at91sam9260ek
VENDOR = atmel
SOC = at91
config.h里面的内容
#define CONFIG_AT91SAM9260EK 1
#define CONFIG_SYS_USE_DATAFLASH_CS1 1
/* Automatically generated - do not edit */
#include
#include
跟平台有关系的几个文件或者文件夹:
cpu/$(CPU)/start.o
board/$(BOARDDIR)/lib$(BOARD).a
cpu/$(CPU)/lib$(CPU).a
cpu/$(CPU)/$(SOC)/lib$(SOC).a
lib_$(ARCH)/lib$(ARCH).a
include/configs/at91sam9260ek.h
这个文件里面都是各种配置
(以前版本好多事CONFIG和CFG开头,现在我看了下似乎都改成CONFIG了)
阅读(2012) | 评论(0) | 转发(0) |