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

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

3天内不再提示

FPGA开发板中几种不同的存储器

电子工程师 来源:FPGA设计论坛 作者:FPGA设计论坛 2020-10-09 11:41 次阅读

FPGA开发板上都有几种不同的存储器,比如SDRAM,FLASH,EPCS,还有内部onchip memory,这几种存储器间是如何通信或者构建一个系统该如何搭配他们呢,不少人都问到这个问题。在这里我做个总结以方便初学者的学习。

首先看看在sopc builder中reset address

该如何搭配他们呢,不少人都问到这个问题。在这里我做个总结以方便初学者的学习。

首先看看在sopc builder中reset address和nios IDE中System Library中的program memory(.text)、read-only data memory(.rodata)等这几个地址的关系和作用根据altera 的文档解释如下:

.text :代码执行区

.rodata:只读数据区,存放静态全局变量

.rwdata:可读写数据区,存放可读写变量和指针变量

.bss:未初始化变量区

.text-the actual executable code

.rodata-where read only data used in the execution of the code

.rwdata-where read/write variables and pointers are stored

heap-where dynamically allocated memory is located

stack-where function call parameters and other temporary data

SOPC builder 在Nios II more "cpu_0" setting 标签中的

reset address 决定了flash programmer 的下载存储器(一般是选EPCS controller 或者CFI

flash),并且决定了程序从此处开始启动。exception address 指定的是异常处理地址。当然,程序在运行前所有的数据都是存放在flash(EPCS 或者CFI FLASH)中如果你设计的系统resetaddress 与其它地址的设置不相同,比如reset address 和exceprion address,reset address和IDE 中的program memory(.text)设成不同的存储器,那么系统从reset address 启动时都会从flash 中把相关数据自动下载到相应的地址或者初始化相应地址。通过上面的认识,我们就比较清楚了各存储器间可进行哪些搭配了,reset address 的选择可选EPCS controllor 或者CFI flash;program memory(.text) 可选择onchipmemory,SDRAM,CFI flash 等。如果reset address 为EPCS 则在使用flash progrrammer时程序是下载到EPCS 芯片中。如果reset address 选择CFI flash,则flash progrrammer时程序是下载到CFI flash 芯片中。需要注意的是这里有个特殊情况。例如在开发板上经常有这么一个简单的系统,CPU+

onchip memory+LED_PIO,reset address 选择onchip memory;感觉整个系统都没有用到flash。而且onchip memory 在系统断电后数据就会消失,那么程序代码是存在哪,系统如何从onchip memory 启动听呢?先来看看onchip memory 模块的描述信息:在onchip_memory.v 中有这么一段the_altsyncram.init_file = "onchip_memory.hex",很明显onchip memory 的初始数据来自"onchip_memory.hex",而"onchip_memory.hex"是在NiosIDE 的System Library 中存储器有选择onchip_memory( 至少有一项是选择onchip_memory,如果都不选,就不会生成)时,在build 结束的时候生成的。于是当我们把System Library 中存储器的选择都选择onchip_memory 时,在IDE 中build 结束后所有的程序代码都生成在"onchip_memory.hex"中,再在QII 中全编译一次时,系统通过onchip_memory.v 调用"onchip_memory.hex"从而把所有的程序代码以及配制信息都生成在POF 和SOF 文件中,使用QII 的programmer 直接下载到EPCS 芯片或者FPGA 芯片内程序都会立即执行。因为这里的特殊性就有很多网友询问了,reset address 选择onchipmemory,而IDE 中把代码区都选择SDRAM 调试的时候程序正常运行,再在QII 全编译后下载POF 文件就运行不了呢?问题就是出在这了,在这里可以总结出一点,要让程序在onchip memory 之外的存储器中运行,那么reset address 就必然选EPCS 或者CFI flash,并且要通过flash programmer 把程序下载到flash 中。

责任编辑:YYX

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

    关注

    1629

    文章

    21734

    浏览量

    603110
  • 存储器
    +关注

    关注

    38

    文章

    7485

    浏览量

    163794
