STM32G4系列存储访问的两个小话题

发布者:TranquilSoul最新更新时间:2023-08-30 来源: elecfans关键字:存储  访问 手机看文章 扫描二维码
随时随地手机看文章

一、有关CCM访问地址的话题

有用过STM32F4系列部分芯片或STM32F334芯片的人,可能知道片内有个CCM【Core Coupled Memory】区域,从芯片系统框图结合文字说明,可以清晰知道这个区域仅能被CPU访问,常用来存放些对执行效率敏感的关键性的代码或数据。也就是说对于这两个系列的CCM区域,DMA是访问不了的。


下面截图分别来自STM32F42X/STM32F43X器件和STM32F334器件的参考手册。

bfd482ba-7885-11ed-8abf-dac502259ad0.png

c00c6a90-7885-11ed-8abf-dac502259ad0.png

到了STM32G4系列,里面依然也有CCM这个区域。见下面STM32G4系统框架图。

c0388986-7885-11ed-8abf-dac502259ad0.png

从框架图上看,这个CCM区域不仅可以被CPU访问,也可以被DMA访问。关于它的起始地址也有相关描述:

c060a722-7885-11ed-8abf-dac502259ad0.png

从上面描述来看,CCM的地址起始于0x1000 0000和SRAM2结尾的地方。至于SRAM2结尾的地址还跟STM32G4具体的子系列或型号有关,见下面截图资料:

c0990efa-7885-11ed-8abf-dac502259ad0.png

那么这两个地址空间怎么用,或者说区别是什么呢?

当为了充分发挥CPU对这块区域的访问效能时就使用0x1000 0000开始的地址空间,此时CPU通过ICode总线访问这个区域。这块地址空间DMA是访问不了的,属CPU专访区。

若希望DMA访问这块物理区域,DMA要通过总线矩阵来访问,所用的空间则是0x20005800或0x20018000(视具体系列而定)开始的一段地址。此时,这个CCM区域在DMA眼里,不过是SRAM2区域延伸出来的一块别名区。当我们试图让DMA访问这个区域时,地址别给错了,不要使用CPU的专用地址,而要给0x20005800或0x20018000开始的地址。

c0e4ab8a-7885-11ed-8abf-dac502259ad0.png

也就是说同一个物理空间,不同的主体通过走不同的地址路线而实现不同的访问、执行性能。这样的设计更具灵活性,以满足五彩斑斓的实际应用需求。就像我们要到达某个地方完成某事,有人走正门,有人走侧门,甚至有人飞檐走壁,各用所便,各尽所能,各取所需。

当然,G4系列的CCM除了上面因访问主体不同采样不同地址空间的灵活特性外,还加强了很多安全特性,比方奇偶校验、读写保护等,有兴趣可以进一步阅读相关参考手册。

二、有关位带操作的话题

有人问起STM32G4系列是否支持位带操作方面的相关话题。

要问STM32某个系列是否支持位带操作,首先得看看相关STM32系列所用ARM内核是否支持位带操作。如果内核本身就不支持位带功能,STM32是不会支持该功能的。反之,如果相关ARM核支持位带操作,基于该核的STM32系列一般都会支持位带操作,而且在相关STM32参考手册里一定会明确说明。【其实,第三方芯片设计者在基于ARM核设计、集成芯片时,对于内核的部分功能或者核外设是有取舍权的。】

具体到STM32G4系列芯片,它属于cortex M4核,该核内置位带功能,STM32G4芯片也集成了该功能,在STM32G4参考手册上也有明确描述。【下图截取于STM32G4参考手册】

c109dab8-7885-11ed-8abf-dac502259ad0.png

这里的位带区特指一段片内SRAM空间和外设寄存器空间。位带区的SRAM里的每一位或外设寄存器的每一位都可以通过访问相应的另外一段地址空间的一个字实现读写操作,这个另外一段地址空间就称之为位带区的别名区。

不过,在STM32参考手册里,针对位带操作的介绍相对比较简单,主要是因为ARM内核相关手册有较为详细的描述。STM32参考手册里主要就如何计算别名区的地址做了个演示,并提示阅读相关ARM 内核手册。

c1440ac6-7885-11ed-8abf-dac502259ad0.png

