<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->
移植u-boot-2009.11.1
Author :Wenxy
Email: wen_kernel@163.com
Date: 2010-3-3
编译环境: VMware, Linux Fedaro Core 4(FC4).
开发板: Mini 2440
u-boot 手册: http://www.denx.de/wiki/DULG/Manual
官方网址: http://www.denx.de/
源代码包: ftp://ftp.denx.de/pub/u-boot/
参考资料:
1. Chinese material1.1 移植u-boot-2009.03到友善之臂mini2440开发板step1
http://www.stars625.com/portinguboottomini2440step1.html
http://www.stars625.com/portinguboottomini2440step2.html
http://www.stars625.com/portinguboottomini2440step3.html
1.2 移植U-Boot.1.3.1到S3C244和S3C2410
http://blog.chinaunix.net/u1/34474/showart_487416.html
1.3 u-boot移植到mini2440,u-boot版本2008.10
http://blog.csdn.net/hugerat/archive/2009/01/21/3847025.aspx
1.4 文章列表 - Bootloader
http://blog.chinaunix.net/u1/34474/article_62956.html
1.5 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3725188&bbs_page_no=4&bbs_id=1032
1.6 http://blog.chinaunix.net/u1/34474/
http://github.com/tekkamanninja/U-boot-2009.11_tekkaman
2. Englsih material
2.1 The DENX U-Boot and Linux Guide (DULG) for canyonlands
http://www.denx.de/wiki/DULG/Manualv
2.2 Fork of the u-boot for for Samsung based MINI2440 board
homepage URL http://code.google.com/p/mini2440/
http://repo.or.cz/w/u-boot-openmoko/mini2440.git
2.3 description Support for the Chinese Samsung S3C2440 based development boards
http://repo.or.cz/w/openembedded/mini2440.git
2.4 HOWTO: Compiling and Flashing U-Boot onto Mini2440
http://bill.station51.net/index.php?post/2010/01/16/U-Boot-on-Mini2440
1. 编译过程
移植 u-boot-2009.11.1 过程 :
解压 U-Boot ,把里面的 README 好好看一下,里面已经基本介绍了整个移植过程和配置文件的选项,基本的移植步骤都包括以下三个步骤:
1.1 、在 U-Boot 源码 Board 中找一款与目标开发板配置相近的文件夹,在这里我们进入 board/samsung 目录,把 smdk2410 复制一份并命名为 mini2440 ,进入 mini2440 目录,将里面的 smdk2410.c 改成 mini2440.c ,同时 Makefile 中也要作相应的更改。
1.2 、进入 include/configs 目录,将 smdk2410.h 复制一份并命名为 mini2440.h 。
1.3 、打开 U-Boot 根目录下的 Makefile 文件,搜索 smdk2410 ,定位到 smdk2410_config : unconfig 处,对照该格式在下面加两行:
mini2440_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 samsung s3c24x0
注意在 @$(MKCONFIG) 前要加入一个 TAB 这是 Makefile 文件规则规定的,
在第二行的
第一个 arm 表示 MCU 平台(包括: i386 、 ppc 、 mips 、 nios 、 m68k 等);
第二个 arm920t 表示 arm 内核版本(包括: arm7tdmi 、 arm10 、 arm11 等);
第三个 mini2440 对应开发板所在文件夹 board/samsung/mini2440 ;
第四个 samsung 对应开发板所在文件夹上层目录 board /samsung ,如果 mini2440 目录就直接放在 board 目录下,那么此处应写 NULL ;
第五个 s3c24 × 0 对应 MCU 型号。
完成了上面三步,可以执行以下命令进行编译:
make mini2440_config
make
如果成功编译出 u-boot.bin , 花了一个小时终于编译通过:
[root@localhost u-boot-2009.11.1]# ls -l u-boot.bin
-rwxr-xr-x 1 root root 100636 Feb 27 17:33 u-boot.bin
注意,交叉工具链版本,
[root@localhost u-boot-2009.11.1]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)