使用官方给 的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:
同求解答