最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

uboot2009移植

IT圈 admin 34浏览 0评论

2024年3月17日发(作者:卿友安)

嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一)

(2009-11-27

10:46)

分类: Bootloader移植篇

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望

能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。

共享资源,欢迎转载:

一、移植环境

主 机:VMWare--Fedora 9

开发板:Mini2440--64MB Nand,Kernel:2.6.30.4

编译器:

u-boot:2

二、移植步骤

本次移植的功能特点包括:

支持Nand Flash读写

支持从Nor/Nand Flash启动

支持CS8900或者DM9000网卡

支持Yaffs文件系统

支持USB下载(还未实现)

1

.

了解u-boot主要的目录结构和启动流程,如下图。

u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成;

u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。

各个部分的流程图如下:

2. 建立自己的开发板项目并测试编译。

目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就

是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有2440,所以我们就在这里建

立自己的开发板项目。

1)因2440和2410的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板

的项目,取名叫my2440

#tar -jxvf 2 //解压源码

#cd u-boot-2009.08/board/samsung/ //进入目录

#mkdir my2440 //创建my2440文件夹

2)因2440和2410的资源差不多,所以就以2410项目的代码作为模板,以后再修改

#cp -rf smdk2410/* my2440/ //将2410下所有的代码复制到2440下

#cd my2440 //进入my2440目录

#mv smdk2410.c my2440.c //将my2440下的smdk2410.c改名为my2440.c

#cd ../../../ //回到u-boot根目录

#cp include/configs/smdk2410.h include/configs/my2440.h //建立2440头文件

#gedit board/samsung/my2440/Makefile //修改my2440下Makefile的编译项,如

下:

COBJS := my2440.o flash.o //因在my2440下我们将smdk2410.c改名为my2440.c

3)修改u-boot跟目录下的Makefile文件。查找到smdk2410_config的地方,在他下面按

照smdk2410_config的格式建立my2440_config的编译选项,另外还要指定交叉编译器

#gedit Makefile

CROSS_COMPILE ?= arm-linux- //指定交叉编译器为arm-linux-gcc

smdk2410_config : unconfig //2410编译选项格式

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

my2440_config : unconfig //2440编译选项格式

@$(MKCONFIG) $(@:_config=) arm arm920t my2440 samsung s3c24x0

2024年3月17日发(作者:卿友安)

嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一)

(2009-11-27

10:46)

分类: Bootloader移植篇

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望

能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。

共享资源,欢迎转载:

一、移植环境

主 机:VMWare--Fedora 9

开发板:Mini2440--64MB Nand,Kernel:2.6.30.4

编译器:

u-boot:2

二、移植步骤

本次移植的功能特点包括:

支持Nand Flash读写

支持从Nor/Nand Flash启动

支持CS8900或者DM9000网卡

支持Yaffs文件系统

支持USB下载(还未实现)

1

.

了解u-boot主要的目录结构和启动流程,如下图。

u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成;

u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。

各个部分的流程图如下:

2. 建立自己的开发板项目并测试编译。

目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就

是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有2440,所以我们就在这里建

立自己的开发板项目。

1)因2440和2410的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板

的项目,取名叫my2440

#tar -jxvf 2 //解压源码

#cd u-boot-2009.08/board/samsung/ //进入目录

#mkdir my2440 //创建my2440文件夹

2)因2440和2410的资源差不多,所以就以2410项目的代码作为模板,以后再修改

#cp -rf smdk2410/* my2440/ //将2410下所有的代码复制到2440下

#cd my2440 //进入my2440目录

#mv smdk2410.c my2440.c //将my2440下的smdk2410.c改名为my2440.c

#cd ../../../ //回到u-boot根目录

#cp include/configs/smdk2410.h include/configs/my2440.h //建立2440头文件

#gedit board/samsung/my2440/Makefile //修改my2440下Makefile的编译项,如

下:

COBJS := my2440.o flash.o //因在my2440下我们将smdk2410.c改名为my2440.c

3)修改u-boot跟目录下的Makefile文件。查找到smdk2410_config的地方,在他下面按

照smdk2410_config的格式建立my2440_config的编译选项,另外还要指定交叉编译器

#gedit Makefile

CROSS_COMPILE ?= arm-linux- //指定交叉编译器为arm-linux-gcc

smdk2410_config : unconfig //2410编译选项格式

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

my2440_config : unconfig //2440编译选项格式

@$(MKCONFIG) $(@:_config=) arm arm920t my2440 samsung s3c24x0

发布评论

评论列表 (0)

  1. 暂无评论