打印
[ZLG-ARM]

2200读SD非常慢

[复制链接]
1147|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dsoyy|  楼主 | 2008-11-23 22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
sd, AD, spi, pi, AN
SMARTARM2200开发板,采用SPI方式,读取SD卡,一个文件150k,读取用了接近3分钟,很恐怖。示例代码如下:
 while(!flag_end)
   {
       OSFileSeek(FHandle, count, SEEK_CUR); 
        sd_read_num =OSFileRead(rcv_buf, READNUM, FHandle);            
     flag_end = OSFileEof(FHandle);
       count += READNUM;                
   }
我采用了一些列方法提高速度:
1、将频率由11.0592改成11.0592 * 4,没有一点改善
2、另外,将SPI速率提高,原来SPI_SPCCR = 128; -》SPI_SPCCR = 128/2;仍然没改善。
。。。。。。。。。。。。。

请大虾指点。

相关帖子

沙发
dsoyy|  楼主 | 2008-11-24 14:41 | 只看该作者

没有人回帖子

使用特权

评论回复
板凳
dsoyy|  楼主 | 2008-11-24 16:59 | 只看该作者

可能是调用高优先级任务占用了CPU

        int main (void)
{
    OSInit ();                                                
    OSTaskCreate(Task0,(void *)0, &TaskStartStk[TaskStkLengh - 1], 4);                   //读取SD卡任务       
    OSTaskCreate(OSFileTask, (void *)0, &TaskStk[255], 2);                               /* 建立ZLG/FS软件包需要的任务 */
         OSStart ();
    return 0;                                                            
}

使用特权

评论回复
地板
dsoyy|  楼主 | 2008-11-24 17:08 | 只看该作者

OK

文件系统任务一直在等待一个消息。。。。
可能是这个原因

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

144

主题

566

帖子

3

粉丝