技术文章
华大电子芯片CIU32M010、CIU32M030存储器映射
- 电话: 02*******900
- 手机: 18******453
- 微信:
- 交换名片后展示联系方式 → →

片上 SRAM
芯片内置 8K 字节的 SRAM。它可以按字节(8 位)、半字(16 位)或字(32 位)进行访问。 SRAM 起始地址为 0x2000_0000。
片上 FLASH 概述
闪存存储器有两个不同存储区域
• 主闪存存储块,它包括应用程序和用户数据区(若需要时)
• 副闪存存储块,也叫信息块,其包含两个部分
– 选项字节(Option bytes)-内含硬件及存储保护用户配置选项。
– 系统存储器(System memory) - 闪存接口基于 AHB 协议执行指令和数据存取。
引导配置
芯片复位后,通过客户自己在副闪存的配置,选择 SWDCLK 默认工作是上拉还是下拉。正常启动后, CPU 从地址 0x0000_0000 获取堆栈顶的地址,并从存储器0x0000_0004 位置指示的地址开始执行代码。
位带操作
为了减少“读-改-写”操作的次数,32 位 RISC 处理器提供了一个可以执行单原子比特操作的位带功能。存储器映射包含了两个支持位带操作的区域。其中一个是 SRAM 区的 1MB 范围,第二个是片内外设区的1MB 范围。这两个区域中的地址除了普通应用外,还有自己的“位带别名区”。位带别名区把每个比特扩展成一个 32 位的字。当用户访问位带别名区时,就可以达到访问原始比特的目的。
下面的公式表明了位带别名区中的每个字如何对应位带区的相应比特或目标比特。
bit_word_addr =bit_band_base +(byte_offset×32)+(bit_number×4)
其中:
• bit_word_addr 指的是位带区目标比特对应在位带别名区的地址;
• bit_band_base 指的是位带别名区的起始地址;
• byte_offset 指的是位带区目标比特所在的字节的字节地址偏移量;
• bit_number 指的是目标比特在对应字节中的位置(0-7)。
例如,要想访问 0x2000 0200 地址的第 7 位, 可访问的位带别名区地址是:
bit_word_addr = 0x2200 0000 + (0x200 * 32)+ (7 * 4)= 0x2200 401C
如果对 0x2200 401C 进行写操作,那么 0x2000 0200 的第 7 位将会相应变化;如果对 0x2200 401C进行读操作,那么视 0x2000 0200 的第 7 位状态而返回 0x01 或 0x00。
沈阳芯硕科技有限公司是华大电子业代理商,有技术问题可咨询我们
原创作者:沈阳芯硕科技有限公司

