MAXQ构架上闪存和SRAM存储器的分配

最新更新时间:2013-05-25来源: 互联网关键字:MAXQ  闪存  SRAM存储器 手机看文章 扫描二维码
随时随地手机看文章

MAXQ架构是一种基于标准Harvard结构、功能强大的单周期RISC微控制器,程序和数据存储总线相互独立。这种组织形式要求每个存储器具有专用总线(图1),所以可同时读取指令和操作数。由于不存在单条数据总线的冲突问题,MAXQ指令的执行时间仅需要单个周期。


图1. Harvard结构

每个MAXQ器件采用以下存储器类型:

闪存

SRAM

固定用途ROM

MAXQ器件也可从闪存、固定用途ROM或SRAM执行程序代码。从某个存储器段执行程序代码时,其它两个存储器段可作为数据存储器(更多详细信息,请参阅从闪存执行程序和执行固定用途ROM函数部分)。这是因为程序和数据存储器总线不能同时存取同一存储器段。

有人可能认为采用Harvard结构的MAXQ微控制器也不能在非易失闪存中储存数据。然而,MAXQ器件内嵌固定用途ROM函数,允许读、写非易失闪存数据。

从闪存执行程序

MAXQ器件中,从闪存执行应用程序时,数据存储器为SRAM (读和写)和固定用途ROM (只读)。从闪存执行代码时,数据存储器映射请参见表1,存储器映射参见图2

SRAM数据存储器在存储器映射中位于地址0x0000至0x07FF (字节寻址模式下)或地址0x0000至0x03FF (字寻址模式下)。

固定用途ROM在存储器映射中位于地址0x8000至0x9FFFh (字节模式)或地址0x8000至0x8FFF (字寻址模式下)。

表1. 从闪存执行应用代码时的数据存储器映射
Addressing Mode SRAM Utility ROM
Start Address End Address Start Address End Address
Byte Mode 0x0000 0x07FF 0x8000 0x9FFF
Word Mode 0x0000 0x03FF 0x8000 0x8FFF


图2. 从闪存执行应用代码时的存储器映射

执行固定用途ROM函数

执行固定用途ROM函数时,数据存储器为SRAM (读和写)和闪存(读和写)。从闪存执行应用程序且变量或数据对象位于闪存时,可通过固定用途ROM函数读或写这些变量或数据对象。通过跳转至执行固定用途ROM函数,即可将闪存作为数据进行存取。从固定用途ROM执行代码时,数据存储器映射请参见表2,存储器映射参见图3

SRAM数据存储器在存储器映射中位于地址0x0000至0x07FF (字节寻址模式下)或地址0x0000至0x03FF (字寻址模式下)。

字节寻址模式下,CDA0 = 0时,闪存的低半部分在存储器映射中位于地址0x8000至0xFFFFh;CDA0 = 1时,闪存的高半部分在存储器映射中位于地址0x8000至0xFFFFh。字寻址模式下,闪存在存储器映射中位于地址0x8000至0xFFFF。

表2. 执行固定用途ROM函数时的数据存储器映射
Addressing Mode SRAM Flash Memory
Lower Half (CDA0 = 0)
Flash Memory
Upper Half (CDA0 = 1)
Flash Memory
Start Address End Address Start Address End Address Start Address End Address Start Address End Address
Byte Mode 0x0000 0x07FF 0x8000 0xFFFF 0x8000 0xFFFF
Word Mode 0x0000 0x03FF 0x8000 0xFFFF


图3. 执行固定用途ROM函数时的存储器映射

闪存和SRAM中的存储器分配

IAR嵌入式工作台IDE用于编程基于MAXQ核的微控制器。IAR™ C编译器(用于MAXQ微控制器)提供用于定义闪存或SRAM位置中数据对象或变量的选项。编译器具有特殊关键词pragma locationpragma required;通过使用关键词,可将存储器分配给绝对地址的数据对象或变量。必须用IAR关键词__no_initconst (标准C关键词)声明这些变量或数据对象。请参见下文中__no_initconstpragma locationpragma required的关键词说明。

pragma location

#pragma location用于定义绝对地址的单个全局或静态变量或数据对象。变量或数据对象必须声明为__no_initconst。这对于必须位于固定地址的个体数据对象非常有用,例如变量、带有外部或内部接口的数据对象或增加的硬件表项。

pragma required

#pragma required确保链接输出中包括某个符号所需的另一个符号。该指令必须放在紧邻第二个符号的前边。如果符号在应用中不可见,使用该指令。例如,如果仅通过某个变量所在的段对其进行间接引用,必须使用#pragma required

