플래시 메모리에 값을 쓰려고 시도했는데, 처음에 코드에서 언급 한 위치에 0x0000을 썼습니다. 그러나 성공적으로 작성되었지만 그 후에는 해당 위치의 데이터를 덮어 쓰거나 지울 수 없습니다. 처음으로 나는 플래시에 성공적으로 쓸 수 있었지만 그 후에는 그 위치에 데이터를 쓰거나 지울 수 없었다. 어떤 문제가있을 수 있습니까? 나는 또한 메모리 스택 이미지를 고정시켰다.온칩 플래시를 쓰고 지우는 방법 STM32F030 제품군에서 계속적으로?
uint32_t pageAddress = 0x08008000;
uint16_t buffer = 0xdddd; // data buffer
HAL_HAL_StatusTypeDef status;
while(1)
{
HAL_FLASH_Unlock(); // unlock the flash memory in ST
//FLASH_PageErase(pageAddress);
status=HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, pageAddress,
buffer);
HAL_FLASH_Lock(); // Flash memory locked
}
지우기 및/또는 프로그램 기능으로는 어떤 오류 코드가 반환됩니까? – kkrambo
내가 그걸 확인하지 않았어. 오류 메시지를받는 방법? – GOKUL
ok..i checked..its HAL_ERROR, 0x01을 보여줍니다. – GOKUL