您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF53x技术支持专区 -> Blackfin入门教程---BF53x_EBIU
本帖共有988个阅读者
发表帖子 发表投票 回复主题
Blackfin入门教程---BF53x_EBIU
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
Blackfin入门教程---BF53x_EBIU

接口功能介绍

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地址中写入数据并读出,打印出访问的地址和读出的数据。


上传的附件
   20116819594152.rar [ 311.08 KB ]



「该帖子被 andy 在 2011-06-08 19:59:48 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2011/6/8 19:56:19
lucinda(论坛新手)
lucinda
头衔:社区公民
帮派:无帮无派
帖数:2
金钱:100
积分:0
注册时间:2011/7/14
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

支持


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/7/14 15:39:42
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154298 Call, 1 Queries, Processed in 0.015625 second(s),