__no_init

正常情况下,应用程序启动时,IAR运行时环境将全部全局和静态变量初始化为0。IAR C编译器支持声明不初始化的变量,使用__no_init类型限定符。声明为__no_init的变量在启动时被禁止。不可能为__no_init对象赋予初始值。

例如:__no_init char MaximChar @ 0x0200;

本例中,声明为__no_init的变量被放在默认数据存储器(SRAM)的一个绝对地址。

const

const关键词意味着对象为只读。这类限定符用于表示直接或通过指针存取的数据对象,不可写。当const随关键词#pragma location#pragma required一起使用时,IAR分配#pragma location定义的位置的存储器。这对于配置从外部接口进行存取的参数非常有用。这样的闪存数据只能由固定用途ROM函数读或写。

IAR默认存储器模型中,不可存取绝对地址的常量。利用选项Place constants in CODE (在IAR Project  Option General Option  Target window)使其可存取,如图4所示。


图4. IAR项目选项窗口

例1

const int FLASH_DATA0;
//FLASH_DATA0 is initialized to 0x0000 and linker will allocate memory address.

例2

#pragma location = 0xA000
const int FLASH_DATA1 = 0x1234;
#pragma required = FLASH_DATA1
本例中,存储器分配为闪存地址0xA000,初始化为0x1234。

例3

#pragma location = 0xA002
__no_init const int FLASH_DATA2 //Memory is allocated at the address 0xA002 (byte address)
#pragma required = FLASH_DATA2

本例中,存储器分配为闪存地址0xA002,不初始化。

上例中,有三个声明为常量的对象,第一个初始化为0,第二个初始化为规定值,第三个不初始化。全部三个变量均在闪存中。

关键字:MAXQ  闪存  SRAM存储器 编辑:神话 引用地址:MAXQ构架上闪存和SRAM存储器的分配

上一篇:基于DDS芯片和集成锁相芯片构成的宽频合成器设计
下一篇:白光led的详细介绍

推荐阅读最新更新时间:2023-10-13 10:57

