0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于易灵思eMMC IP的Linux系统加载方案

易灵思官微 来源:易灵思官微 2025-12-23 14:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

eMMC全称为 embedded Multi Media Card,主要用于非易失性存储,它弥补了 FPGA 芯片自身存储能力的不足,为 FPGA 提供一个高集成度、大容量、低成本、且易于使用的“硬盘”或“固态硬盘”解决方案。

Part 01

eMMC简介

eMMC 在 FPGA 系统中的作用可以概括为:

系统启动:可存储OS镜像

大容量数据存储:记录采集数据、视频、日志

运行操作系统和应用程序

eMMC并非一个单纯的存储芯片,内部主要可以分为 Flash Memory、Flash Controller 以及Interface 三大部分:

77eccdee-d571-11f0-8c8f-92fbcf53809c.png

Flash Memory:负责数据存储。

Flash Controller:负责管理NAND Flash的读写、擦除、坏块管理、磨损均衡、错误校正等复杂操作。

Interface:提供了一个标准化的主机接口,让主处理器可以像访问一个标准设备一样轻松访问存储。

Part 02 易灵思eMMC IP

易灵思为用户提供了eMMC Host Controller IP (基于eMMC5.1协议)和配套的Linux驱动。为了方便用户在系统中使用eMMC,易灵思还提供了eMMC Demo工程(基于TJ375N529 / TJ375N1156X开发板),实现了将Linux系统写入eMMC并从eMMC中加载Linux系统的功能。

eMMC5.1协议中定义的速率模式如下表所示,易灵思eMMC Host Controller IP V1.0最高实现HS400模式。

786a37a2-d571-11f0-8c8f-92fbcf53809c.jpg

Part 03 eMMC Demo

3.1 写入Linux系统

在将Linux系统写入eMMC之前,需要进行以下操作:① 用以太网口从服务器下载Linux系统文件。② 使用工具对eMMC进行分区。为了方便上述操作,RISC-V需要先从SD卡启动系统。

将Linux系统写入eMMC的具体流程如下图所示:

78c992e2-d571-11f0-8c8f-92fbcf53809c.jpg

通过Balena Etcher工具将sdcard.img(包括Linux kernel、device tree、file system)烧写进SD卡。

用Efinity Programmer擦除SPI flash,并将emmc_linux.hex(包含FPGA bitstream、OpenSBI、U-Boot)文件烧写进flash,其中FPGA bitstream包含bootloader(FSBL)文件。

重新上电加载程序后,运行bootloader读取flash里面的OpenSBI和U-Boot文件,输入run sd_bootcmd命令引导U-Boot读取SD卡内的Linux kernel和device tree并将其写入到DDR内存里,然后RISC-V会依次加载Linux kernel和device tree,加载成功后,再读取SD卡内的file system并挂载在Linux系统内。

通过开发板上的以太网口连接至服务器,下载服务器里的uImage(Linux kernel image)、linux.dtb(device tree blob)、rootfs.tar(tarball of the root filesystem)文件并写入到SD卡里。

通过emmc_programmer脚本把uImage、linux.dtb、rootfs.tar从SD卡读出并写入eMMC里。

79213678-d571-11f0-8c8f-92fbcf53809c.jpg

3.2 加载Linux系统

从eMMC中加载Linux系统的流程如下图所示:

7978f11a-d571-11f0-8c8f-92fbcf53809c.jpg

开发板上电加载程序后,运行bootloader读取flash里面的OpenSBI和U-Boot文件。

引导U-Boot读取eMMC卡内的Linux kernel和device tree。

将读出的Linux kernel和device tree写入到DDR内存里。

RISC-V依次加载DDR内存里的Linux kernel和device tree,加载成功后,再读取eMMC卡内的file system并挂载在Linux系统内。

如下图所示,Linux系统加载完成后,进入系统内,执行lsblk命令,显示根系统是挂载在eMMC第二分区上。

79d7b61e-d571-11f0-8c8f-92fbcf53809c.jpg

在FPGA上成功加载Linux系统后,将获得一个功能完整的嵌入式开发环境,能够运行多种应用程序并利用丰富的工具链进行开发,支持从基础开发到高性能计算的广泛需求。

Part 04 总结

易灵思提供了基于eMMC的Linux系统加载方案,完善了易灵思RISC-V生态系统,更加便于用户在RISC-V上使用Linux系统。同时eMMC作为Linux系统加载介质,兼具‌高可靠性、易用性及性能优势‌,其集成化设计简化了存储管理,通过标准化接口与RISC-V架构协同,支撑了Linux系统的稳定运行‌ ‌。

易灵思公司介绍

易灵思是一家国产FPGA公司,总部位于深圳前海。公司凭借自主可控的Quantum硬件架构,采用逻辑和路由可以互换的XLR结构,实现了创新的产品设计与软件算法,使得FPGA产品具备低功耗、小体积、高密度、高性能等优势。已量产的40nm Trion系列及16nm钛金系列 FPGA产品,广泛应用于机器视觉、显示、工业控制、医疗、汽车、AI通信等终端领域。

