카테고리 없음

Keil MDK-ARM에서 SRAM에 다운로드 및 실행하기

쿨한넘 2014. 2. 7. 13:33

Keil MDK-ARM에서 마이크로컨트롤러의 내부 플래쉬가 아니라 내부 SRAM에 코드를 올리고 실행하기.


xxxx.ini 화일을 하나 만들고 아래와 같이 수정한다.


FUNC void Setup (unsigned int region) {
  region &= 0xFFFF0000;
  SP = _RDWORD(region);			// Setup Stack Pointer
  PC = _RDWORD(region + 4);		// Setup Program Counter
//  _WDWORD(0xE000ED08, region);	// Setup Vector Table Offset Register
}

LOAD "SRAM\\stm32f051r8_flash_test01.axf" INCREMENTAL
Setup(0x20000000); // Get ready to execute image in SRAM or whatever region it is in

//g,main


위 예제는 STM32F051R8 의 내부 SRAM에서 코드를 동작하기 위해 작성했다. 이 프로세서의 내부 SRAM은 0x2000_0000에 위치해있고, 그 크기는 8KB (0x2000)이다.

SRAM 메모리 맵에 맞추어 빌드를 해놓아야 한다.


그리고 프로젝트 옵션에서 아래 그림과 같이 셋팅을 맞추고, 디버깅 시작을 하면 된다.