STM32F031 IAP – 케일 애플리케이션

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


error: Alert: Content selection is disabled!!