由于NXP EVK开发板与核心板PCB布局走线、制版工艺等的不同,我们需要对DDR内存参数进行调整才能更稳定高效的在我们的开发板运行。NXP提供了DDR Stress Test Tool,通过这个工具可以对DDR内存进行校准,获得稳定高效的参数,至于这个工具怎么使用,我们这里不讲解,我们这里直接使用调整好的参数。在uboot配置章节我们已经知道,board/freescale/mx6ullevk/imximage.cfg文件中存储着DCD参数,DCD参数包括了对外设时钟和DDR内存的初始化配置,所以我们只需要更改这个文件即可,此文件中都是对相关寄存器的配置,我们不再一一修改调整,直接使用我们配置好的imximage_emmc.cfg文件。我们介绍一下ELF 1开发板的DCD参数配置,ELF 1使用的内存参数为ELF 1开发板资料包 2-Linux 源代码 2-1 驱动源码11_imximage(uboot)imximage_emmc.cfg,对应eMMC的参数设置。 修改方法如下: 一、将imximage_emmc.cfg文件复制到uboot源码board/freescale/mx6ullevk/目录下。 二、将configs/目录下的mx6ull_14x14_evk_emmc_defconfig复制为imx6ull_elf1_defconfig形成我们自己的默认配置文件: 进入configs/目录执行: elf@ubuntu:~/work/elf1_uboot/uboot-imx-2016.03/configs$ cp mx6ull_14x14_evk_emmc_defconfig imx6ull_elf1_defconfig 三、打开imx6ull_elf1_defconfig文件,更改为: CONFIG_SYS_EXTRA_OPtiONS="IMX_CONFIG=board/freescale/mx6ullevk/imximage_emmc.cfg,MX6ULL_EVK_EMMC_REWORK" CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_MX6ULL_14X14_EVK=y CONFIG_CMD_GPIO=y 四、修改include/configs/mx6ullevk.h 文件,将imx6ull-14x14-evk.dtb 改为imx6ull-elf1-emmc.dtb 注意:NXP EVK开发板使用的设备树名称为imx6ull-14x14-evk.dtb,ELF 1使用的设备树名称为imx6ull-elf1-emmc.dtb, 修改完成之后,编译uboot。 首先建立编译脚本: elf@ubuntu:~/work/elf1_uboot/uboot-imx-2016.03$ touch build.sh elf@ubuntu:~/work/elf1_uboot/uboot-imx-2016.03$ vim build.sh 在脚本中输入以下内容: #!/bin/bash export CPU='grep -c processor /proc/cpuinfo' source /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi make distclean make imx6ull_elf1_defconfig make -j${CPUS} 注意:将上面的内容复制到开发环境中可能会存在格式问题,正确格式内容如下图所示,请参考下图进行调整: 给脚本可执行权限: elf@ubuntu:~/work/elf1_uboot/uboot-imx-2016.03$ chmod u+x build.sh 然后直接使用build.sh脚本进行编译: elf@ubuntu:~/work/elf1_uboot/uboot-imx-2016.03$ ./build.sh 将生成的u-boot.imx复制到烧写工具中并替换烧写工具中相对应的文件: 如果使用otg烧写则替换ELF 1开发板资料包 6-常用工具 6-4 烧写工具OTG烧写mfgtoolsmfgtoolsProfilesLinuxOS Firmwarefiles中的u-boot.imx。 如果使用TF卡烧写则替换ELF 1开发板资料包 6-常用工具 6-4 烧写工具TF卡烧写elf1_tfcard_burnelf1_tfcard_burntarget中的u-boot.imx。 ![]()
|