前话:
U-Boot移植,并不是说要我们从零开始写U-Boot,而是在原有的U-Boot中找与我们开发板最相近的,然后做修改即可。故开始移植之前,我们首先要分析U-Boot已经支持的开发板。选择的原则是,首先选择MCU相同的开发板,如果没有,则选择MPU相同的开发板。
一:
在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例
smdk2410_config : unconfig
@./mkconfig $ (@:_config=) arm arm920t smdk2410 NULL s3c24x0
参考上面2行,添加(最好别修改,直接添加也方便)下面2行:
mini2440_config : unconfig
@./mkconfig $ (@:_config=) arm arm920t mini2440 NULL s3c24x0
注:
arm :CPU架构
arm920t:CPU类型,对应cpu/arm920t目录
mini2440:开发板型号,对应board/mini2440目录----mini2440是我们自己命名的,故须在board/目录下创建mini2440目录
NULL:开发者
s3c24x0: 片上系统(SOC)
二:
在board/目录中创建一个属于新开发板的目录,向目录中添加文件,并修改:
mkdir -p board/mini2440
cp -rf board/smdk2410/* board/mini2440
三:
为开发板添加新的配置文件
先复制参考开发板的配置文件,再修改,例如:
$cp include/configs/smdk2410.h include/configs/mini2440.h
四:
选择板级配置
$ make mini2440_config
五:
编译 U-Boot
执行 make CROSS_COMPILE=arm-linux- 命令,编译成功可以得到 U-Boot 映像
U-Boot移植,并不是说要我们从零开始写U-Boot,而是在原有的U-Boot中找与我们开发板最相近的,然后做修改即可。故开始移植之前,我们首先要分析U-Boot已经支持的开发板。选择的原则是,首先选择MCU相同的开发板,如果没有,则选择MPU相同的开发板。
一:
在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例
smdk2410_config : unconfig
@./mkconfig $ (@:_config=) arm arm920t smdk2410 NULL s3c24x0
参考上面2行,添加(最好别修改,直接添加也方便)下面2行:
mini2440_config : unconfig
@./mkconfig $ (@:_config=) arm arm920t mini2440 NULL s3c24x0
注:
arm :CPU架构
arm920t:CPU类型,对应cpu/arm920t目录
mini2440:开发板型号,对应board/mini2440目录----mini2440是我们自己命名的,故须在board/目录下创建mini2440目录
NULL:开发者
s3c24x0: 片上系统(SOC)
二:
在board/目录中创建一个属于新开发板的目录,向目录中添加文件,并修改:
mkdir -p board/mini2440
cp -rf board/smdk2410/* board/mini2440
三:
为开发板添加新的配置文件
先复制参考开发板的配置文件,再修改,例如:
$cp include/configs/smdk2410.h include/configs/mini2440.h
四:
选择板级配置
$ make mini2440_config
五:
编译 U-Boot
执行 make CROSS_COMPILE=arm-linux- 命令,编译成功可以得到 U-Boot 映像