QSPI 드라이버 코드를 이용해서 Erase 함수를 구현한다.
입력되는 주소는 QSPI의 실제 섹터 주소이다.
int SectorErase (uint32_t EraseStartAddress ,uint32_t EraseEndAddress)
{
uint32_t BlockAddr;
EraseStartAddress = EraseStartAddress - (EraseStartAddress % (64*1024));
while (EraseEndAddress>=EraseStartAddress)
{
BlockAddr = EraseStartAddress & 0x0FFFFFFF;
if (qspiEraseSector(BlockAddr) == false)
{
return 0;
}
EraseStartAddress += (64*1024);
}
return 1;
}
빌드 후 생성된 stldr 파일을 ExternalLoader로 복사
복사 후 CubeProgrammer의 다운로드 탭에서 주소를 0x90000000으로 변경하고 Read를 하면 정상적으로 데이터가 출력되는 것을 확인 한다.