收藏 人收藏

    评论

    相关推荐

    蓝桥杯物联网开发板硬件组成

    第一节开发板简介物联网设计与开发竞赛实训平台由蓝桥杯大赛威廉希尔官方网站 支持单位北京四梯科技有限公司设计和生产,该产品可用于参加蓝桥杯物联网设计与开发赛道的竞赛实训或院校相关课程的实践教学环节。开发板
    的头像 发表于 12-22 21:30 202次阅读
    蓝桥杯物联网<b class='flag-5'>开发板</b>硬件组成

    正点原子fpga开发板不同型号

    处理FPGA逻辑单元。ZYNQ-7000系列的开发板通常具备以下特点: 低成本 :适合预算有限的个人和教育机构。
    的头像 发表于 11-13 09:30 641次阅读

    正点原子和野火开发板哪个好

    1.1 正点原子 正点原子开发板通常采用Xilinx公司的ZYNQ系列FPGA芯片,这些芯片集成了ARM处理FPGA逻辑单元,能够实现高性能的嵌入式系统设计。正点原子
    的头像 发表于 11-13 09:29 822次阅读

    ARM开发板FPGA的结合应用

    大的功能和更高的灵活性,满足各种复杂应用的需求。 二、ARM开发板FPGA的优势 高性能:ARM处理器具有高性能的特点,可以处理复杂的算法和任务。FPGA则可以实现高速的数字信号处理,两者结合可以实现高性能的嵌入式系统。 低功
    的头像 发表于 11-05 11:42 456次阅读

    存储器分为随机存储器和什么

    ,Read-Only Memory)。 一、随机存储器(RAM) 随机存储器的定义和特点 随机存储器(RAM)是一种可读写的存储器,其特点是可以随机访问
    的头像 发表于 10-14 09:54 934次阅读

    存储器访问速度最快的是什么

    在探讨存储器访问速度最快的是哪一种时,我们首先需要了解计算机存储系统的层次结构以及各类存储器的特性和功能。计算机存储系统通常包括多个层次的
    的头像 发表于 10-12 17:01 1823次阅读

    存储器的数据会因为断电而丢失吗

    存储器的数据是否会因为断电而丢失,取决于存储器的类型及其工作原理。在深入探讨这个问题之前,我们首先需要了解存储器的基本分类及其特性。
    的头像 发表于 09-26 15:23 2057次阅读

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理、内存、存储器、输入/输出接口等硬件组件,以及一个基于Linux的操作系统和
    的头像 发表于 09-02 09:09 376次阅读

    嵌入式linux开发板芯片的工作原理

    了处理存储器、输入/输出接口等硬件资源的嵌入式系统开发平台。它通常采用Linux操作系统作为底层软件平台,提供了丰富的开发工具和库函数,方便开发
    的头像 发表于 09-02 09:07 384次阅读

    一文读懂常见存储器类型

    存储器是计算机系统中用于存储和读取数据的硬件组件,根据存储介质和工作原理的不同,存储器可以分为多种类型。本文将从易失性存储器和非易失性
    的头像 发表于 07-15 15:53 4235次阅读

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)威廉希尔官方网站 的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字
    的头像 发表于 03-14 18:20 2006次阅读

    fpga开发板使用教程

    FPGA开发板的使用教程主要包括以下几个关键步骤。
    的头像 发表于 03-14 15:50 1117次阅读

    半导体存储器有哪些 半导体存储器分为哪两种

    以下几种类型: 静态随机存取存储器(Static Random Access Memory,SRAM): SRAM是由触发组成的存储单元构成的,
    的头像 发表于 02-01 17:19 3029次阅读

    fpga开发板与linux开发板区别

    FPGA开发板与Linux开发板是两种不同的硬件开发平台,各自具有不同的特点和应用场景。在以下的文章,我将详细介绍
    的头像 发表于 02-01 17:09 2243次阅读

    51单片机开发板的主要功能 51单片机开发板能做什么

    具有多个通用输入输出引脚,可以连接各种外部设备和传感,实现数据的输入和输出。 时钟管理:开发板通常会集成时钟电路,包括晶振、时钟发生等,可以提供稳定的时钟信号给单片机使用。 存储器
    的头像 发表于 01-23 15:52 3716次阅读