1 , the version number changes:
2008 Nian 8 months and earlier, named by version number: U-1.3.4.tar.bz2-the Boot (2008 Nian 8 updated monthly )
2008 Nian 8 month later date are by name. The latest version: U-2011.06.tar.bz2-the Boot ( 2011 Nian 6 update July)
2 , the directory structure changes:
u-boot directory structure is mainly experienced 2 times change, u-boot version for the first time from the u-boot-1.3.2 began to change, the main increase api content; the biggest change is the second time, from 2010.6 start version .
uboot-2010.03 and previous versions
├── api stored uboot interface function provided
├── board according to the different boards custom code, the code number
├── common common code, covering all aspects, the command line has been processed based
├── cpu architecture-dependent code, uboot highlight
├── disk to disk partitions codes
├── doc document, a bunch of README files beginning
├── drivers drive, very rich, each type of device drive occupies a subdirectory
├── examples sample program
├── fs file systems, embedded development board supports common file system
├── include header files, which have been commonly headers based
├── lib_ [ arch ] Associated with the general architecture of the library
├── nand_spl NAND memory associated codes
├── net network-related code compact stack
├── onenand_ipl
├── POST POST program
└── tools assistant program for compiling and checking uboot target file
From u-boot-2010.06 version began to merge relevant content architecture, the original cpu and lib_arch content fully integrated into the arch , and which increase inlcude folder; isolated generic library file lib .
uboot-2010.06 and later
├── api stored uboot interface function provided
├── arch architecture-dependent code, uboot highlight
├── board tailored to the different boards codes, lot codes
├─ ─ common generic code that covers all aspects, has been the main command-line processing
├── disk to disk partitions codes
├── doc document, a bunch of README files beginning
├── drivers drive, very rich, each type of device drive occupies a subdirectory
├── examples sample program
├── fs file systems, embedded development board supports common file system
├── include header files, which have been commonly header files based
├── lib universal library
├── nand_spl NAND memory associated codes
├── net network-related code compact stack
├── onenand_ipl
├── POST POST program
└── tools support program for compiling and checking uboot target file
3 , directory of transplanted work involved
From uboot code is the root directory, we can see that it has a very large, function is also very rich.
The main job is to look at the corresponding transplant processor and development board code 2010.06 version later processor - code set in Arch , Board directory. ( Previous version mainly in the cpu and board directory )
look at the arch directory:
arch
├── ARM
├── AVR32
├── the Blackfin
├── i386
├── m68k
├── MicroBlaze
├── mips
├── the nios2
├ PowerPC - the
├── SH
└── SPARC
arch directory contents cleaner than previous versions, each subdirectory represents a processor type, type the subdirectory name is the name of the processor.
We are transplanted mips processor, so refer to arch / mips directory:
arch/mips
├── cpu
├── include
└── lib
arch / mips There are three directories under the directory, the directory also other processors this structure:
the CPU subdirectories corresponding to the A processor of different product models or series ;
the include subdirectory processor is used in header files;
lib directory of the application to common code processor;
Let's look at cpu content under, Arch / mips / cpu contents of the directory:
Arch / MIPS / CPU
├── asc_serial.c
├── asc_serial.h
├── au1x00_eth.c
├── au1x00_serial.c
├── au1x00_usb_ohci.c
├── au1x00_usb_ohci.h
├── cache.S
├── the config.mk
├── cpu.c
├── incaip_clock.c
├── incaip_wdt.S
├── interrupts.c
├── the Makefile
└── Start.S entire uboot entry points
The latest version (2011.6 version start ) in the cpu directory established mips32 directory, incaip and au1x00 also classified in different directories.
u-boot.lds is ld program that is a script file connector. This document describes how to connect the target file, ld program in accordance with the needs of the connection according to the instructions of this document files with different target development board for programming to generate program of.
The files in board corresponding directory.