工业闪存控制器现已量产
康斯坦茨,德国 14.11. 2019 - X1在突发电源故障的情况下进行严峻的测试,代表产品可靠性的失效率(FIT)表现良好。具备hyMap®固件、hyReliability™功能和Full SATA合规的工业闪存控制器现已量产,因此可接受大量订购。除了为工业应用提供全面的NAND闪存支持外,Hyperstone还提供广泛的健康监控工具,以实现进阶的系统等级认证。 连同固件和参考设计的X1 SATA III SSD控制器,可作为工业和嵌入式市场的存储应用,得以受益于最节能和可靠的SSD解决方案。强大且高效的专利双核处理器具有先进的安全功能,可确保系统运作万无一失。Hyperstone的eXtended Endurance(F
[嵌入式]
工业<font color='red'>闪存</font>控制器现已量产
三星生产专用于驾驶辅助系统的eUFS闪存
三星电子公司将生产嵌入式通用闪存存储(embedded Universal Flash Storage),用于下一代汽车。   三星公司表示,这款eUFS闪存专为先进的驾驶辅助系统、仪表板系统和信息娱乐系统而设计,提供64GB和128GB两个版本。 自2015年初,由eMMC升级而来的eUFS已经用于移动设备。当时,eUFS可是旗舰手机的专享,而如今中档手机也开始使用eUFS替代原有的eMMC了。 三星这款eUFS闪存将提供更强的数据传输速度,其读取速度高达每秒850兆字节,随机读取速度为每秒45,000输入或输出操作。 eUFS闪存符合JEDEC UFS 2.1标准,以及即将推出的JEDEC UFS 3.0标准,并具有必要的数
[嵌入式]
采用30纳米工艺设计,三星开发成功全球首款64Gb NAND闪存
三星开发成功了全球第一个64Gb多层单元NAND闪存芯片。该芯片采用30纳米工艺设计。据三星介绍,这标志着存储密度连续第八年每年提高一倍,连续第七年纳米尺度为NAND闪存得到改善,2001年开发的100纳米NAND具有1Gb容量。 该NAND芯片的生产采用了三星开发的自排列双成型技术(SaDPT)。 使用SaDPT,使三星能够在30纳米生产过程中利用现有的光刻设备。它计划在2009年实现大规模生产。三星表示,通过采用传统的光刻设备,它能够大大加快实现量产的速度,同时改善生产的成本效率。三星引用市场调研公司Gartner的研究报告称,64Gb NAND闪存以及更大容量器件的市场规模可能在2009-2011年达到200亿美
[焦点新闻]
英特尔出售闪存业务 索尼爱立信是潜在买家
1月17日消息,据国外媒体报道,英特尔可能出售位于以色列Kiryat Gat地区的闪存制造工厂“Fab18”,而潜在买家可能是索尼爱立信。 据Globes报告显示,英特尔首先将关闭位于耶路撒冷地区的“Fab 8”工厂。几日内,英特尔将宣布出售“Fab18”工厂。目前,该工厂拥有雇员3500名。 日前,索尼爱立信已捷足先登,与英特尔进行了接触。报道称,索尼爱立信或成为英特尔闪存业务的买家,或作为一家私募资本基金的投资者参与收购。
[焦点新闻]
三星量产512GB闪存,Galaxy S9容量有望翻倍
   三星 宣布512GB 闪存 已进入量产,意谓着明年Galaxy S9与Galaxy Note 9等新旗舰机储存容量有望从当前最大256GB翻倍成长。下面就随网络通信小编一起来了解一下相关内容吧。   512GB 闪存 主要因应4K超高分辨率影片的录制需求增加,据 三星 表示,新内存芯片可容纳130个10分钟4K短片。 (日经新闻)    三星 从2015年开发出128GB内存以来,已连续三年将内存逐年倍增,成功将3D 64层 闪存 商业化。 展望未来,三星将再推出96层3D堆栈闪存。   目前iPad Pro、微软Surface平板均有提供512GB机种,不过三星同容量的新芯片体积缩小至与256GB同大小,且访问速度更快。
[网络通信]
次品闪存内幕揭秘 洋垃圾闪存芯片是来源之一
内存内部结构图 一位技术主管的来信:我所了解的次品闪存内幕   不久前,记者接到一封神秘邮件。发信人自称是某闪存IC厂的负责人,熟悉闪存扩容的具体操作,愿意为读者揭开闪存行业不为人知的秘密。带着几分好奇与疑虑,记者进行了深入查访。    主控厂商才是万恶之源?   发信人王祖宏(化名)此前是国内一家中等规模主控芯片生产商的CTO(首席技术官),负责IC的研发及测试。他的客户都是一些深圳小厂,即人们常说的山寨厂。“我们的IC过不了ESD抗静电标准,所以入不了大厂法眼”,王祖宏笑称.   虽然接不到名厂大单,却也从来不为生计发愁。依靠庞大的山寨市场,每个月走300万~400万片的IC
[焦点新闻]
次品<font color='red'>闪存</font>内幕揭秘 洋垃圾<font color='red'>闪存</font>芯片是来源之一
NAND闪存深入解析
对于许多消费类音视频产品而言,NAND闪存是一种比硬盘驱动器更好的存储方案,这在不超过4GB的低容量应用中表现得犹为明显。随着人们持续追求功耗更低、重量更轻和性能更佳的产品,NAND正被证明极具吸引力。   NAND闪存阵列分为一系列128kB的区块(block),这些区块是NAND器件中最小的可擦除实体。擦除一个区块就是把所有的位(bit)设置为“1”(而所有字节(byte)设置为FFh)。有必要通过编程,将已擦除的位从“1”变为“0”。最小的编程实体是字节(byte)。一些NOR闪存能同时执行读写操作(见下图1)。虽然NAND不能同时执行读写操作,它可以采用称为“映射(shadowing)”的方法,在系统级实现这一点。这种方
[模拟电子]
NAND<font color='red'>闪存</font>深入解析
三星展示新双核芯片、NAND闪存和传感器技术
  8日消息,据外媒报道,三星于今日通过行动解决方案年度论坛(SamsungMobileSolutionsForum)展示了新款处理器、最新的闪存技术,以及最新的摄像头技术。   但是,三星并没有公布这三个新技术产品的主要客户和订单情况,不过除了三星自身打头阵之外,苹果依然被公认为其最重要的客户之一,对象包括IOS设备和Mac的SSD硬盘。据此前传闻称,苹果已经将部分生产线撤离三星,但是否全部撤离将取决于三星本身。   Exynos4212双核心处理器   首先是三星最新自主研发的芯片――Exynos4212双核心处理器,采用新32nm工艺打造,主频1.2GHz提升至1.5GHz,目前该处理器应运用在三星最新的旗
[手机便携]
小广播
最新电源管理文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关:

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved