接下来分析一下韦老师的uboot补丁:

----------------------------------------------------------------------------------------------------------------------------------------------------

--- u-boot-1.1.6/board/100ask24x0/100ask24x0.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c    2010-11-26 12:54:37.034090906 +0800

...

增加100ask24x0/100ask24x0.c文件

里面有

DECLARE_GLOBAL_DATA_PTR;

int board_init (void){...}

int dram_init (void){...}

ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info){...}

理论上照搬自smdk2410板子的同一类型文件.

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/board/100ask24x0/boot_init.c u-boot-1.1.6_jz2440/board/100ask24x0/boot_init.c
--- u-boot-1.1.6/board/100ask24x0/boot_init.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/boot_init.c    2010-11-26 12:54:37.042080086 +0800

增加boot_init.c

----------------------------------------------------------------------------------------------------------------------------------------------------

照搬smdk2410上面的config.mk

diff -urN u-boot-1.1.6/board/100ask24x0/config.mk u-boot-1.1.6_jz2440/board/100ask24x0/config.mk
--- u-boot-1.1.6/board/100ask24x0/config.mk    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/config.mk    2010-11-26 12:54:37.022042833 +0800

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/board/100ask24x0/flash.c u-boot-1.1.6_jz2440/board/100ask24x0/flash.c
--- u-boot-1.1.6/board/100ask24x0/flash.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/flash.c    2010-11-26 12:54:37.022042833 +0800

这个是nand_flash的驱动

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/board/100ask24x0/lowlevel_init.S u-boot-1.1.6_jz2440/board/100ask24x0/lowlevel_init.S
--- u-boot-1.1.6/board/100ask24x0/lowlevel_init.S    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/lowlevel_init.S    2010-11-26 12:54:37.042080086 +0800

启动初始化的汇编, 也就是确定sdram, nand_flash的内存地址映射, 前面也说过这个文件也是要检查的.

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/board/100ask24x0/Makefile u-boot-1.1.6_jz2440/board/100ask24x0/Makefile
--- u-boot-1.1.6/board/100ask24x0/Makefile    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/Makefile    2010-11-26 12:54:37.030096240 +0800

Makefile文件也是来自smdk2410的, 改了一下要编译的目标文件名

+COBJS    := 100ask24x0.o boot_init.o

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/board/100ask24x0/u-boot.lds u-boot-1.1.6_jz2440/board/100ask24x0/u-boot.lds
--- u-boot-1.1.6/board/100ask24x0/u-boot.lds    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/u-boot.lds    2010-11-26 12:54:37.042080086 +0800

链接脚本文件也是照抄, 并无更改.

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/board/MAI/bios_emulator/scitech/src/v86bios/lex.l u-boot-1.1.6_jz2440/board/MAI/bios_emulator/scitech/src/v86bios/lex.l
--- u-boot-1.1.6/board/MAI/bios_emulator/scitech/src/v86bios/lex.l    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/board/MAI/bios_emulator/scitech/src/v86bios/lex.l    1970-01-01 07:00:00.000000000 +0700

之前没涉及这个, 貌似是基本把这个文件给清空了.

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/common/cmd_bootm.c u-boot-1.1.6_jz2440/common/cmd_bootm.c
--- u-boot-1.1.6/common/cmd_bootm.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/common/cmd_bootm.c    2010-11-26 12:54:38.150155640 +0800

diff -urN u-boot-1.1.6/common/cmd_load.c u-boot-1.1.6_jz2440/common/cmd_load.c
--- u-boot-1.1.6/common/cmd_load.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/common/cmd_load.c    2010-11-26 12:54:38.142063808 +0800

diff -urN u-boot-1.1.6/common/cmd_menu.c u-boot-1.1.6_jz2440/common/cmd_menu.c
--- u-boot-1.1.6/common/cmd_menu.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/common/cmd_menu.c    2010-11-26 12:54:38.158053077 +0800

启动命令, 菜单一类吧

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/common/cmd_nand_legacy.c u-boot-1.1.6_jz2440/common/cmd_nand_legacy.c
--- u-boot-1.1.6/common/cmd_nand_legacy.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/common/cmd_nand_legacy.c    2010-11-26 12:54:38.130318758 +0800

diff -urN u-boot-1.1.6/common/env_nand.c u-boot-1.1.6_jz2440/common/env_nand.c
--- u-boot-1.1.6/common/env_nand.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/common/env_nand.c    2010-11-26 12:54:38.170264643 +0800

这个才是nand支持.

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/cpu/arm920t/s3c24x0/interrupts.c u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/interrupts.c
--- u-boot-1.1.6/cpu/arm920t/s3c24x0/interrupts.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/interrupts.c    2010-11-26 12:54:37.726297356 +0800

中断定义, 增加

diff -urN u-boot-1.1.6/cpu/arm920t/s3c24x0/Makefile u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/Makefile
--- u-boot-1.1.6/cpu/arm920t/s3c24x0/Makefile    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/Makefile    2010-11-26 12:54:37.726297356 +0800

