1、在正式修改代码前,先将之前编译过的代码清除干净。执行:
make distclean
2、为了将来修改方便,我们需要配置一下我们修改板子的menuconfig,我们开发板使用的CPU是S5PV210,所以要找uboot中针对S5PV210或者S5PC110进行移植的作为参考,这里我们选择samsung的goni作为我们的base版。
cp -arf board/samsung/goni/ board/samsung/X210/
3、这里拷贝一份S5PV210的配置文件,并将CONFIG_TARGET_S5P_GONI=y 修改为 CONFIG_TARGET_X210=y, 这个值会指明编译的是哪个开发板。
cp configs/s5p_goni_defconfig configs/x210_defconfig
4、board目录下放的是已经支持的开发板相关的文件,其中包含SDRAM初始化代码(lowerlevel_init.S),板级初始化文件(goni.c)等,这里以goni里面的代码作为副本来修改就好了,然后调整一下差异的代码。顺便将该目录下的goni.c文件修改成x210.c,
然后更改当前目录中的makefile :obj-y := x210.o
5、修改board/samsung/X210/目录下的Kconfig文件
if TARGET_X210 //configs/X210_defconfig中定义的目
config SYS_CPU
default "armv7" //cpu的内核架构,即对应到\arch\arm\cpu\armv7
config SYS_BOARD
default "X210" //板子的名称,
config SYS_VENDOR //通过VENDOR和BOARD即可组成\board\samsung\X210
default "samsung" //发行商的名称
config SYS_SOC
default "s5pc1xx" //芯片名称 即\arch\arm\cpu\armv7\s5pc1xx
config SYS_CONFIG_NAME
default "X210" //配置文件名称
endif
6、将板级所需要的头文件也拷贝一份,同时将其更名为X210.h。
cp include/configs/s5p_goni.h include/configs/X210.h
7、修改arch/arm/Kconfig, 添加X210的配置项,修改arch/arm/Kconfig,
Source board/samsung/X210/Kconfig到该Kconfig中。
8、之后执行make X210_defconfig,再执行make。即可编译出uboot.bin。