1.移植u-boot-2015.07之建立单板程序
进入board/samsung目录复制smdk2410为smdk2440,更改里面的smdk2410.c为smdk2440.c
- smdk2440.c文件的作用
1. 提供pll初始化时候的延时函数
2. 单板早期初始化(PLL等初始化,引脚初始化)
3. 单板初始化,cache 的使能
4. 网卡初始化(调用网卡驱动里的初始化函数)
5. ram 大小设置
6. flash 检测- smdk2440.c文件的作用
更改Kconfig里面的所有2410字样为2440
if TARGET_SMDK2440 #目标 config SYS_BOARD #单板名字 default "smdk2440" config SYS_VENDOR #生产厂家 default "samsung" config SYS_SOC default "s3c24x0" config SYS_CONFIG_NAME #配置名 default "smdk2440" endif
- 更改MAINTAINERS里面所有的2410字样为2440(在这里面我们可以看到跟单板有关的文件,一个一个去修改它)
SMDK2440 BOARD M: David Müller <d.mueller@elsoft.ch> S: Maintained F: board/samsung/smdk2440/ #单板相关启动文件路径 F: include/configs/smdk2440.h #头文件路径 F: configs/smdk2440_defconfig #配置文件路径
- 更改Makefile里面的2410字样为2440
obj-y := smdk2440.o init.o #后续要改为 extra-y 来指定单独的位置 obj-y += lowlevel_init.o
进入include/configs,复制smdk2410.h为smdk2440.h,修改里面的2410字样为2440
进入configs目录,复制smdk2410_defconfig为smdk2440_defconfig,修改里面的2410字样为2440(会使上面的Kconfig文件里面的内容成功配置)
CONFIG_ARM=y CONFIG_TARGET_SMDK2440=y # CONFIG_CMD_SETEXPR is not set
2.测试配置文件
- 执行 make smdk2440_defconfig
- 查看 .config 里面是否有相关设置。经查看没有,使用 grep TARGET_SMDK2410 -nR *得到在 arch/arm/Kconfig里面有
source "board/samsung/smdk2410/Kconfig"
等字样,复制下来添加到此文件里面,把2410改为2440。搜索本文件,将所有的2410字样改为2440。也由此可见,在make smdk2440_defconfig的时候会去arch/arm/Kconfig里面找到对应的Kconfig文件进行配置
- 再次 make smdk2440_defconfig 成功,可以看到 .config 里面有
CONFIG_SYS_BOARD = "smdk2440" CONFIG_SYS_VENDOR = "samsung"
等字样