您的位置:首页 > 运维架构 > Linux

移植u-boot到mini2440开发板。

2010-03-25 20:51 441 查看
<!--
/* 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 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

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息