Uboot编译:rm -rf 删除命令
tar xjf 解压uboot文件
patch
打补丁 -p1 指示忽略第一个斜杠前因为已经在当前目录。
打好补丁之后配置文件make 100ask24x0_config之后make
Uboot编译:rm -rf 删除命令
tar xjf 解压uboot文件
patch
打补丁 -p1 指示忽略第一个斜杠前因为已经在当前目录。
打好补丁之后配置文件make 100ask24x0_config之后make
配置文件是厂家提供好的。
Make后生成bin文件,在Windows下进入oflash目录烧写这个文件。选择Open jtag S2C2440 nand flash 0块
0 2 0 00这几个数字
烧写之后进入启动界面之后uboot命令 按help查看支持哪些命令。?Md 查看 md命令
Print 命令查看环境变量
设置环境变量 set xxxx xx save
reset重启
Uboot 的终极目的就是要启动内核。
Make config 就相当于执行命令
100ask24x0_config :unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0
MKCONFIG:= $(SRCTREE)/mkconfig
$(@:_config=) $(@ 表示目标文件100ask24x0 _config=) 表示替换掉他用后面的arm arm920t 100ask24x0 NULL
s3c24x0 100ask24x0
最后就执行这个命令
Mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0
找到脚本文件mkconfig #!/bin/sh表示他是用bin目录下sh解释执行,后面是传入的参数。这个配置过程它做了一些连接工作,把arm board arch 链接到现在的文件。
编译时的make 做的工作:
(.a文件表示所有编译好的文件打包成成的一个库)
OBJS = cpu/arm920/xxxx
Lib +=
ALL = $(obj)u- $(obj)u- $(obj) $(U_BOOT_NAND)
依赖$(obj
$(obj
$(obj)u-boot: depend version $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
-Map u- -o u-boot
得到的bin文件就是这个
.a文件如何组织连接在lds连接文件有说明
Linuxarm底层启动流程简介 来自淘豆网m.daumloan.com转载请标明出处.