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的驱动, 以及菜单的制作.
uboot补丁的分析的更多相关文章
- u-boot源码分析之C语言段
题外话: 最近一直在学习u-boot的源代码,从代码量到代码风格,都让我认识到什么才是真正的程序.以往我所学到的C语言知识和u-boot的源代码相比,实在不值一提.说到底,机器都是0和1控制的.感觉这 ...
- u-boot启动流程分析(2)_板级(board)部分
转自:http://www.wowotech.net/u-boot/boot_flow_2.html 目录: 1. 前言 2. Generic Board 3. _main 4. global dat ...
- [国嵌笔记][030][U-Boot工作流程分析]
uboot工作流程分析 程序入口 1.打开顶层目录的Makefile,找到目标smdk2440_config的命令中的第三项(smdk2440) 2.进入目录board/samsung/smdk244 ...
- 基于335X的UBOOT网口驱动分析
基于335X的UBOOT网口驱动分析 一.软硬件平台资料 1. 开发板:创龙AM3359核心板,网口采用RMII形式 2. UBOOT版本:U-Boot-2016.05,采用FDT和DM. 参考链 ...
- u-boot源码分析
Uboot源码分析 源码以u-boot-1.3.4为基准,主芯片采用at91sam9260,主要介绍uboot执行流程. uboot官网:http://www.denx.de/wiki/U-Boot/ ...
- Xilinx Uboot网卡驱动分析
1.MAC控制器.网卡.PHY.MDIO.mii.gmii.rgmii概念扫盲 网卡在功能上包含OSI模型的两个层,数据链路层和物理层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准 ...
- uboot makefile构建分析-续
前言 这篇博文是 uboot makefile构建分析的续篇,继续分析uboot构建u-boot.bin的过程 构建u-boot.bin过程分析 makefile一开始,就是确定链接脚本.在构建ubo ...
- uboot主Makefile分析(t配置和编译过程详解)
1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_c ...
- uboot主Makefile分析
VERSION = 1 PATCHLEVEL = 3 SUBLEVEL = 4 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(S ...
随机推荐
- 不修改代码就能优化ASP.NET网站性能的一些方法
阅读目录 开始 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不 ...
- 【emWin】例程七:绘制基本图形
简介:emWin 包含完整的2-D 图形库,可供大多数应用程序充分使用 本例程介绍如何使用图形API绘制基本的2-D图形 实验指导书及代码包下载: 链接:http://pan.baidu.com/s/ ...
- Objective-c防止数组越界而崩溃(全局效果)
数组越界其实是很基本的问题,但是解决起来除了count的判断,还有每个调用的时候都要去判断一遍 对于不明确的数据总会有崩溃的风险 然而 每次调用都判断 那是太累了 so ..runtime&c ...
- 获取真实Ip地址
/** * @author zhoulongqin * @see 获取客户端ip * @param * @return 客户端ip(String) webserve ip不一定获取的到 */ publ ...
- ACM集训的第。。。诶~不知道第几题=.=
题目: 郭铮鹏认为排序是一种很频繁的计算任务,所以他考虑了一个简单的问题:现在最多只有三值的排序问题.一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候.在这个任务中可能的值只有三种1,2 ...
- python图片添加水印(转载)
转载来自:http://blog.csdn.net/orangleliu/ # -*- encoding=utf-8 -*- ''''' author: orangleliu pil处理图片,验证,处 ...
- vim - char code and charset
In normal mode, type ga to display the decimal and hex values for the character under the cursor, or ...
- 28个Unix/Linux的命令行神器_转
28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...
- CentOS 7中防火墙 firewall-cmd命令
在 CentOS 7 iptable 防火墙已经被 firewall替代 1.暂时开放FTP服务 firewall-cmd --add-service=ftp 2.永久开放FTP服务 firewall ...
- 几种获取IP 根据IP获取地址的方法 JS,第三方 新浪 网易 腾讯
第一种是利用纯真ip数据库,这个可以在网上找到很多,缺点是更新有点慢. 第二种是利用门户网站的接口 目前已知的有腾讯.新浪.网易.搜狐和Google提供IP地址查询API,但是找得到的只有腾讯.新浪和 ...