U-Boot没有支持S3C2440,移植仍是U-Boot支持的SBC2410的文件作为蓝本进行移植。所以移植要做的就是针对S3C2440和S3C2410的不同,以及SBC2410和mini2440开发板的外设不同作相应的修改,并增加新的功能。
6.1 建立开发板文件,测试编译环境
6.1.1 修改顶层Makefile
目的:定义交叉编译工具链和开发板配置选项。
CROSS_COMPILE = arm-linux-#set default to nothing for native buildsifeq (($GOSTARCH),$(ARCH))CROSS_COMPILE ?= smdk2410_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0 mini2440_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920t mini2440 samsung s3c24x0
开发板配置选项中各项的含义如下:
arm | CPU的架构(ARCH) |
arm920t | CPU的类型(CPU),其对应于cpu/arm920t子目录 |
smdk2440a | 开发板的型号(BOARD),对应于board/samsung/mini2440 |
samsung | 开发者/经销商,对应于board/samsung目录 |
s3c24x0 | 片上系统(SOC)定义 |
6.1.2 在/board中建立mini2440目录和文件
在/board目录中建立开发板mini2440的目录,并复制sbc2410的文件到此,做适当修改。由于上一步板子的vender中填了samsung,所以开发板mini2440目录一定要建在/board子目录中的samsung目录下,否则编译出错。
修改mini2440目录下的Makefile文件
LIB = $(obj)lib$(BOARD).aCOBJS := mini2440.o flash.oSOBJS := lowlevel_init.o
6.1.3 在include/configs中建立开发板配置文件
因为sbc2410与mini2440最相似,将sbc2410.h作为蓝本,复制后名字变更为mini2440.h 。
6.1.4 测试编译环境
在U-Boot源码的根目录下输入:
$make mini2440_configConfiguring for mini2440 board$make