许久没有玩mini2440了,最近有空,特意拿出来玩一下。顺便整理之前所学。
本篇目标:完成mini2440的移植,使uboot可以在mini2440上正常运行。
1、建立mini2440的开发环境。
uboot支持了很多CPU,包括mini2440.但是我选择的版本比较老,是2009.08.所以这里面是没有mini2440的相关文件的。所以,第一步需要将开发文件建立起来。
1.1、解压源码后,进入u-boot.2009.08,然后建立mini2440文件夹,执行以下命令:mkdir board/samsung/mini2440;
1.2、建立目录后,则执行以下命令:cp -rf board/samsung/smdk2410/* board/samsung/mini2440/。之所以使用smdk2410作为mini2440的开发框架,是因为smdk2410与mini2440接口资源相近,接口设备和CPU的运行频率等有细微差别。所以,为了偷懒。。。
1.3、修改smdk2410.c至mini2440.c:mv board/samsung/mini2440/smdk2410.c board/samsung/mini2440/mini2440.c
1.4、添加mini2440配置文件:cp include/configs/smdk2410.h include/configs/mini2440.h
至此,mini2440的开发框架已经完成。
2、修改启动代码,使其能做2440上运行。
2.1、修改cpu/arm920t/start.S,具体如下:
注释掉上述两行,这是其他设备的初始化代码,不在mini2440中。
添加mini2440配置。
添加mini2440的初始化。
2.2、修改mini2440文件下的Makefile
vim board/samsung/mini2440/Makefile
将28 COBJS := smdk2410.o flash.o修改成 28 COBJS := mini2440.o flash.o
2.3、修改主目录下Makefile具体如下:
2.4、添加mini2440配置,vim include/configs/mini2440.h,添加39行代码:
2.5、修改时钟配置,vim cpu/arm920t/s3c24x0/speed.c,添加以下代码:
2.6、结尾
执行make mini2440_config & make。即可编译出u-boot.bin。烧录至mini2440中,即可运行。
至此,u-boot移植结束。至于其余扩展功能,如网络,lcd等会在后续分析整理后输出文档。
备注:
有些编译器可能在此处报语法错误,可将其注释。详情如下: