本帖最后由 ゛向日葵的执着 于 2018-2-4 00:44 编辑
一、下载要移植的uboot源码 源码版本:uboot-imx-imx_v2016.03_4.1.15_2.0.0_ga 链接:http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/ 二、移植初步 1、复制开发板文件 进入到uboot-imx-imx_v2016.03_4.1.15_2.0.0_ga/board/freescale - # cp -r mx6ul_14x14_evk/ mx6ul_evb_p6ul/
复制代码2、复制板级配置文件 - # cd include/configs/
- # cp mx6ul_14x14_evk.h mx6ul_evb_p6ul.h
复制代码3、创建新的defconfig文件 - # cd configs/
- # cp mx6ul_14x14_evk_defconfig mx6ul_evb_p6ul_defconfig
复制代码defconfig文件修改如下所示: 4、重命名文件 - # cd /board/freescale/mx6ul_evb_p6ul
- # mv mx6ul_14x14_evk.c mx6ul_evb_p6ul.c
复制代码5、修改Makefile 6、修改Kconfig文件 在/arch/arm/cpu/armv7/mx6/Kconfig文件下添加一个新的入口 - # cd uboot-imx-imx_v2016.03_4.1.15_2.0.0_ga/arch/arm/cpu/armv7/mx6
- # vim Kconfig
复制代码7、初次编译测试是否能通过 - # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
- # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ul_evb_p6ul_defconfig
- # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
复制代码最后,编译u-boot.imx镜像 - # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- u-boot.imx
复制代码u-boot.imx镜像文件能成功编译出来了,接下来可以继续修改mx6ul_evb_p6ul.h配置文件来适配EVB-P6UL开发板了。 三、初步修改mx6ul_evb_p6ul.h配置文件 NXP官方的mx6ul_14x14_evk开发板使用的是512MB的DDR3内存,而盈鹏飞科技的EVB_P6UL开发板使用的是256MB的DDR3内存,这个是最主要的,按照参考手册的说法需要修改DCD Table的数据适合DDR3的初始化,也就是修改board\freescale\mx6ul_evb_p6ul路径下的imximage.cfg文件 这个文件的修改可以参考飞思卡尔i.MX6平台DRAM接口高阶应用指导-DDR3篇pdf、MX6UL_DDR3_调校_应用手册_V3_20160511.doc。 1、修改I.MX6UL_DDR3_Script_Aid_V0.02.xlsx获得realtime.Inc文件: 获得校准的参数后修改inc文件: 2、修改imximage.cfg文件 imximage.cfg文件的修改参考DDR3测试得到的结果,也就是realtime.Inc文件,新的imximage.cfg文件修改好后,修改配置文件中DRAM的大小,如下: 3、重新编译u-boot.imx文件 在宿主机中使用编译uboot的命令重新编译u-boot.imx文件,并将DDR初始化修改好重新编译的u-boot.imx镜像文件烧写到EVB-P6UL开发板上去,上电 从打印的的信息可以看到,u-boot的版本是2016.03的,并且DDR的内存大小也识别出了256MB大小。 四、总结 最后,感谢爱板网以及盈鹏飞科技给与笔者试用用EVB-P6UL开发板的机会,u-boot移植需要修改的地方还很多,由于时间有限,笔者就先介绍在这里,下面会继续修改源码去适应EVB-P6UL这款开发板。
|