K26 SOM从emmc启动linux

本文转载自: 硬码农二毛哥微信公众号

KV260视觉入门套件,功能强大,可以实现各种复杂功能的验证,但工程应用最终使用的是K26 SOM,本文将介绍将KV260上红色SOM换成K26 SOM后,如何从EMMC启动Linux。

K26 SOM与KV260上SOM的区别

从外观上看KV260上的SOM带红色风扇(简称红SOM),而K26 SOM只有银色散热器。

它们之间还有一个重要的不同,K26 SOM代码EMMC,而KV260上的SOM不带EMMC。

如何实现EMMC启动

K26 SOM上的QSPI中没有预先安装任何固件,而红SOM 上的QSPI安装了固件。红SOM启动与一般zynq mpsoc不同,分为两个阶段,第一阶段从QSPI启动,第二阶段从sd卡启动,也可从EMMC启动。

K26 SOM实现EMMC启动需要分三步:

  • 需要先将BOOT.bin文件烧写到QSPI,实现第一阶段启动。
  • 将文件系统拷贝到sd卡实现第二阶段启动。
  • 使用sd卡启动Linux后,将文件系统拷贝到EMMC。
  • 拔掉sd卡,使用EMMC启动。
  • 构建硬件平台

    在Vivado中加入EMMC,如下图所示,到处xsa文件。

    使用xilinx-k26-som-v2021.1-final构建Linux

    将Vivado中生成的xsa文件导入,在Petalinux中使用xilinx-k26-som-v2021.1-final bsp构建系统,指令如下:

    petalinux-create -t project -s ../xilinx-k26-som-v2021.1-final.bsp
    petalinux-config --get-hw-description ../
    petalinux-package --boot --u-boot --format BIN

    拷贝如下文件:

    使用Vivado下载BOOT.BIN

    将BOOT.BIN文件烧写到K26 SOM,fsbl文件使用zynqmp_fsbl.elf。

    打开Vivado,Flow->Open Hardware Manager。

    连接器件后,添加QSPI器件。

    选择器件

    选择BOOT文件和fsbl。

    烧写完成后,上电启动,此时没插sd卡,EMMC为空,所以不能正常启动。

    SD卡启动

    将BOOT.bin、boot.scr和imag.ub拷贝到sd卡,上电启动。

    将启动文件拷贝到EMMC

    运行命令:

    ls /dev/mmc*

    其中mmcblk2为EMMC,mmcblk1为SD卡。

    挂载SD第一个分区:

    mount /dev/mmcblk2p1 /media

    media文件夹中有三个文件BOOT.bin、image.ub和boot.scr。

    挂载EMMC的第一个分区:

    mount /dev/mmcblk2p1 /mnt

    将media文件夹中的 BOOT.bin、image.ub和boot.scr拷贝到mnt文件夹。

    EMMC启动

    拔掉SD卡,这样可以直接从EMMC启动,启动后如下图所示:

    最新文章