打印
[DSP编程]

2812外扩flash问题

[复制链接]
976|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开发板上外扩SST39VF800 flash,映射在Zone 2,下面是芯片擦除程序,FlashStart指向Zone 2区起始地址,while中循环条件为i<5,这个5是怎么计算得来的?!还有++TimeOut>0x1000000,这个0x1000000又是怎么来的?!
Uint16        ChipErase(void)
                {
                        Uint32        i,Data;  //要定义为32位,已更正
                        Uint32        TimeOut;                                
                        *(FlashStart + 0x5555) = 0xAAAA;
                        *(FlashStart + 0x2AAA) = 0x5555;
                        *(FlashStart + 0x5555) = 0x8080;
                        *(FlashStart + 0x5555) = 0xAAAA;
                        *(FlashStart + 0x2AAA) = 0x5555;
                        *(FlashStart + 0x5555) = 0x1010;        
                        i = 0;
                        TimeOut = 0;
                        while(i<5)
                                {
                                        Data = *(FlashStart +  0x3FFFF);
                                        if        (Data == 0xFFFF)        i++;
                                        else        i=0;
                                        if ( ++TimeOut>0x1000000)        return (TimeOutErr);
                                }
                        for        (i=0;i<0x80000;i++)        //共256K Words
                                {
                                        Data = *(FlashStart + i);
                                        if (Data !=0xFFFF)        return (EraseErr);
                                }
                        return  (EraseOK);                                                                                       
                                                                                       
                }
开发板上外扩SST39VF800 flash,上面是芯片擦除程while中循环条件为i<5,这个5是怎么计算得来的?!还有++TimeOut>0x1000000,这个0x1000000又是怎么来的?!

相关帖子

沙发
海中水| | 2015-3-30 16:51 | 只看该作者
这个你要仔细看一下flash的数据手册了,我刚刚看了一下。这个i的值其实就是整个芯片总共包含了6个块。而TimeOut就是一个时间限定值。整个flash擦除所需要的最大时间是100ms,如果在100ms以后还没有擦除完成,就会判断有故障。

使用特权

评论回复
板凳
zhangmangui| | 2015-3-31 22:59 | 只看该作者
片擦出等待时间

使用特权

评论回复
地板
zhangmangui| | 2015-3-31 23:07 | 只看该作者
从8M来计算   每个256k的话   不应该为5啊

使用特权

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

本版积分规则

38

主题

97

帖子

1

粉丝