外部存储器的应用
来源:互联网 发布:三星note3没有4g网络 编辑:程序博客网 时间:2024/04/27 23:11
一.用于十六位通信的外部存储器配置:
LDR R0, =BCFG2
LDR R1, =0x1000fbef
STR R1, [R0]
二.外部存储器的地址定义:
#define D20W16 (unsigned short *) 0x82000000
三.数据的初始化及读写操作:
uint16 test16[256],temp16[512];
void DWInit()
{
for(i=0;i<256;i++)
{
if (i % 2 == 0)
test16[i] = 0x5500|0xaa;
else
test16[i] = 0xaa00|0x55;
}
}
void WriteShortData(uint16 *vp,uint16 *vt,uint16 n)
{
int i;
for(i=0;i<n;i++)
*vp++ = *vt++;
}
void ReadShortData(uint16 *vp,uint16 *vt,uint16 n)
{
int i;
for(i=0;i<n;i++)
*vp++ = *vt++;
}
四.测试:
void RandWtest()
{
int hh;
MCU_PIN_SEL2 &= 0xFFFFFFF7;//选择p1.20为GPIO
MCU_IO1_DIR |= 0x00100000;//输出
while(1)
{
WriteShortData(D20W16,test16,256);
hh++;
MCU_IO1_CLR = 0x00100000;//低电平,读低256
ReadShortData(temp16,D20W16,256);
MCU_IO1_SET = 0x00100000;//高电平,读高256
ReadShortData(&temp16[256],D20W16,256);
hh++;
}
}
我用的外部存储器的地址总线结构有12根地址线,而我们的应用很特别,并没
有应用到它所有的地址总线,共12根,4K,一来我们用不到这么大的内存空间,
二来我们的arm总线数目有限,arm只有9根总线,理论上只能访问512字节的空间,
但是,我们用一个GPIO输出口与A9相连,这样就可以访问1024大小的空间啦。
当然,应用时要注意:
想要访问低512字节的数据首先要把A9置成0;
想要访问高512字节的数据首先要把A9置成1;
我们用于与A9相连的GPIO为P1.20,设置方法如下:
MCU_PIN_SEL2 &= 0xFFFFFFF7;//选择p1.20为GPIO
MCU_IO1_DIR |= 0x00100000;//输出
MCU_IO1_CLR = 0x00100000;//低电平
MCU_IO1_SET = 0x00100000;//高电平
这里的A10和A11都被接地,保留不用。
- 外部存储器的应用
- ARM7外部存储器的疑惑
- 存储器的应用
- Cyclone II 器件的外部存储器接口
- 获取WINCE和WINXP的外部存储器
- STM32访问外部存储器的时序计算
- Android外部存储器ExternalStorage的使用
- TMS320C6455的EMIF外部存储器接口
- 1.6.CPU和外部存储器的接口
- 查找WINCE外部存储器
- C8051F020外部存储器接口
- C8051F外部存储器读写
- 硬盘属于外部存储器
- 硬盘属于外部存储器
- DSP外部Flash存储器在线编程的软硬件设计
- Android之获取内外部存储器的容量
- 充当别的mcu的外部存储器(51类)
- ARM第一部分-CPU和外部存储器的接口
- 通过四种方法查找字符A
- windows2008下如何删除程序自身
- 学习petshop3.0(一)
- 常用的50个JS函数(网上摘抄)
- LINQ
- 外部存储器的应用
- 变量命名,函数命名常用单词
- 正则表达式——神奇的咒语
- 荣获2008年10月微软MVP的CSDN网友名单
- 安装Windows2003 sp1/sp2提示产品密钥无效的解决方法
- 敏捷教练,从A到Z
- JavaScript 对象与数组参考大全
- GHOST文件修改OEM的方法
- GZipStream实现压缩以及出现的问题