歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 搭建一個mini2440開發板U-Boot的框架

搭建一個mini2440開發板U-Boot的框架

日期:2017/3/1 10:10:01   编辑:Linux編程

一、移植環境

  • 主 機:Ubuntu
  • 開發板:友善之臂mini2440
  • 編譯器:arm-linux-gcc-4.3.2
  • u-boot:u-boot-2009.03.tar.bz2

二、移植步驟

目前u-boot對很多CPU直接支持,可以查看board目錄的一些子目錄,如:board/samsung/目錄下就是對三星一些ARM處理器的支持,有smdk2400、smdk2410和smdk6400,但沒有2440,所以我們就在這裡建立自己的開發板項目。 1)因2440和2410的資源差不多,主頻和外設有點差別,所以我們就在board/samsung/下建立自己開發板的項目,取名叫mini2440

#tar -jxvf u-boot-2009.08.tar.bz2 //解壓源碼
#cd u-boot-2009.08/board/samsung/ //進入目錄
#mkdir mini2440 //創建mini2440文件夾

2)因2440和2410的資源差不多,所以就以2410項目的代碼作為模板,以後再修改

#cp -rf smdk2410/* mini2440 / //將2410下所有的代碼復制到2440下

#cd mini2440 //進入mini2440目錄

#mv smdk2410.c mini2440.c //將mini2440下的smdk2410.c改名為mini2440.c

#cd //回到u-boot根目錄
#cp include/configs/smdk2410.h include/configs/mini2440.h //建立2440頭文件
#gedit board/samsung/mini2440/Makefile //修改my2440下Makefile的編譯項,如下:

COBJS := mini2440.o flash.o //因在my2440下我們將smdk2410.c改名為my2440.c

3)修改u-boot跟目錄下的Makefile文件。查找到smdk2410_config的地方,在他下面按照smdk2410_config的格式建立mini2440_config的編譯選項,另外還要指定交叉編譯器

#gedit Makefile

CROSS_COMPILE ?= arm-linux- //指定交叉編譯器為arm-linux-gcc

smdk2410_config : unconfig //2410編譯選項格式
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0

mini2440_config : unconfig //2440編譯選項格式
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 samsung s3c24x0

*說明:arm :CPU的架構(ARCH)

arm920t:CPU的類型

mini2440:對應在board目錄下建立新的開發板項目的目錄

samsung:新開發板項目目錄的上級目錄,如直接在board下建立新的開發板項目的目錄,則這裡就為NULL

s3c24x0:CPU型號

*注意:編譯選項格式的第二行要用Tab鍵開始,否則編譯會出錯

4)測試編譯新建的mini2440開發板項目

#make mini2440_config //如果出現Configuring formini2440board...則表示設置正確

#make//編譯後在根目錄下會出現u-boot.bin文件,則u-boot移植的第一步就算完成了

到此為止,u-boot對自己的mini2440開發板還沒有任何用處,以上的移植只是搭建了一個mini2440開發板u-boot的框架,要使其功能實現,還要根據mini2440開發板的具體資源情況來對u-boot源碼進行修改。

Copyright © Linux教程網 All Rights Reserved