[原创]U-Boot全解析
0赞今天在网上和几个朋友讨论了U-Boot,各人有不同的看法,在此我就把这个问题的去往曾经与大家分享一下。
起源:
u-boot(Universal Boot Loader)是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序。遵循GPL条款;从FADSROM、8xxROM 、PPCBOOT逐步发展演化而来;当前版本号:见include/version.h中的定义。
平台相关:board, cpu, lib_ppc, lib_arm, include…平台无关common, net, fs, drivers…工具和文档有tools, doc。
具体如下图所示:
U-Boot程序结构:
board |
Board dependent files, RPXlite(mpc8xx), smdk2410(arm920t), sc520_cdp(x86) … |
cpu |
CPU specific files, mpc8xx, ppc4xx, arm720t, arm920t, xscale, i386 |
lib_ppc |
Files generic to PowerPC architecture |
lib_arm |
Files generic to ARM architecture |
lib_i386 |
Files generic to X86 architecture |
include |
Header Files and boardconfigs |
common |
Misc functions |
lib_generic |
Generic library functions |
net |
Networking code |
fs |
File System Code |
post |
Power On Self Test |
drivers |
Common used device drivers |
disk |
Hard disk interface code |
rtc |
Real Time Clock drivers |
dtt |
Digital Thermometer and Thermostat drivers |
3、设置内核参数的标记列表,复制镜像文件,进入内核的入口函数 。
4消亡
U-Boot入口函数start.S介绍:
8设置程序编译连接的起始地址( config.mk: TEXT_BASE = 0x33F80000 )。
这就是我对U-Boot的理解,有不对的地方大家拍砖啊!