dsp中F28335芯片,存储器扩展包括基地址和偏移地址,地址如何形成
时间: 2023-07-28 22:57:40 浏览: 249
在F28335芯片中,存储器扩展的地址形成方式如下:
1. 基地址:F28335芯片的存储器分为内部存储器和外部存储器,内部存储器的基地址为0x0000 0000,外部存储器的基地址可以通过设置GPIO寄存器来确定。
2. 偏移地址:偏移地址是根据需要访问的存储器单元的地址计算出来的。具体计算方式取决于访问的存储器类型和访问方式。例如,对于外部存储器的访问,可以通过设置GPIO寄存器来确定外部存储器的基地址和偏移地址,然后通过读写指令来访问存储器。
需要注意的是,在F28335芯片中,存储器的访问是按字节进行的,因此在计算偏移地址时需要考虑每个存储单元的字节大小。
相关问题
F28335的外扩存储器基地址和偏移地址的设计举例说明
F28335 是 TI 公司的 TMS320 系列 DSP,可以通过配置 EMIF(External Memory Interface)寄存器来设置外扩存储器的基地址和偏移地址。下面以将外扩存储器连接到 DSP 的地址 0x80000000,偏移地址为 0x4000 为例进行说明。
首先,需要使能 EMIF:
```c
EMIF1_CONFIG = 0x00001619; // 配置 EMIF 控制器
EMIF1_CE0_CONFIG = 0x00001003; // 配置 CE0(Chip Enable 0)
EMIF1_CE1_CONFIG = 0x00001003; // 配置 CE1(Chip Enable 1)
EMIF1_CE2_CONFIG = 0x00001003; // 配置 CE2(Chip Enable 2)
EMIF1_CE3_CONFIG = 0x00001003; // 配置 CE3(Chip Enable 3)
EMIF1_SDRAM_CONFIG = 0x6185DA90; // 配置 SDRAM
EMIF1_SDRAM_REF_CTRL = 0x0101; // 配置 SDRAM 刷新控制
EMIF1_SDRAM_TRFC = 0x0072; // 配置 SDRAM 自刷新周期
EMIF1_SDRAM_TREF = 0x0394; // 配置 SDRAM 刷新间隔
EMIF1_SDRAM_TMRD = 0x0003; // 配置 SDRAM 模式寄存器延迟
EMIF1_SDRAM_TINIT = 0x0BB8; // 配置 SDRAM 上电初始化时间
EMIF1_SDRAM_BANK_ACTIVATE = 0x0003; // 配置 SDRAM 银行激活延迟
EMIF1_SDRAM_TRCD = 0x0003; // 配置 SDRAM 行到列延迟
EMIF1_SDRAM_TRP = 0x0003; // 配置 SDRAM 行预充电延迟
EMIF1_SDRAM_TRAS = 0x0008; // 配置 SDRAM 自动刷新延迟
EMIF1_SDRAM_TRC = 0x000F; // 配置 SDRAM 行循环延迟
EMIF1_SDRAM_TWR = 0x0003; // 配置 SDRAM 写保持延迟
EMIF1_SDRAM_TWTR = 0x0001; // 配置 SDRAM 写到读延迟
EMIF1_SDRAM_TRRD = 0x0001; // 配置 SDRAM 行间延迟
EMIF1_SDRAM_TREF_FREF_RATIO = 0x0007; // 配置 SDRAM 刷新和外部时钟比值
EMIF1_SDRAM_TDAL = 0x0001; // 配置 SDRAM 周期延迟
EMIF1_SDRAM_CONFIG2 = 0x0000; // 配置 SDRAM 控制器 2
EMIF1_SDRAM_CONFIG3 = 0x0000; // 配置 SDRAM 控制器 3
EMIF1_SDRAM_CONFIG4 = 0x0000; // 配置 SDRAM 控制器 4
EMIF1_SDRAM_CONFIG5 = 0x0000; // 配置 SDRAM 控制器 5
EMIF1_SDRAM_CONFIG6 = 0x0000; // 配置 SDRAM 控制器 6
EMIF1_SDRAM_CONFIG7 = 0x0000; // 配置 SDRAM 控制器 7
EMIF1_GBLCTL |= 0x00000001; // 使能 EMIF
```
然后,需要设置基地址和偏移地址:
```c
EMIF1_GBLCTL |= 0x10000000; // 设置基地址为 0x80000000
EMIF1_A2 = 0x00004000; // 设置偏移地址为 0x4000
```
通过以上配置,外扩存储器就可以连接到 DSP 的地址 0x80004000,可以进行数据读写操作。需要注意的是,具体的配置方法和寄存器名称可能因不同的 DSP 而异,需要参考相应的 DSP 的手册进行配置。
dsp中外扩存储器基地址和偏移地址怎么配置,并举例说明
在 DSP 中,配置外扩存储器的基地址和偏移地址需要对 DSP 的寄存器进行设置。具体的配置方法和寄存器的名称可能因不同的 DSP 而异,下面是一些常见的 DSP 的配置方法和寄存器名称。
1. TI 公司的 TMS320 系列 DSP:
对于 TMS320 系列 DSP,基地址和偏移地址都需要通过配置 EMIF(External Memory Interface)寄存器来设置。其中,基地址可以通过 EMIF_GCTL 寄存器的 EMIF_GCTL_EBBS 位来设置,偏移地址可以通过 EMIF_A2 寄存器来设置。例如,如果要将外扩存储器连接到 DSP 的地址 0x10000000,偏移地址为 0x2000,则可以进行如下设置:
EMIF_GCTL = 0x00000001; // 使能 EMIF
EMIF_GCTL |= 0x10000000; // 设置基地址为 0x10000000
EMIF_A2 = 0x00002000; // 设置偏移地址为 0x2000
2. ADI 公司的 Blackfin 系列 DSP:
对于 Blackfin 系列 DSP,基地址和偏移地址可以通过两个寄存器来设置,分别是 R0 和 R1。其中,R0 保存基地址,R1 保存偏移地址。例如,如果要将外扩存储器连接到 DSP 的地址 0x20000000,偏移地址为 0x1000,则可以进行如下设置:
R0 = 0x20000000; // 设置基地址为 0x20000000
R1 = 0x1000; // 设置偏移地址为 0x1000
需要注意的是,不同的 DSP 在配置外扩存储器时可能存在差异,具体的配置方法和寄存器名称需要参考相应的 DSP 的手册。
阅读全文