EBIU接口是ADSP-BF53x的外部总线接口,ADSP-BF53x的EBIU接口共有16根数据线,19根地址线,支持同步的SDRAM接入和异步的总线外设接入,ADSP-BF53x的异步EBIU接口共有4个BANK,每个BANK 1MByte,支持各种总线接口设备。
EBIU接口采用指针方式访问,通过宏定义出要访问的地址,然后通过指针进行读写数据操作。
参考ADSP-BF53x处理器的内存分配表,其中地址0~0x08000000为SDRAM地址,地址0x20000000~0x203fffff为EBIU的异步Bank地址。
寄存器 | 功能 |
EBIU_AMBCTL0 | BANK0,BANK1时序配置寄存器 |
EBIU_AMBCTL1 | BANK2,BANK3时序配置寄存器 |
EBIU_AMGCTL | EBIU使能寄存器 |
#define pADDR (volatile unsigned short *)0x1000 //定义一个指针,地址指向0x1000
*pADDR = 0x1234; //向0x1000地址里写入数据0x1234
i = *pADDR; //读出该地址数据
printf("addr is %x\n",pADDR); //打印出当前访问的地址
printf("data is %x\n",i); //打印出当前地址中的数据
*pADDR = 0xaa55; //向0x1000地址里写入数据0xaa55
i = *pADDR; //读出该地址数据
printf("addr is %x\n",pADDR); //打印出当前访问的地址
printf("data is %x\n",i); //打印出当前地址中的数据
代码实现了通过EBIU接口访问SDRAM空间地址0x1000,向0x1000地址中写入数据并读出,打印出访问的地址和读出的数据。
「该帖子被 andy 在 2011-06-08 19:59:48 编辑过」