FL2440的u-boot-2010.09移植(一)

先说下  我是结合yanghao和韦东山老师两位的博客文档自己移植U-boot来搭建整个系统,我用的u-boot-2010.09版本来移植的,对不同的开发板基本上是通用的,最多就是Not
flash需要更改一些参数吧了,有可能文章写得不是很全,可以直接看补丁文件。                                                                                                                                                             自己移植这一块确实挺幸苦的,今天在这里写出来,希望给大家带来帮助,同时也是给自己的一个总结,更方便查找笔记。在这里我讲写出U-boot,kernel,rootfs怎么的移植步骤,这是一个耗时间的过程,不急慢慢写,呵呵。这里面移植U-boot是最难的,你会学到很多东西,毕竟是跟硬件打交道,好了废话不多说。

虚拟机:VMWare--ubuntu9.0

开发板:SDRAM:64M    ROM:NAND FLASH 256M  

U-boot下载地址:u-boot-2010.09.tar.bz2 

补丁文件下载地址:u-boot-2010.09_jz2440.patch

一 在Uboot中添加jz2440开发板的支持

#tar -xjvf u-boot-2010.09.tar.bz2  /*测试下自己的交叉编译器是否支持该版本的U-boot*/

#make smdk2410_config

make  //如果编译不出错的话就可以开始移植了,我用的交叉编译器版本是一下是查看自己交叉编译器的版本

如果有错请更换交叉编译器版本。

#arm-linux-gcc -v    //查看自己的交叉编译版本
/work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/specs

# cd u-boot-2010.09.tar.bz2 

#make distclean

二 u-boot移植步骤方向说明:

1.以SMDK2410为模板,建立好开发板相关的文件,并利用交叉编译器编译生成.bin文件;

2.再修改相关时钟频率使之适应开发板硬件配置,让uboot能在ram中运行调试成功(即串口能打印数据);

3.修改norflash相关配置,使uboot能支持norfalsh的读写,附:uboot默认支持从norflash启动;

4.修改nandflash相关配置,使uboot能支持nandflash的读写;使uboot能从nand
flash启动;

5.增加uboot的功能,如网络(此开发板是DM9000A)、USB等(这个功能没实现);

6.修改相应配置,使uboot能引导Linux系统启动;

7。增加yaffs2文件系统的烧写;

三、让U-B00T在内存中运行起来

(一)创建开发板文件夹

1.进入board/samsung目录,拷贝目录中的smdk2410文件夹放在当前目录下,并重命名为jz2440(这是板子配置文件夹);

2.进入jz2440 ,把文件smdk2410.c重命名为jz2440 .c(uboot启动第二步执行的文件);打开Makefile,修改COBJS:=jz2440 .o
flash.o

(二)创建配置文件

进到include/configs目录下,找到配置文件smdk2410.h,将其拷贝并重命名为jz2440.h(uboot相关各种宏定义,关键文件);

(三)创建编译规则

打开顶层Makefile(注意是在根目录下),修改(红色部分):

老版本:

1.添加编译板配置文件时用到的命令(即makejz2440 _config ;注意@之前加的是tab,不是空格)

smdk2410_config :unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0

jz2440 _config :
unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t
jz2440  samsung s3c24x0   //命令前面一定留个tab行

新版本:

smdk2410        arm     arm920t         -               samsung         s3c24x0
jz2440          arm     arm920t         -               samsung         s3c24x0

四 编译U-boot

编译之前打开/include/configs/jz2440.h;增加宏定义
  

#define CONFIG_SKIP_LOWLEVEL_INIT
  1 //跳过底层初始化,测试的u-boot.bin直接运行在SDRAM中

/*#define
CONFIG_SKIP_RELOCATE_UBOOT    1  */ 这是针对Nor FLASH 运行的 注释掉u-boo才能初始化CPU  避免重新定位

   1.make distclean //清空之前操作生成的各种文件

   2. makejz2440_config
//生成配置文件

   3.make //编译.bin文件

若能成功编译出.bin文件,则说明交叉编译器没问题,初步移植也没问题,此时的.bin 文件只是基于smdk2410开发板的,在咱们的开发板是jz2440上不能适用的,所以在此基础上还要对相应的文件进行修改配置,例如要修改jz2440.c;jz2440.h等文件使其能支持本开发板,以上的步骤是很通用的。
                                             

到这里这个U-boot的模板就建立起来了,把u-boot.bin烧写在SDRAM中,但是不会显示任何信息,那是对的,我们还没有初始化时钟,下章我们主要在start.S中修改文件。

时间: 2024-09-20 06:05:58

FL2440的u-boot-2010.09移植(一)的相关文章

针对FL2440开发板的u-boot-2010.09版本补丁

这是针对FL2440开发板的u-boot-2010.09版本移植代码补丁,请先下载原版u-boot-2010.09下载地址,然后解压进入目录打补丁即可,补丁下载链接地址:u-boot2010.09_fl2440.patch 首先你的主机应该配置好交叉编译环境,最好使用arm-linux-4.3及以上版本,配置时输入:make fl2440_config,然后执行make即可执行生成u-boot.bin.本移植补丁中支持FL2440,3.5寸的LCD,256M NAND Flash,4M的NOR

