您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF51X技术支持专区 -> BF518 flash烧入程序Issue
本帖共有694个阅读者
发表帖子 发表投票 回复主题
BF518 flash烧入程序Issue
新手上路(论坛新手)
新手上路
头衔:社区公民
帮派:无帮无派
帖数:1
金钱:114
积分:2
注册时间:2012/4/16
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 在线
BF518 flash烧入程序Issue

flash从M29W320DB换成JS28F320 ,接线方式相同,只有数据线高八位D8~D15 接线反序( flash D8接 dsp D15,   flash D9接 dsp D14,......);

驱动按M29W320DB.c改完后烧程序相当慢(几个小时),主要原因是write 数据进flash时SR寄存器SR.7置1很慢(SR.7置1表示flash已经准备好);

程序检测位耗时就是在下面两行

  WriteFlash(ulOffset, 0x0070 );  //表示开始读SR寄存器

  ReadFlash(ulOffset, &status ); //读不到1,以致一直在这里等待(等待是外围有个for)

怀疑是设置的问题:如下

设置BF518flash控制器如下:

ERROR_CODE SetupForFlash()  /////////////////////////////////
{

ERROR_CODE ErrorCode = NO_ERR;  

*pEBIU_AMBCTL0 = 0xFF02FF02;
*pEBIU_AMBCTL1 = 0xFF02FF02;
ssync();
*pEBIU_AMGCTL = 0x00FF;
ssync();
unsigned short portg_mux = *pPORTG_MUX;

portg_mux |= 0x9000;  

portg_mux &= 0x9fff;  

*pPORTG_MUX = portg_mux;  

*pPORTG_FER |= (PG15 | PG11);

return NO_ERR;
}

//===============================

写入word的方法是按照adi提供的(VisualDSP 5.0\Blackfin\lib\src\drivers\flash\PC28F128K )的程序一个样,一个word一个word写入。主要是那个flashstatus位反转不过来。


请各位前辈多帮助
等级:论坛新手 参考IP地址:*.*.*.*
2012/4/16 21:06:48
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
这个还真不知道为什么,问题和硬件相关太密切了,只能自己在调试中找答案,或者看其他人有人遇到类似问题没

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/4/17 14:02:20
xtqbp(论坛新手)
xtqbp
头衔:社区公民
帮派:无帮无派
帖数:18
金钱:194
积分:18
注册时间:2013/2/16
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我想问下,NO_ERR是在哪定义的,我怎么找不到啊?!

xtqbp
等级:论坛新手 参考IP地址:*.*.*.*
2013/2/20 10:13:03
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154340 Call, 1 Queries, Processed in 0.015625 second(s),