您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 私信的技术问题:BF533移植spi读写nandflas... 
本帖共有615个阅读者
发表帖子 发表投票 回复主题
私信的技术问题:BF533移植spi读写nandflash的驱动
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
私信的技术问题:BF533移植spi读写nandflash的驱动

各位观众,技术问题请在论坛公开发帖,私信会出现工程师漏看的情况,导致当天或者第二天回复不了。另外技术问题和答案贴出来,对其他的ADSP爱好者也可以做参考找答案,这也是我们做这个开源社区论坛的初衷。再者,Andy他们不及时回复技术问题如果不是特殊原因比如休假之类的,是要扣工资的,因为私信没看到没及时回复,那就太不划算了。所以请大家有问题都在论坛贴吧,不要私信了。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/9/26 9:08:27
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

共享问题(后面可在此跟帖)

想请教专家一个问题 我在BF533上移植了一个spi读写nandflash的驱动 源码是采用轮询方式读写数据 现在项目要求改为DMA+加中断方式传输 即要在DMA读写结束之后对cpu产生中断,我找了很多资料都没办法实现,中断配置如下:

*pSIC_IAR0 = *pSIC_IAR0 & 0xffffffff | 0x00000000;
*pSIC_IAR1 = *pSIC_IAR1 & 0xff0fffff | 0x00300000;  
*pSIC_IAR2 = *pSIC_IAR2 & 0xffffffff | 0x00000000;              
OS_CPU_RegisterHandler(IVG10, SPI_DMA5_ISR, NOT_NESTED);
//*pDMA5_CONFIG &= ~DI_EN;
    *pSIC_IMASK |=0x00002000;  

*pSPI_CTL = TIMOD_DMA_TX | MSTR | CPOL | CPHA | SPE;

这样配置的结果是只要一旦调用这段代码初始化 中断就不停的产生,并导致其他所有任务被挂起无法往下执行,也就是dma还没有开始传输数据 中断就产生,想问一下是什么情况会导致这个问题 如何真确修改



我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/9/26 9:08:50
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

答复:配置上看不出错误,你描述的现象更像是你在使用Core传输,每传输一个字节进一次中断。看一下你的宏定义TIMOD_DMA_TX的值是否为11 DMA模式,如为11则为正确。你可以打开DMA5的寄存器,看每次进中断后,DMA的完成标识和内部寄存器配置的值是否为你写入的值。进入中断后是否清除状态寄存器标识。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/9/26 9:31:32
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159316 Call, 1 Queries, Processed in 0.015625 second(s),