伟东山视频自学笔记——第9课第1节 u-boot分析之编译体验



补丁文件:
diff -urN u-boot-1.1.6/board/100ask24x0/100ask24x0.c u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c
--- 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
@@ -0,0 +1,96 @@


diff -urN  原文件路径  打了补丁后的文件路径
 ---- 原来的文件路径
 ++++ 打了补丁后的文件路径
 @@ -从第几行开始,一共几行结束  +从第几行开始,一共几行结束 @@
 比如:
 @@ -1,6  +1,8@@
 1
 2
 +内容
 3
 +内容
 4
 5
 6
 
 
制作.patch
1.diff -urN 111.c 222.c > 333.patch
2.patch < 333.patch     
***********就把333.patch的补丁内容放到222.c中了
 
 

 打补丁:patch -p1 < ../u-boot-1.1.6_jz2440.path
 
 
 配置  make  100ask24x0_config
 
 
 编译:make
 ********************************编译完成后就生成了u_boot.bin了
 
 
一.
   u-boot的最终目的是启动内核:  ①从flash上读出内核,读出放倒sdram上去
                     ②启动内核
              
二.   那么u-要实现上面的功能必须:
                  
                  
                  ①要会读flash
                  ②要会写flash(可以是另外自己加的功能,为了开发方便,在u-boot运行的时候支持烧写)
                  ③能写入sdram,既然要用到sdram那就必须初始化SDRAM
                     初始化SDRAM的时候又要初始化时钟
                     要想启动u-boot的时候输入命令等一系列操作还需要初始化串口
                  ④要能启动内核        
                  
                  
                  
                  
                  
                  关看门狗
                  初始化时钟(一上电开发板是以12兆的频率来运行的)
    硬件相关的初始化 <=     初始化化sdram
                  设置栈(让sp寄存器指向某个内存,调用c函数,这个C函数要做的事情就是读出内核,启动内核)
                  从flash读出内核,写到sdram
                  启动内核
                                                    u-boot其实就是一个裸板程序
                  烧写flash
                  烧写的内容可以从网络上来,也可以从usb来,所以还需要:
     添加新的功能  <=          网卡
                  usb
                  串口

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值