重要产品

钛金系列FPGA具有增强的Quantum架构,16nm工艺,35K 至 1,000K 逻辑单元,超高性能 300-500MHz,封装最小可至3.5mm*3.4mm@60K LE,功耗低至竞争对手的1/4,硬核资源丰富,最新产品TJ375现已量产。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1665

    文章

    22579

    浏览量

    641020
  • Linux
    +关注

    关注

    88

    文章

    11864

    浏览量

    219882
  • 固态硬盘
    +关注

    关注

    12

    文章

    1659

    浏览量

    60781
  • emmc
    +关注

    关注

    7

    文章

    281

    浏览量

    56376

原文标题:eMMC应用—Linux系统加载

文章出处:【微信号:易灵思官微,微信公众号:易灵思官微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何把文件系统烧到EMMC并从EMMC加载

    如何下载并从SD卡加载文件系统,提到过可以从EMMC引导系统,本篇将为您介绍如何把文件系统烧到EMMC,并从
    的头像 发表于 10-30 16:06 5761次阅读
    如何把文件<b class='flag-5'>系统</b>烧到<b class='flag-5'>EMMC</b>并从<b class='flag-5'>EMMC</b><b class='flag-5'>加载</b>

    推出内建SmartCORE IP解决方案

    (Xilinx)因应锁定新一代更智能(Smarter)功能的网络和数据中心特定应用集成电路(ASIC)和特定应用标准产品(ASSP)方案出现重大效能与系统需求落差的问题,而该问题
    发表于 03-12 09:14 3271次阅读

    FPGA flash操作原理

    FPGA flash操作原理分享
    的头像 发表于 04-09 15:03 1959次阅读

    采用FPGA实现DisplayPort详细教程【赛内部资料】

    ) 的灵活可编程 VESADisplayPort v.1.1a 解决方案。该 IP 可随时提供给赛的客户,但在用户展开设计之前,建议先了解与该标准的部分关键功能有关的其它背景信息,
    发表于 03-01 11:10

    Xilinx赛方案

    能做赛方案的,请联系
    发表于 01-21 19:31

    如何利用赛28纳米工艺加速平台开发?

    全球可编程逻辑解决方案领导厂商赛公司 (Xilinx Inc.) 宣布,为推进可编程势在必行之必然趋势,正对系统工程师在全球发布赛
    发表于 08-09 07:27

    收购嵌入式Linux方案提供商PetaLogix

    All Programmable技术和器件的全球领先企业赛公司(Xilinx, Inc. (NASDAQ:XLNX) )今天宣布收购嵌入式Linux解决方案提供商PetaLogix
    发表于 08-30 16:59 869次阅读

    收购嵌入式Linux方案提供商PetaLogix

    公司(Xilinx)宣布收购嵌入式Linux解决方案提供商PetaLogix。随着Linux解决
    发表于 09-05 09:14 730次阅读

    及合作伙伴演示用于专业广播系统的AP Smarter解决方案

    公司今天宣布,赛及其生态系统合作伙伴在2013国际广播大会(IBC 2013)上演示用于专业广播
    发表于 09-23 14:23 1640次阅读

    为边缘端和云端提供多种加速应用和IP解决方案

    自从 4 月份公开发布 Kria SOM 产品组合以来,赛应用商店中涌现出大量新的边缘应用。作为发布、推广和销售来自赛生态系统合作伙
    的头像 发表于 06-10 18:04 2786次阅读

    FPGA之---国产化替代选型策略

    本文介绍国产FPGA厂商,利用超低功耗、超高性能的FPGA芯片,目前供货稳定,性价比
    的头像 发表于 01-04 11:13 4337次阅读

    浅谈RAM使用

    RAM在使用时可以会遇到一些问题,这里把常用的问题总结下。
    的头像 发表于 02-01 09:53 2162次阅读
    浅谈<b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>RAM使用

    内部重配置实现远程更新

    除通过外部多功能IO来选择之外,通过内部重配置实现远程更新操作也非常简单。
    的头像 发表于 05-30 09:24 2886次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>内部重配置实现远程更新

    RAM使用指南

    RAM在使用时可以会遇到一些问题,这里把常用的问题总结下。
    的头像 发表于 06-07 09:19 3086次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>RAM使用指南

    FPGA产品的主要特点

    近年来,全球半导体供应链屡受挑战,芯片短缺问题一度对行业产生深远影响。通过优化供应链管理、强化产能规划,确保客户的FPGA需求得到及时满足。面向工业控制、机器视觉、医疗影像、消费电子、汽车智驾等一众终端领域,
    的头像 发表于 12-04 14:20 2813次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>FPGA产品的主要特点