首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

U-Boot实现uClinux向S3C44B0的移植

U-Boot实现uClinux向S3C44B0的移植

S3C44B0是Samsung公司推出的一款为手持设备或其他通用设备开发的32位处理器,它基于arm7TDMI核,没有内存管理单元(MMU)。在采用无MMU的微处理器的嵌入式系统中广泛采用的就是uClinux系统,作为linux的衍生系统,其具有支持多任务、内核精简、高效稳定和源代码开放的优点。系统移植的基本过程包括:获取较新版本的linux-2.6.9内核源码,根据目标平台对源码中与硬件平台相关部分进行修改,添加必要的外设驱动程序,对系统进行针对目标平台的交叉编译,生成的内核映像文件的下载调试等。

        2  硬件环境介绍

        硬件平台以S3C44B0为核心,采用的外部晶振频率为6MHZ,内核主频最高可达到66MHZ,平台以2MB的AMD29LV160DB做 rom,其地址空间为0~1fffff,以HY57V1620HG sdram做内存,地址空间为0c000000~0c7fffff,共8MB,以RTL8019as作为网络控制芯片,接在S3C44B0的Bank5 上,通过JTAG与PC机的并口连接支持在线调试与程序烧写。


图1 硬件平台框图

        3  uClinux的移植

         3.1 交叉编译环境的建立

        交叉编译是利用运行在某机器(宿主机)上的编译器编译某个源程序生成在另一台机器(目标机)上运行的目标代码的过程。本文的交叉编译环境建立如下:在PC机上安装Linux操作系统做为我们的宿主机,版本为Fedore Core 5,从http : // www. uClinux .org/上下载交叉编译工具链arm-elf-tools20040427并安装在Linux 宿主机上,这样就建立了uClinux-arm的交叉编译环境。

         3.2 U-Boot-1.1.2的移植

        Bootloader是系统加电后运行的第一段代码,在一个基于arm的嵌入式系统中,系统上电或复位时通常都从地址0X00000000处开始执行,而这个地址处通常就是系统的bootloader,通过这段程序可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境调整到一个合适的状态,以便为最终的调用操作系统内核准备好正确的环境。

        本文中bootloader采用对U-Boot进行移植来实现的。U-Boot的全称是Universal Boot Loader,是德国DENX小组开发的用于多种嵌入式CPU的Bootloader引导程序, 支持PowPC、arm、MIPS、M68K等多种处理器平台,支持Linux、VxWorks、NetBSD等多种嵌入式操作系统,主要用来开发嵌入式系统初始化代码bootloader,其易于裁剪和调试,尊循GPL (通用公共许可) 公约,完全开放源代码。可以从http://sourceforge.net/projects/u-boot得到它多个版本的源码,本文是以u- boot-1.1.2为例进行移植的。

        在移植前可以通过查看doc文档了解U-Boot源码的主要结构,在众多的目录中与移植相关的主要是board、cpu、drivers等几个目录。移植的基本过程如下:

        (1) 查找以S3C44B0处理器为核心的硬件平台,此目的是为了简化移植难度;

        在board/下运行 find  -exec grep -l 44B0 {} 找到/dave/B2/B2.c,由此我们知道dave公司的B2平台是以S3C44B0处理器为核心的,所以移植可以参考B2平台进行;

        (2) 建立我们目标平台的目录lanlan,把B2板的文件拷到建立的目录中,但需要修改文件的名称;

        (3) 修改新建目录中的文件的名称,将文件中所有的B2都改成lanlan;

        (4) 在include/configs/添加目标平台的配置文件lanlan.h;此文件可以参考B2.h建立;

        (5) 修改总目录下的Makefile文件,添加目标板的编译信息;

        这个过程完成后可以在u-boot/目录下依次运行make lanlan_config ; make进行编译,编译完成后如果能生成u-boot.bin等文件,则说明前面的过程无误,如果出现错误,则需要根据错误信息进行相关修改;

返回列表