上图截取于STM32G4参考手册RM0440。有人纳闷示例中的0x2200,0000是从哪里来的?翻遍整个G4系列参考手册也不知它怎么冒出来的。其实,这个地址是在Arm cortex M4内核手册里明确的。见下图:

c18b8270-7885-11ed-8abf-dac502259ad0.png

上图来自于Cortex -M4Devices Generic User Guide。

上图清晰了给出两块位带区【SRAM区和外设寄存器区】以及对应的别名区的地址边界和对应关系。图中浅紫色表示位带区,绿色表示别名区。显然,位带区字节地址为0x2000,0000的bit0对应别名区的字地址就是0x2200,0000;位带区字节地址为0x2000,0000的字节的bit1对应别名区的字地址就是0x2200,0004,这样依此类推。

关于位带操作的介绍,除了上面的Memory框图外,在内核手册里还有更多包括地址计算在内的详细介绍。下面三副截图均来自M4内核用户手册。

c1d70024-7885-11ed-8abf-dac502259ad0.png

c2211e20-7885-11ed-8abf-dac502259ad0.png

c26156ca-7885-11ed-8abf-dac502259ad0.png

关于位带操作的介绍就聊到这里,顺便给几点提醒:

1、不是所有STM32系列都支持位带操作,是否支持终究由内核决定;

2、执行位带操作的主体只能是CPU,而不能是别的,比方DMA;

3、位带操作只支持针对数据,而不能针对指令;

上面主要分享了STM32G4系列中有关CCM和Bit Banding应用方面的话题,做了些提醒及分享,以供参考。


关键字:存储  访问 引用地址:STM32G4系列存储访问的两个小话题

上一篇:STM32单片机GPIO概述及相关寄存器
下一篇:STM32实现单麦克风实时神经网络降噪

推荐阅读最新更新时间:2024-10-10 15:02

三星预测未来五年高清DVD将雪崩式增长
  三星电子预测说,蓝光影碟的需求量在未来五年内将会出现雪崩式的增长,为此,三星将进一步增大此方面的研发投入,以从中获取更大的市场份额。   三星数码音视频部门主管Jun Dong-soo表示,全球高清DVD市场规模将会保持每年80%的增长速度直到2012年,届时全球蓝光DVD播放器的总销量将达到5100万台。   Jun接着表示,即使是按保守的估计,今年的蓝光播放器总销量预计会有500万台,即去年销量的3倍。至于三星的蓝光产品销售额,今年将达到4.02亿美元,预计到2010年会超过到10亿美元。   时至今日,蓝光与HD DVD之间那场激烈的格式大战已落下帷幕。蓝光所代表的下一代DVD格式将向消费者提供令人惊叹的高清视觉享
[焦点新闻]
基于DRFM的欺骗干扰与雷达目标模拟实现
引言 在雷达的测试系统中,常常需要模拟日标回波;同时,为了测试雷达的抗干扰特性,还需要产生欺骗干扰的信号。DRFM(数字射频存储器)由于可以高保真的存储和复制采样信号,测试系统不仅可以产生多个假目标,还可以产生距离拖引干扰和速度拖引干扰。 1 系统组成及原理 雷达的测试系统需要模拟目标的航迹。对于高速运动的目标,其控制系统需实时计算控制参数,供功能块使用。因DSP(数字信号处理器)芯片采用的是哈佛结构的并行体系结构,具有独立的数据存储空间和程序存储空间,它的数据和程序分别存储在不同的存储器之中。采用TI公司的DSP处理芯片,其中TMS320C2000系列是面向控制型的处理芯片,也有较强的计算能力,以适应快速数字信号处理运算的
[嵌入式]
合肥长鑫DRAM正式投片 国产存储跨出重要一步
据怀新资讯报道,据报道,国产存储三大势力之一的合肥长鑫正式投片,这是国产DRAM产业的一个里程碑,加上早前宣布在3D NAND Flash取得进展的长江存储,国内企业在国际主流存储器上取得了重大突破。业内认为,相关公司有望受益存储国产化进程。公司方面,兆易创新与合肥长鑫合作开展12英寸晶圆存储器研发项目。亚翔集成、太极实业控股子公司曾中标合肥长鑫12寸存储器晶圆制造基地项目。
[嵌入式]
谷歌正式推出在线存储服务Google Drive
    Google Drive页面截图(腾讯科技配图) 腾讯科技讯(萧谔) 北京时间4月25日消息,据国外媒体报道,谷歌周二推出了等待已久的在线存储服务Google Drive,允许用户在该公司的服务器上存储照片、文件和视频,并通过包括苹果的iPhone和iPad等网络连接设备访问这些文件。       新服务被视为谷歌与硅谷最炙手可热的新创企业Dropbox以及类似公司竞争的尝试。今年2月《华尔街日报》曾报道,谷歌将在数月内推出该服务。与Dropbox一样,Google Drive也是针对移动互联网设备如智能手机和平板电脑的日益增长和云计算的兴起,可在线存储文件,然后从多种设备访问并很方便地与他人分享。    
