zoukankan      html  css  js  c++  java
  • uboot补丁的分析

    接下来分析一下韦老师的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的驱动, 以及菜单的制作.

  • 相关阅读:
    GUC-3 模拟CAS算法
    GUC-2 原子性
    GUC-1 volatile
    NIO-5补充
    NIO-4pipe
    NIO-3网络通信(非阻塞)
    NIO-3网络通信
    NIO-1缓冲区(Buffer)
    NIO-2通道(Channel)
    eclipse安装spring boot插件spring tool suite
  • 原文地址:https://www.cnblogs.com/Montauk/p/6236055.html
Copyright © 2011-2022 走看看