diff -urN u-boot-1.1.6/cpu/arm920t/s3c24x0/nand_flash.c u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/nand_flash.c
--- u-boot-1.1.6/cpu/arm920t/s3c24x0/nand_flash.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/nand_flash.c    2010-11-26 12:54:37.726297356 +0800

diff -urN u-boot-1.1.6/cpu/arm920t/s3c24x0/nand_flash_legacy.c u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/nand_flash_legacy.c
--- u-boot-1.1.6/cpu/arm920t/s3c24x0/nand_flash_legacy.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/nand_flash_legacy.c    2010-11-26 12:54:37.726297356 +0800

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/cpu/arm920t/s3c24x0/speed.c u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/speed.c
--- u-boot-1.1.6/cpu/arm920t/s3c24x0/speed.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/cpu/arm920t/s3c24x0/speed.c    2010-11-26 12:54:37.730289845 +0800

diff -urN u-boot-1.1.6/cpu/arm920t/start.S u-boot-1.1.6_jz2440/cpu/arm920t/start.S
--- u-boot-1.1.6/cpu/arm920t/start.S    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/cpu/arm920t/start.S    2010-11-26 12:54:37.718042180 +0800

这个跟之前的是一样的.

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/drivers/dm9000x.c u-boot-1.1.6_jz2440/drivers/dm9000x.c
--- u-boot-1.1.6/drivers/dm9000x.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/drivers/dm9000x.c    2010-11-26 12:54:38.306059089 +0800

增加网络的支持

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/drivers/jedec_flash.c u-boot-1.1.6_jz2440/drivers/jedec_flash.c
--- u-boot-1.1.6/drivers/jedec_flash.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/drivers/jedec_flash.c    2010-11-26 12:54:38.462156280 +0800

支持jedec的专用flash驱动

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/drivers/Makefile u-boot-1.1.6_jz2440/drivers/Makefile
--- u-boot-1.1.6/drivers/Makefile    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/drivers/Makefile    2010-11-26 12:54:38.422209313 +0800

增加了驱动, 要修改Makefile, 让其编译

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/drivers/nand/nand_base.c u-boot-1.1.6_jz2440/drivers/nand/nand_base.c
--- u-boot-1.1.6/drivers/nand/nand_base.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/drivers/nand/nand_base.c    2010-11-26 12:54:38.406038793 +0800

diff -urN u-boot-1.1.6/drivers/nand/nand_util.c u-boot-1.1.6_jz2440/drivers/nand/nand_util.c
--- u-boot-1.1.6/drivers/nand/nand_util.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/drivers/nand/nand_util.c    2010-11-26 12:54:38.402251606 +0800

diff -urN u-boot-1.1.6/drivers/nand_legacy/nand_legacy.c u-boot-1.1.6_jz2440/drivers/nand_legacy/nand_legacy.c
--- u-boot-1.1.6/drivers/nand_legacy/nand_legacy.c    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/drivers/nand_legacy/nand_legacy.c    2010-11-26 12:54:38.414220270 +0800

放在驱动文件夹下面, 应该是驱动

diff -urN u-boot-1.1.6/drivers/usb/2440usb.h u-boot-1.1.6_jz2440/drivers/usb/2440usb.h
--- u-boot-1.1.6/drivers/usb/2440usb.h    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/drivers/usb/2440usb.h    2010-11-26 12:54:38.322059054 +0800

usb驱动

diff -urN u-boot-1.1.6/drivers/usb/Makefile u-boot-1.1.6_jz2440/drivers/usb/Makefile
--- u-boot-1.1.6/drivers/usb/Makefile    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/drivers/usb/Makefile    2010-11-26 12:54:38.326057824 +0800

usb驱动编译

支持usb是为了从usb下载文件系统??

diff -urN u-boot-1.1.6/drivers/usb/usb.h u-boot-1.1.6_jz2440/drivers/usb/usb.h
--- u-boot-1.1.6/drivers/usb/usb.h    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/drivers/usb/usb.h    2010-11-26 12:54:38.330048254 +0800

diff -urN u-boot-1.1.6/drivers/usb/usbin.c u-boot-1.1.6_jz2440/drivers/usb/usbin.c
--- u-boot-1.1.6/drivers/usb/usbin.c    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/drivers/usb/usbin.c    2010-11-26 12:54:38.326057824 +0800

diff -urN u-boot-1.1.6/drivers/usb/usbinit.h u-boot-1.1.6_jz2440/drivers/usb/usbinit.h
--- u-boot-1.1.6/drivers/usb/usbinit.h    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/drivers/usb/usbinit.h    2010-11-26 12:54:38.330048254 +0800

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/include/asm-arm/mach-types.h u-boot-1.1.6_jz2440/include/asm-arm/mach-types.h
--- u-boot-1.1.6/include/asm-arm/mach-types.h    2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/include/asm-arm/mach-types.h    2010-11-26 12:54:38.046150949 +0800
@@ -737,6 +737,7 @@
 #define MACH_TYPE_CB3RUFC              726
 #define MACH_TYPE_MP2USB               727
 #define MACH_TYPE_PDNB3               1002
+#define MACH_TYPE_SMDKS3C2440          782
 
 #ifdef CONFIG_ARCH_EBSA110
 # ifdef machine_arch_type

