第001节 uboot分析之编程体验
大标题格式1
小标题格式2
命令格式3
#################################################
一:嵌入式系统:
bootloader->linux内核->挂接根文件系统->应用程序
bootloader 的最终目的启动内核
##################################################
#####################################################3333
二:编译uboot源码:
(1)解压缩:
补丁:
u-boot-1.1.6_jz2440.patch
u-boot-1.1.6.tar.bz2
将以上两个文件放在服务器上面
清除原来的补丁文件
$tar xjf u-boot-1.1.6.tar.bz2
$cd u-boot-1.1.6/
(2)打补丁: patch -p? < .. 补丁文件
$patch < ../u-boot-1.1.6_jz2440.patch
$patch -p1 < ../u-boot-1.1.6_jz2440.patch
-p1表示忽略掉第一个斜杠之前的东西, 因为当前已经在u-boot-1.1.6文件下
book@www.100ask.org:~/work/system/u-boot-1.1.6$ -p1就是忽略u-boot-1.1.6这个当前文件夹
ps:补丁文件:
--表示原来的代码
++表示修改后的代码
例如:@@ -34,6 +34,8
表示原来的第34行代码开始之后的6行
被修改了8行代码
(3)配置: make 100ask24x0_config
(4)编译: 执行make指令 编译后生成uboot.bin
(5)烧写到开发板
终端打开:cmd
执行oflash烧写:
选择0.openJTAG
选择2.s3c2440
选择0.Nandflash prog
接上usb-device
####################################################
u-boot :
从Flash 读出 内核
放到SDRAM
启动内核
############################################################
三:u-boot 要实现的功能:
(1)读Flash + 写Flash
为了开发方便
1.写Flash
2.网卡
3.USB
(2)初始化SDRAM
1.初始化时钟
2.初始化串口
(3)启动内核
###############################################################
四:总结U-boot功能:
<1>*u-boot本质只是个单片机程序
-----------------------
<2>{硬件(单板)相关初始化:}
关闭看门狗
初始化时钟
初始化SDRAM
/*
为了开发方便添加开发功能:
烧写FLASH
网卡
USB
串口
*/
-----------------------
<3>读出内核从Flash中读出内核
(目的是为了将内核读到SDRAM中去)
--------------------------------
u-boot代码:
board
cpu
lib-arm
net
driver {nand, ....}
....
##################################################################