본문 바로가기

이것저것 배운것/Eclipse

JXXX-128-1을 이클립스를 이용해 다룰때...

위 글은 

JKIT-128-1 / JMOD-128-1

이 두개의 AVR 장비를 이클립스를 이용해서 사용할때

에러나는것을 해결하기 위해 쓰는 글입니다.



1. 문제 제시.


이클립스에서 JKIT-128-1을 이용하기 위해 


AVR - AVRDude에서 Programmer configuration을 세팅하려 했다.


JKIT-128-1은 Atmel STK500 Version 2.X firmware를 이용하면 된다

라고 들었기에 이걸 선택하고.

Override default port와 Baudrate도 설정하여 적용시켰다.


그 후 테스트를 위하여


AVR - Target Hardware탭으로 들어가 MCU Type을 ATmega128로 하고

MCU Clock Frequency를 16000000(16MHz)를 쓴 뒤에

Load from MCU를 눌렀다.


그런데...


AVRDude Error 창이 떳다.

이유는


avrdude: stk500_v2_ReceiveMessage(): timeout.



2. 문제 해결.


이 문제는. JXXX-128-1이 AVRDude가 지원되지 않는다는 것이었다.


그러나, 이용할 수 있도록 하는 작업 방법이 나와있었다.

임베디드홀릭(http://cafe.naver.com/lazydigital) 이라는 네이버 카페에

diyclock라는 분이 쓰신글을 보면. (http://cafe.naver.com/lazydigital/54190)


라즈베리파이에서 avrdude를 이용해 JMOD-128-1을 사용할 수 있도록 하는 작업이었다.


위 작업을 윈도에서 하면 된다고 한다.


준비물은 다음과 같다.


1. MinGW와 같은 C컴파일러.

2. AVRDude 압축파일 

avrdude-6.1.zip

3. 글을 읽고 따라할 수 있는 정도의 재능.


물론, 첨부된 avrdude-6.1에는 JKIT-128-1/JMOD-128-1용으로 수정되어 컴파일된 파일들이

같이 동봉되어있다.

(폴더명이 정직하니 바로 알 수 있을듯. 그냥 내용물만 풀어넣으면 된다.)

위 수정/컴파일된 폴더의 내용물은 단 두개.

avrdude.conf 와 avrdude.exe 이렇게.


물론 내가 잘 몰라서 그냥 두개를 따로 동봉한것. 합쳐줄 사람이 있으려나...


아무튼, 위 2개의 파일을 WinAVR-XXXXXXXX\bin 폴더에 덮어 씌우기만 하면된다.

(여기서 XXXXXXXX는 버전(?) 같은것. 필자는 20100110을 쓰고 있으니까. WinAVR-20100110이라는 폴더다)


첨부는 해 두었지만, 그래도 직접 수정해서 컴파일 해보고 싶다.

라고 생각하는 사람이 있을거라 믿고, 스샷을 첨부한다.

(물론, 내가 나중에라도 기억하기 쉽게 하려고...)



방법은 다음과 같다. (무작정 따라하기 예제이다.)

1. 첨부된 avrdude-6.1의 압축파일을 열어 avrdude-6.1이라는 폴더를 C:\에 풀어버린다.

그러면 C:\avrdude-6.1이 된다.



2. stk500v2.c 파일을 수정해야 한다.

물론 http://cafe.naver.com/lazydigital/5419 을 그대로 따라하면 된다..(JMOD-128-1 사용자)

JKIT-128-1 사용자의 경우 JMOD-128-1을 선언하는 부분을 전부 JKIT-128-1로 선언하면 된다.


그리고 dfu.c, flip1.c flip2.c 파일을 수정해야 한다라고 diyclock님의 글에는 쓰여있지만..

첨부된 압축파일에는 이미 수정하여 압축한것이기 때문에 안해도 된다.

고로 stk500v2.c파일만 잘 수정하면 된다는 것.


ps. diyclock님의 글을 보고 어디를 어떻게 해야 되는지 도저히 모르겠다. 라고 하는 사람을 위해 아래쪽에 사진을 첨부한다. JKIT으로 써두었으니 JMOD사용자들은 알아서 변경하시길...


수정을 완료하면 저장을 한다.



3. MinGW Terminal을 연다.

시작메뉴에서 MinGW로 들어가 MinGW shell 이라는 파일을 열면 MinGW Terminal이 뜬다.

원 주소는 MinGW설치 폴더의 msys\1.0폴더에 있다. 파일명은 msys.bat



4. MinGW Terminal에서

$ cd C:\avrdude-6.1 라고 쓰고 엔터.

$ ls 라고 쓰고 엔터키를 누르면 현재 진입해 있는 폴더의 내용물을 볼 수 있다.

각설하고.


$ ./configure

$ make


까지만 하면 된다.

그 후에 c:\avrdude-6.1 폴더로 진입하여,

avrdude.conf 파일과 avrdude.exe파일이 생성된 것을 확인 할 수 있다.


이 두 파일을 복사하여, WinAVR이 설치된 폴더의 bin폴더에 붙여넣으면 끝.


이클립스를 실행해서 AVRDude의 설정을 완료하고

Target Hardware탭으로 들어가 설정후 Load from MCU버튼을 눌러보자.


에러가 발생하지 않는다! 이걸로 끝. 재미나게 개발하면 된다.





딱 이렇게 3개 부분이다. 블록씌워둔데다가 옆에는 행번호까지 뜨니까 모를수는 없겠지...