잡스러운 블로그

컴파일러마다 링커마다 차이가 있겠지만 IAR 은 특이해서 정리해본다.

eeprom 변수 선언은 기본적인 Form 은 변수 선언 앞에 __eeprom 이라는 keyword 를 사용해야 한다.
그리고 eeprom 변수는 반드시 __no_init 과 같이 써야 한다.
그래서 초기화 하는 __eeprom 변수는 다른 방식의 초기화 하는 방법을 써야 한다.


근데 이렇게 선언한다면
Error[Ta004]: __eeprom variable must be __no_init
이렇게 Error 가 난다.

EEPROM 영역에다가 변수를 초기화 하여 선언할 때, (예를 들어 const 변수로 선언 등등)
코드에서 선언을 하고 ICF 파일을 편집해서 기록해야 한다. 

1. 코드

2. ICF 파일 편집


 로 일단 영역을 잡아주고



이렇게 하면 사용가능 하다. 

출처 : http://supp.iar.com/Support/?note=32477 

-----


 

'Firmware > STM8' 카테고리의 다른 글

STM8S 에서 IAP 사용하기  (0) 2011.04.15

공유하기

facebook twitter kakaoTalk kakaostory naver band