STM32 MCU 외부에 연결되어 있는 메모리를 PC의 프로그램을 통해서 제어 할 수 있도록 해주는 작은 펌웨어
작은 부트로더 펌웨어라고 생각하면 됨
구현해야 하는 함수
# Erase/Write 위해 필요
#
int Init (void)
int Write (uint32_t Address, uint32_t Size, uint8_t* buffer)
int SectorErase (uint32_t EraseStartAddress ,uint32_t EraseEndAddress)
# Verify/Read를 위해 필요
#
int Read (uint32_t Address, uint32_t Size, uint8_t* Buffer)
# Full Chip Erase를 사용
#
int MassErase (uint32_t Parallelism )
기본적인 원리는 SWD 디버깅 포트를 통해서 SRAM에 외부 메모리 제어를 위한 코드를 다운로드 후에 해당 함수를 호출해서 실행하는 방식
명령어 호출 순서
Init() 함수가 가장 먼저 다운로드 되고 실행
Init() 함수에서 External 메모리 제어를 위한 초기화등을 진행
이후에 SectorErase()나 Read() 함수등이 선택한 기능에 따라서 실행됨