移植u-boot到mini2440开发板。

时间:2021-12-19 14:46:35

<!-- /* 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

AuthorWenxy

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 material
1.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 ppcmipsniosm68k等);

第二个arm920t表示arm内核版本(包括:arm7tdmiarm10arm11等);

第三个 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 -lu-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)