'iar'에 해당되는 글 2건
- 2011/11/16 IAR MCS-51 에서 Timer Interrupt 가 호출되지 않는 문제.
- 2006/11/28 IAR 에서 외부에디터(External Editer) 사용하기
- IAR MCS-51 에서 Timer Interrupt 가 호출되지 않는 문제.
- 분류없음
- 2011/11/16 10:53
- 8051, 8052, iar, interrupt, MCS-51, timer
열심히 삽질하였다....
그리고, 하다하다 안되서 Linker listing 을 확인해 보니 Timer Interrupt 코드가 링크되지 않는 문제를 발견하였다.
문제의 발단 :
정말 아무생각 없이.... 정말 평소에는 나만의 명명규칙으로 이름을 잘 짓다가 정말 아무생각 없이 인터럽트 함수를 'TIMER0', 'TIMER1' 이라고 지었다. (요즘 내가 정신이 탈출한 상태다.)
#pragma vector=timer0평소같았으면 내가 고정으로 사용하는 "Timer_InterruptN" 이라는 명명을 하였을 텐데, 정말 아무생각 없었다.
__interrupt void TIMER0(void)
{
... 블라블라 ...
}
#pragma vector=timer1
__interrupt void TIMER1(void)
{
... 블라블라 ...
}
그 결과 :
Global Interrupt 만 Enable 하면 시스템이 얼어버린다.
당연히 얼 수 밖에 없는게, 인터럽트가 발생해서 호출은 해야 겠는데 그 호출을 받을 함수가 링킹되지 않아버리니 중간에 떠버린 상태인 것이다.
Aㅏ................... 경고조차 없는 멋지고 깔쌈한 내 프로그램이 돌지 않는다니....
해결 방법 :
함수 이름을 바꾸었다. 그리고 빌드..., 그리고 Linker listing 을 확인해보니
아마도 IAR MCS-51 에서 TIMER0, TIMER1 과 같은 이름은 사용할 수 없는 것으로 보인다. (하지만 IAR 메뉴얼에는 관련 내용을 찾을 수 없다.)
교훈 :
분명 문제가 없는데 변수의 값이나 함수 호출에 문제가 발생한다.
Linker listing 생성을 활성화 하고 확인하도록 하자!
- IAR 에서 외부에디터(External Editer) 사용하기
- 분류없음
- 2006/11/28 01:37
- command line, External Editor, iar, Source Insight, Ultraedit, 대한민국>서울특별시>금천구>독산동>(주)탑마이크로시스템즈>SoC연구실
뭐 팁이라고 하기엔 큰 건 아니지만 팁일 수도 있다.
DDE(Dynamic Data Exchange) 를 이용하는 방법도 있지만 지원하는 에디터도 별로 없고, IAR 이 크게 지원하는 것도 없어 Command Line 방식을 사용하기로 한다.
외부 에디터 사용이란 기능이 뭐 대단한 건 아니다. 평소 코딩할 때 프로젝트 파일 트리 창에서 파일을 더블클릭 하면 자신이 사용하는 에디터를 사용하여 편집할 수 있도록 자동 실행해 준다.
편하면 쓰고 불편하면 안쓰는 기능이다.
해당 기능 설정은 다음 위치에 있다.
Tools > Option > External Editor > Use External Editor 체크 > 설정사항 입력.
* UltraEdit 를 사용하는 방법.
UltraEdit 는 DDE 를 이용할 수 있지만 별로..........
일단 IAR 에서
Type : Command Line
Editor : UltraEdit 의 경로와 실행파일 선택.
Arguments : $FILE_PATH$
* Source Insight 에서 사용하는 방법.
Type : Command Line
Editor : UltraEdit 의 경로와 실행파일 선택.
Arguments : -i +&CUR_LINE& $FILE_PATH$
Source Insight 에서는 -i 옵션을 붙이지 않으면 새로 프로그램을 실행하여 보여준다.
+$CUR_LINE$ 을 붙여야 오류 라인 추적이 가능하다.
DDE(Dynamic Data Exchange) 를 이용하는 방법도 있지만 지원하는 에디터도 별로 없고, IAR 이 크게 지원하는 것도 없어 Command Line 방식을 사용하기로 한다.
외부 에디터 사용이란 기능이 뭐 대단한 건 아니다. 평소 코딩할 때 프로젝트 파일 트리 창에서 파일을 더블클릭 하면 자신이 사용하는 에디터를 사용하여 편집할 수 있도록 자동 실행해 준다.
편하면 쓰고 불편하면 안쓰는 기능이다.
해당 기능 설정은 다음 위치에 있다.
Tools > Option > External Editor > Use External Editor 체크 > 설정사항 입력.
* UltraEdit 를 사용하는 방법.
UltraEdit 는 DDE 를 이용할 수 있지만 별로..........
일단 IAR 에서
Type : Command Line
Editor : UltraEdit 의 경로와 실행파일 선택.
Arguments : $FILE_PATH$
* Source Insight 에서 사용하는 방법.
Type : Command Line
Editor : UltraEdit 의 경로와 실행파일 선택.
Arguments : -i +&CUR_LINE& $FILE_PATH$
Source Insight 에서는 -i 옵션을 붙이지 않으면 새로 프로그램을 실행하여 보여준다.
+$CUR_LINE$ 을 붙여야 오류 라인 추적이 가능하다.





Recent comment