FL2440的U-boot-2010.09移植(七)LCD的支持

一.LCD时序配置      fl2440开发板的LCD是3.5寸屏型号是WXCAT35-TG3#001,这是一款320x240分辨率的TFT LCD屏,先来了解一下TFT LCD的时序如下: 图1 TFT LCD时序 (1)VSYNC信号来一个脉冲时,表示一帧的开始 (2) VSPW表示VSYNC信号的脉冲宽度为(VSPW+1)个HSYNC信号周期,即(VSPW+1)行,这(VSPW+1)行的数据无效. (3)VSYNC信号脉冲之后,还要经过(VBPD+1)个(HSYNC)信号周期,有效的行数

FL2440的U-boot-2010.09移植(六)NAND Flash启动支持

 从NAND Flash启动的原理很简单,就是利用S3C2440内部4K大小的SRAM,存储在NAND Flash中的代码不能被执行,而S3C2440在从NAND Flash启动把NAND Flash的前4k代码复制到SRAM中运行,U-boot支持从NAND Flash启动的方法就是利用这前4K代码完成SDRAM的初始化(SDRAM有64M),然后还要完成从U-boot代码从NAND Flash中复制到SDRAM中,然后再跳转到SDRAM中去运行完整的U-boot.       为了便于系统启

FL2440 Linux kernel + yaffs2根文件移植过程(一)

本文全过程为自己亲自试验,成功移植了一个最基本功能的Kernel.根文件系统,现在将这个一耗时.耗精力 的过程写下来,希望对遇到相同问题的朋友们有所帮助! 平台:飞凌FL2440             windows xp sp2             vmware 6.5.build-203739              ubuntu 9.10              交叉编译器: 4.3.2              内核:linux-2.6.28.7.tar.bz2        

FL2440 Linux kernel + yaffs2根文件移植过程(二)

上一篇文章中Kernel移植基本上没有什么大的问题,除了几处需要更改外(已经注明) make zImage后,内核生成成功,下面是关于yaffs2根文件的移植,移植过程蜿蜒曲折,现现将成功移植过程讲解,后附过程与问题. 一.移植过程(成功) busybox-1.19.4 cross3.4.1(FL2440关盘里的交叉编译器) 1. 下载busybox-1.19.4.tar.bz2,地址是 http://busybox.net/downloads      下载busybox-1.19.4-udh

GigaOM正式公布Mobilize 2010 LaunchPad奖项的获奖者名单

GigaOM今天正式公布了将于当地时间2010年9月30日在美国旧金山举行的Mobilize 2010 LaunchPad奖项获奖者名单.10家业内最具前途的移动通讯创业公司将有幸获此殊荣,他们凭借自身创新的商业模 式从众多的参赛候选者中脱颖而出,成为业内的佼佼者. 荣获LaunchPad奖项的移动通讯创业公司将借助此次Mobilize 2010的平台,完美展示他们的企业.届时,业内10家Mobilize 2010 LaunchPad奖项的获奖者将悉数登场与大家见面,他们分别是: 街旁网: 街旁

【转】字节那些事儿

1. 前言 作为一名 C/C++ 程序员,字节是我们天天都要与之打交道的一个东西.我们和它熟稔到几乎已经忘记了它的存在.可是,它自己是不甘寂寞的,或迟或早地,总会在某些时候探出头来张望,然后给你一个腿儿绊.其实,只要你真正了解了它的底细,你就会畅行无阻.在本文中,我们将首先简要了解一下字节的概念,然后着重了解一下字节序问题和字节对齐问题. 注:笔者已经尽最大努力保证本文信息的正确性,但确实无法提供百分之百的担保. 2. 什么是字节 我们知道,二进制计算机(也就是我们目前接触到的几乎所有的计算机)

中国移动互联网O2O 时代距离我们有多远

互联网电子商务的浪潮已如热浪般扑面而来,无论我们与其距离的远近,总还是能感受到中国电子商务市场投资的喧嚣.纵观中国电子商务市场的发展历程,从B2B到C2C.从B2C到O2O,其中高举电子商务旗帜的企业已经获得了资本市场的热捧.这种热潮能否延续至移动互联网领域?资本方是否可在此类市场中先行? 中国移动互联网曲折发展十余年,投资风向与行业相伴 2001年11中国移动推出"梦网计划",徐徐拉开中国移动互联网大幕.中国移动互联网由于长期受制于网络环境及政策因素,曲曲折折发展十余年.中国移动互联

查看SQLSERVER内部数据页面的小插件Internals Viewer

原文:查看SQLSERVER内部数据页面的小插件Internals Viewer 查看SQLSERVER内部数据页面的小插件Internals Viewer 感觉internals viewer这个名字起得很好,内部查看. 这个小工具是我之前看园子里的某大侠转载的文章是看到的 文章地址:SQL Server2008存储结构之堆表.行溢出 http://www.cnblogs.com/trams/archive/2010/09/11/1823727.html 这几天研究了一下这个小工具,发现挺好用