u-boot-2009.11移植(适用于TQ2440和MINI2440)第一篇:建立开发板文件,测试编译环境

来源:互联网 发布:pdf.js 获取总页数 编辑:程序博客网 时间:2024/05/29 13:39

注意:红色标记代表要修改的地方

 

一、建立开发板文件,测试编译环境

1.1修改顶层 Makefile

# load ARCH, BOARD, and CPU configuration

include $(obj)include/config.mk

export  ARCH CPU BOARD VENDOR SOC

 

CROSS_COMPILE =arm-linux-

# set default to nothing for native builds

ifeq ($(HOSTARCH),$(ARCH))

CROSS_COMPILE ?=

endif

# load other configuration

include $(TOPDIR)/config.mk

。。。。。。

smdk2410_config     :      unconfig

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

 

sunzl2440_config:    unconfig

      @$(MKCONFIG) $(@:_config=) arm arm920t sunzl2440 sunzl s3c24x0

SX1_stdout_serial_config \

SX1_config:       unconfig

 

开发板配置选项中各项的含义如下:

arm CPU的架构(ARCH)

arm920t CPU的类型(CPU),其对应于cpu/arm920t子目录

sunzl开发者/或经销商(vender),对应于board/sunzl目录

sunzl2440开发板的型号(BOARD),对应于board/sunzl/sunzl2440目录

s3c24x0片上系统(SOC)定义

 

1.2/board中建立sunzl2440 目录和文件

/board目录中建立开发板sunzl2440 的目录,并复制sbc2410x的文件到此,做适当修改。目的:以sbc2410x 为蓝本,加快移植进度。

由于上一步板子的开发者/或经销商(vender)中填了sunzl ,所以开发板sunzl2440 目录一定要建在/board子目录中的sunzl 目录下,否则编译出错。

 

输入以下指令:

cd board

mkdir -p sunzl/sunzl2440

cp -arf sbc2410x/* sunzl/sunzl2440/

cd sunzl/sunzl2440/

mv sbc2410x.c sunzl2440.c

 

还要记得修改自己的开发板sunzl2440目录下的Makefile文件,不然编译时会出错:

LIB    = $(obj)lib$(BOARD).a

 

COBJS  := sunzl2440.o  flash.o

SOBJS  := lowlevel_init.o

 

1.3 include/configs/中建立开发板配置文件

cp include/configs/sbc2410x.h include/configs/sunzl2440.h

 

1.4测试编译环境

U-boot源码的根目录下:

make sunzl2440_config

Configuring for sunzl2440 board...

make

可能出现的问题:
     (1) 
如果出现:
      $ make sunzl2440_config
      Makefile:????: ***
遗漏分隔符 。 停止。
      
请在Uboot的根目录下的Makefile
       “@$(MKCONFIG) $(@:_config=) arm arm920t sunzl2440 sunzl s3c24x0 ”
      
前加上“Tab”,
这是Makefile的规则:所有命令都必须以“Tab”开头。

 

以上测试通过后,说明编译环境和基本的开发板的代码创建都没有问题。现在编译出来的都是蓝本SBC2410的,下面按照代码的执行流程来针对sunzl2440做修改。

0 0
原创粉丝点击