精品文档---下载后可任意编辑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 savereset 重启Uboot 的终极目的就是要启动内核。Make config 就相当于执行命令100ask24x0_config:unconfig@$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0MKCONFIG:= $(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 做的工作:用到了上面配置的 config.mk(.a 文件表示所有编译好的文件打包成成的一个库)OBJS = cpu/arm920/xxxxLib +=ALL = $(obj)u- $(obj)u-boot.bin $(obj)System.map $(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-boot.map -o u-boot得到的 bin 文件就是这个.a 文件如何组织连接在 lds 连接文件有说明链接地址在 0x33f80000 就是说应该在这个地址运行精品文档---下载后可任意编辑比如从 0x00000000 到 0x08000000 是 128M 空间2^27 次方=2^7*2^10*2^10=128M搜索命令 grep“” - nR内存一共 64M0x33f80000 空出 512KUBOOT 做一些工作:进入管理模式、关看门狗中断、初始化存储控制器、设置栈 IRQFIQ、重定位(NORflash 不能像内...