米尔7020开发板:从SD卡到flash及emmc烧录问题解析

需积分: 19 0 下载量 175 浏览量 更新于2024-08-20 收藏 614KB DOC 举报
"米尔7020开发板ZYNQ芯片的SD卡程序烧录与EMMC挂载问题解析" 在ZYNQ架构的米尔7020开发板中,经常需要将SD卡上的系统程序烧录到flash以便于快速启动和稳定运行。然而,在这个过程中可能会遇到一些问题,本文主要探讨了两个关键问题及其解决方案。 问题1:串口无法打印信息 当尝试通过SD卡中的系统程序启动并烧录到flash时,可能出现串口无打印信息的情况。这通常是由于uImage镜像文件的MTD(Memory Technology Device)配置不正确,导致uEnv.txt的分区信息未能正确保存到flash。原始的uImage镜像文件中没有包含uEnv.txt的分区配置。解决这个问题的方法是重新配置内核,开启对MTD的支持。首先,使用`makemenuconfig`进入内核配置界面,然后选择“Device Drivers” -> “Memory Technology Device (MTD) Support”,启用这一选项并编译生成新的uImage。之后,确保SD卡启动后,通过`cat /proc/mtd`命令查看的flash分区与uEnv.txt中的设置一致。 问题2:EMMC未挂载到/dev/ 烧录系统文件到flash成功并启动后,若发现应用程序无法烧入EMMC,可能是由于EMMC未被系统识别并挂载到/dev/目录下。可能的原因包括硬件问题、内核dts文件中EMMC设备节点未开启,或者FPGA配置中未包含EMMC。检查方法包括查看设备列表,如果SD卡显示为`mmcblk0`,而EMMC未显示为`mmcblk1`,则表明存在问题。解决此问题通常需要检查以下几个方面: - 硬件检查:确认EMMC器件是否正常,如有必要,更换硬件以排除故障。 - dts文件修改:如果dts文件中EMMC设备节点未开启,需要反编译devicetree.dtb,使用`/kernel/scripts/dtc/dtc -I dtb -O dts devicetree.dtb -o devicetree.dts`命令,然后手动打开节点,将状态设置为“okay”。完成修改后,再用`/kernel/scripts/dtc/dtc -I dts -O dtb devicetree.dts -o devicetree.dtb`将dts文件编译回dtb文件。 - FPGA配置:确保FPGA配置文件中包含了EMMC的初始化信息,使其能够在启动时被正确识别。 通过上述步骤,应该能够解决米尔7020开发板在使用ZYNQ芯片时遇到的SD卡程序烧录到flash以及EMMC挂载的问题。正确配置内核、设备树和FPGA,将有助于确保系统能够顺利运行并挂载额外的存储设备。