增加机器码, 这个估计后面linux内核启动用得着.

----------------------------------------------------------------------------------------------------------------------------------------------------

diff -urN u-boot-1.1.6/include/configs/100ask24x0.h u-boot-1.1.6_jz2440/include/configs/100ask24x0.h
--- u-boot-1.1.6/include/configs/100ask24x0.h    1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/include/configs/100ask24x0.h    2010-11-26 12:54:37.958266315 +0800

这里是启动时候的环境变量

整体来说, 增加了网络, nandflash支持, usb的驱动, 以及菜单的制作.

uboot补丁的分析的更多相关文章

  1. u-boot源码分析之C语言段

    题外话: 最近一直在学习u-boot的源代码,从代码量到代码风格,都让我认识到什么才是真正的程序.以往我所学到的C语言知识和u-boot的源代码相比,实在不值一提.说到底,机器都是0和1控制的.感觉这 ...

  2. u-boot启动流程分析(2)_板级(board)部分

    转自:http://www.wowotech.net/u-boot/boot_flow_2.html 目录: 1. 前言 2. Generic Board 3. _main 4. global dat ...

  3. [国嵌笔记][030][U-Boot工作流程分析]

    uboot工作流程分析 程序入口 1.打开顶层目录的Makefile,找到目标smdk2440_config的命令中的第三项(smdk2440) 2.进入目录board/samsung/smdk244 ...

  4. 基于335X的UBOOT网口驱动分析

    基于335X的UBOOT网口驱动分析 一.软硬件平台资料 1.  开发板:创龙AM3359核心板,网口采用RMII形式 2.  UBOOT版本:U-Boot-2016.05,采用FDT和DM. 参考链 ...

  5. u-boot源码分析

    Uboot源码分析 源码以u-boot-1.3.4为基准,主芯片采用at91sam9260,主要介绍uboot执行流程. uboot官网:http://www.denx.de/wiki/U-Boot/ ...

  6. Xilinx Uboot网卡驱动分析

    1.MAC控制器.网卡.PHY.MDIO.mii.gmii.rgmii概念扫盲 网卡在功能上包含OSI模型的两个层,数据链路层和物理层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准 ...

  7. uboot makefile构建分析-续

    前言 这篇博文是 uboot makefile构建分析的续篇,继续分析uboot构建u-boot.bin的过程 构建u-boot.bin过程分析 makefile一开始,就是确定链接脚本.在构建ubo ...

  8. uboot主Makefile分析(t配置和编译过程详解)

    1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_c ...

  9. uboot主Makefile分析

    VERSION = 1 PATCHLEVEL = 3 SUBLEVEL = 4 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(S ...

随机推荐

  1. Notif

    <?php/** * 支付宝通知接口 * @author YinKu.Alan * @date 2016-03-06 */class NotifyAction extends CommonAct ...

  2. iOS圆饼图和圆环的绘制,并且添加引线

    在开发中经常遇到统计之类的需求,特此封装了一个简单的圆饼图和圆环图,效果图如下 代码下载地址:https://github.com/minyahui/MYHCricleView.git

  3. ASP.Net一键自动化更新代码、编译、合并dll、压缩js、css、混淆dll、zip打包、发布到测试环境的bat批处理

    不废话,直接代码: D: cd D:\src\testproj\PrecompiledWeb svn revert ../ -R svn update .. rmdir BS /S /Q C:\Win ...

  4. TID大会学习心得之敏捷软件架构-微服务

    敏捷微服务构建 王威: TW咨询师.架构转型教练.敏捷技术教练 敏捷的目标 敏捷的目标是提升效率?降低成本?减员增效? 敏捷:关注价值.快速反馈.快速响应.其的目标是提升响应力,响应力的提升不一定会提 ...

  5. Linux服务器搬迁记(一)

    更换服务器必过之坑(一):文件转移 Linux服务器一般通过ssh进行远程操作,为了避免各种权限问题导致转移不成功,我一般直接使用root账户.这次却是行不通了.ssh进行文件传输,默认禁止用root ...

  6. Git实用命令手册

    下载代码 git clone <git地址> 用户配置 git config —-global user.name <name> git config —-global use ...

  7. web api与webservice(转)

    webservice走HTTP协议和80端口而你说的api,用的协议和端口,是根据开发人员定义的 这么说吧,api类似于cs架构,需要同时开发客户端API和服务器端程序而WebService则类似于b ...

  8. Spring操作指南-IoC基础环境配置(基于注解手动装配)

    Source: http://code.taobao.org/p/LearningJavaEE/src/LearningSpring002%20-%20Wiring%20beans%20with%20 ...

  9. centos7作为web服务器优化

    centos7作为web服务器优化 原文 http://itindex.net/detail/51140-centos7-web-服务器 1.加大打开文件数的限制(open files) 查看 uli ...

  10. javascript的缓动效果

    这部分对原先的缓动函数进行抽象化,并结合缓动公式进行强化.成品的效果非常惊人逆天.走过路过不要错过. 好了,打诨到此为止.普通的加速减速是难以让人满意的,为了实现弹簧等让人眼花缭乱的效果必须动用缓动公 ...