欢迎来到纳米网!
首页 > 公众号文章>正文

易灵思eMMC IP:Linux系统加载方案详解

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现已量产。

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

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

猜你喜欢

  • 艾为电子AW9967FSR:高效升压型WLED驱动芯片详解

    艾为电子AW9967FSR:高效升压型WLED驱动芯片详解

    在消费电子持续追求轻薄化与长续航的当下,背光系统能效成为关键瓶颈。传统方案在轻载场景效率低下,散热性能不足,严重制约设备续航并带来可靠性风险。数模龙头艾为电子推出新一代升压型WLED驱动芯片——AW9967FSR,以科学先进的热管理技术,打造卓越的散热...

    2025-12-01
  • Microchip发布MCP服务器:革新AI驱动的产品数据访问方式

    Microchip发布MCP服务器:革新AI驱动的产品数据访问方式

    该服务器支持跨AI平台获取可信产品信息,简化工作流程、加速设计并提高生产力 为进一步兑现公司为嵌入式工程师开发AI解决方案的承诺,Microchip Technology Inc.(微芯科技公司)今日推出模型语境协议(MCP)服务器。作为AI接口,MCP服务器可直接连接兼容的AI...

    2026-01-23
  • Microchip第22届中国技术精英年会北京站成功闭幕,下一站深圳

    Microchip第22届中国技术精英年会北京站成功闭幕,下一

    Microchip第22届中国技术精英年会(MASTERs)北京站于今日圆满落幕!来自各地的技术专家、行业伙伴和客户齐聚一堂,共同探讨前沿技术与创新应用。活动伊始,Microchip大中华区副总裁Edward Ho先生为本站致开幕词,欢迎各位嘉宾的到来,并分享了对行业发展的展望...

    2026-01-23
  • 国星半导体车规级LED芯片获2025年广东省名优高新技术产品

    国星半导体车规级LED芯片获2025年广东省名优高新技术

    近日,广东省高新技术企业协会正式发布《2025年第二批广东省名优高新技术产品名单》,国星半导体自主研发的车规级LED芯片与垂直LED芯片两大系列产品成功入选。该认定严格围绕技术创新性、质量稳定性、市场成熟度及产业化能力四大维度进行评审,是广东省...

    2025-12-02
  • 云英谷科技荣登2025中国半导体企业影响力百强,专注OLED显示驱动芯片

    云英谷科技荣登2025中国半导体企业影响力百强,专注OLED

    11月14日,世界集成电路协会(WICA)主办的“2025全球半导体市场峰会”在上海成功召开。本次峰会发布了2026全球半导体市场趋势展望暨2025中国半导体企业影响力百强及集成电路新锐企业50强报告。云英谷科技股份有限公司荣登“2025中国半导体企业影响力百...

    2026-01-23
^