SCB->VTOR는 STM32F0xx에 존재하지 않습니다.
// __IO uint32_t 사이리스터; /*!
< 오프셋: 0x010(R/W) 시스템 제어 레지스터 */
따라서 다음 부분이 필요합니다.
/* 소프트웨어에 의해 벡터 테이블을 내부 SRAM 0x20000000으로 재배치 ***/
/* Flash에서 벡터 테이블 복사(응용 프로그램 하단에 매핑됨)
주소 0x08003000)을 SRAM 기본 주소 0x20000000에 로드합니다.
*/
for (i = 0; i < 48; i++)
{
VectorTable(i) = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2));
}
/* SYSCFG 주변 장치 클록 활성화 */
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG, ENABLE);
/* 0x00000000에서 SRAM 재매핑 */
SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM);
031에 써봤는데 다른 0xx 시리즈는 별차이가 없는듯 합니다.
부트로더
애플리케이션
애플리케이션은 IAP의 binary_template 폴더에 있습니다.
https://www.st.com/en/embedded-software/stsw-stm32116.html
ko.stm32f0_programming_usart.zip
1.58MB