TI中文支持网
TI专业的中文技术问题搜集分享网站

F021 API 擦除Flash总是在while(FAPI_GET_FSM_STATUS!=Fapi_Status_Success);这里死住;

使用官方给 的Bootloader uart 的程序在下载的时候总是 在  

Fapi_issueAsyncCommandWithAddress(Fapi_EraseSector, eraseStartAddr);  

while( FAPI_CHECK_FSM_READY_BUSY == Fapi_Status_FsmBusy );

之后 死在这一句—-》while(FAPI_GET_FSM_STATUS != Fapi_Status_Success);

不知道为什么,希望大家能给我解答一下,官方的更好;

gaoyang9992006:

Fapi_Status_FsmBusy 这个状态为总是忙。。。。

可否来个带定时的While,就是超时后也自动结束。。

Qingjun Wang:

回复 gaoyang9992006:

请问你的flash API的版本是多少?不同的版本,用法略有差异。

你是否enable了你准备擦写的sectors:

Fapi_enableMainBankSectors(0xFFFF);

regards,

QJ

guodong yao:

回复 Qingjun Wang:

//Fapi_enableMainBankSectors(0xFF);

Fapi_enableMainBankSectors(0xFFFF);

遇到相同的问题,楼上正解,查看一下自己要操作的sector ,是不是已经使能了

HG:

回复 guodong yao:

还有一个可能的问题就是主频太高了,可能要加等待周期。

还有个可能的影响是ECC。

Qingjun Wang:

回复 HG:

Holly 说的对,请检查一下你的主频。bank的初始化必须用系统clock

status=Fapi_initializeFlashBanks((uint32_t)SYS_CLK_FREQ);

lily han:

回复 Qingjun Wang:

hello,

我现在也出现了和楼主一样的情况,使能函数和主频设置也都设置好了,但是仍然卡主在这个函数,不知道是什么问题呢?

user5876479:

回复 lily han:

同求解答

赞(0)
未经允许不得转载:TI中文支持网 » F021 API 擦除Flash总是在while(FAPI_GET_FSM_STATUS!=Fapi_Status_Success);这里死住;
分享到: 更多 (0)