在JZ2440上移植设备树–上:u-boot移植
为了用上买了之后就一直在吃灰的JZ2440,决定下一番功夫在jz2440上移植设备树。由于韦老师的视频中没有讲到设备树相关,前前后后总共花了我约五个晚上,一个周末的时间。
1、移植u-boot
u-boot可以从u-boot官网上下载;我下载的版本是u-boot-2013.03。
编译器我用的是gcc-4.6.4也可使用韦老师提供的gcc-4.3.2;gcc安装和u-boot解压过程不进行赘述。
1.1 u-boot编译
打开u-boot源码目录,u-boot-2013.01board\samsung发现并没有支持JZ2440的单板文件,我们选取和2440最接近的smdk2410。为了省事,可以不进行如下的新建单板的步骤:
cd board/samsung/ cp smdk2410 smdk2440 -rf
cd ../../include/configs/ cp smdk2410.h smdk2440.h
修改boards.cfg:
仿照
smdk2410 arm arm920t - samsung s3c24x0
添加:
smdk2440 arm arm920t - samsung s3c24x0
而直接在u-boot-2013.01目录下make smdk2410_defconfig
然后make (2013版本的u-boot还没有支持make menuconfig,我们可以通过修改smdk2410.h的宏定义进行u-boot的配置)
ps:make之前先在u-boot主目录下配置配置内核架构和编译器,如下图:
不出意外的话,make一路编译成功,生成u-boot.bin文件;
1.2 u-boot烧写
由于JZ2440配有Jlink,我们直接通过jlink烧写uboot.bin到nor flash。
ps:Jlink烧写u-boot.bin参考韦老师的”如何烧写S3C2440裸板程序.pdf”
另外,如果没有Jlink,我们还可以通过”新方法 使用NandFlash上的u-boot烧写NorFlash.pdf“在nor flash上烧录u-boot。
烧录完成后,选择nor启动,重启开发板,会发现串口无任何输出,说明smdk2410的默认配置不适合jz2440。我们需要对其进行修改。