[手机便携]
用MATLAB和声卡实现T型波信号发生器
  MATLAB有强大的音频处理函数和强大的数据处理功能,能够方便地产生各种波形的数据数组,同时通过音频处理函数又可以很方便的将数据数组传递给声音设备,并以特定的采样频率和传输比特位由声卡输出。本文以MATLAB6.5版和Waveterminal 192L声卡为例,介绍了实现T型波信号发生器的方法。   在进行通讯和DSP等试验过程中,信号源是不可缺少的一个工具,很多设备是使用信号源来模拟检测实际目标,来验证设备的功能及可靠性。通常,对于研制单一产品的厂家来说,需要某一固定的信号源即可,在市场上也可以找到性价比合适的产品。但对于某些开发人员来说,单一的信号源远远满足不了要求,他们可能需要各种频率、各种包络和精度的信号源来验证设
[测试测量]
c行业周期即将逆转,存储器芯片景气或触顶
  摩根士丹利(Morgan Stanley,大摩)26日以明年存储器芯片获利恐难显著成长为由,将三星电子公司(Samsung Electronics Co Ltd)投资评等自“加码”降至“中性权重”,目标价下修3.4%至280万韩元。大摩指出,随着NAND型快 闪存 储器报价在2017年第四季开始反转,下行风险随之升高;在此同时,2018年第一季以后的DRAM供需能见度也已降低。自2016年一季度以来半导体行业所享受的强劲市场需求和史无前例的定价权难以为继,NAND 闪存 超级周期料将发生逆转。下面就随网络通信小编一起来了解一下相关内容吧。   三星电子10月表示,2018年DRAM、NAND型快 闪存 储器供需预估将持续呈现
[网络通信]
访问单片机各部分使用的寻址方式
1.访问片内RAM低128字节使用哪些寻址方式?访问片内RAM高128字节使用什么寻址方式?访问SFR使用什么寻址方式? 答: 访问片内RAM低128字节使用直接寻址,寄存器间接寻址,位寻址;访问片内RAM高128字节使用寄存器间接寻址;访问SFR使用直接寻址,位寻址。 2.访问片外RAM使用什么寻址方式? 答: 访问片外RAM使用寄存器间接寻址 3.访问程序存储器使用什么寻址方式?指令跳转使用什么寻址方式? 答: 访问程序存储器使用指令绝对寻址,指令相对寻址。指令跳转使用指令绝对寻址,指令相对寻址。 script src="/js/ti_keywords.js" /script
[单片机]
ARM基础知识教程四:ARM存储系统概述
* ARM存储系统的体系结构适应不同的嵌入式应用系统的需要差别很大。最简单的存储系统使用平办事的地址映射机制,就像一些简单的弹片机系统中一样,地址空间的分配方式是固定的,系统各部分都使用物理地址。而一些复杂系统可能包括下面的一种或几种技术,从而提供更为强大的存储系统。 系统中可能包含多种类型的存储器,如FLASH,ROM,RAM,EEPROM等,不同类型的存储器的速度和宽度等各不相同。 通过使用CACHE及WRITE BUFFER技术缩小处理器和存储系统速度差别,从而提高系统的整体性能。 内存管理部件通过内存映射技术实现虚拟空间到物理空间的映射。在系统加电时,将ROM/FLASH影射为地址0,这样可以进行一些初始化处理;当这些初始
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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