Linux에서 Atmega128(JMOD-128-1) 사용기
리눅스에서 JMOD-128-1 제품 [ atmega128 ]을 사용하려니 문제가 있었다.
우선 JMOD-128 -1 은 ISP다운로더가 내장 되어서 사용하려는 모델이다.
평소 USB2Serial을 사용해서 굽던 것이 불편했던 것이 사실이다. 하지만 ㅠ_ㅠ
http://cafe.naver.com/lazydigital
위와 같은 이유로 avrdude를 이용할 수 없다.
따라서 avrdude를 128byte 단위로 이미지를 보내도록 바꾸도록 하자.
* window avr-studio에서는 이미지를 128byte 씩 보내 굽는다. 하지만 avrdude는 256byte씩 굽는데 jmod-128-1에서는이미지를 받을 버퍼가 128byte 밖에 없는것.
*붉은 줄의 문제점은 위 링크의 블로그에서 찾고 회사에 문의를 하여 알게되었습니다.
여기서 avrdude를 받고
stk500v2.c 파일을 수정하도록 하자.
이와 같이 수정하도록 하자.
make
make install
* 솔직히 조금 편법으로 바꾼 것이다.
* 좀 더 멋지게 코드를 수정하고 싶으면 열심히 분석해서 바꾸도록 합시다. ^_^
우선 JMOD-128 -1 은 ISP다운로더가 내장 되어서 사용하려는 모델이다.
평소 USB2Serial을 사용해서 굽던 것이 불편했던 것이 사실이다. 하지만 ㅠ_ㅠ
1. 문제
어찌 되었던 JMOD-128-1 모듈은http://cafe.naver.com/lazydigital
위와 같은 이유로 avrdude를 이용할 수 없다.
따라서 avrdude를 128byte 단위로 이미지를 보내도록 바꾸도록 하자.
* window avr-studio에서는 이미지를 128byte 씩 보내 굽는다. 하지만 avrdude는 256byte씩 굽는데 jmod-128-1에서는이미지를 받을 버퍼가 128byte 밖에 없는것.
*붉은 줄의 문제점은 위 링크의 블로그에서 찾고 회사에 문의를 하여 알게되었습니다.
2. 수정
http://www.nongnu.org/avrdude/여기서 avrdude를 받고
stk500v2.c 파일을 수정하도록 하자.
static int stk500v2_paged_write(PROGRAMMER * pgm, AVRPART * p, AVRMEM * m, unsigned int page_size, unsigned int addr, unsigned int n_bytes)위의 함수에서
if (page_size == 0) page_size = 128; page_size = 128;
이와 같이 수정하도록 하자.
3. 컴파일 및 실행
./configuremake
make install
* 솔직히 조금 편법으로 바꾼 것이다.
* 좀 더 멋지게 코드를 수정하고 싶으면 열심히 분석해서 바꾸도록 합시다. ^_^
댓글
댓글 쓰기