메뉴 건너뛰기

enjoyTools.net

USB to TTL로 ISP 쓰기 설명

FT245R 이라는 모드를 쓸거라며 패치를 해란다.

http://doswa.com/2010/08/24/avrdude-5-10-with-ftdi-bitbang.html

 

윈도우용에서는 저걸 컴파일해 본 적도 없고, 혹시 또 모르니 avrdude 다운로드 링크

http://ftp.yzu.edu.tw/nongnu/avrdude/

또는

http://download.savannah.gnu.org/releases/avrdude/

 

----

avrdude.conf의 해당 부분 정의를 보니까 핀 순서만 맞추면 걍 될 것 같다. 해보고 수정해야지...

 

결과:

* ftdi ft232 비싼놈 : (avrdude 6.3 기준) 안된다.

 - avrdude.conf ft232r의 내용을 수정하거나 복사해서 새로 추가한다.

 ** avrdude.conf 정의를 보면 RTS를 쓰는데 비싼 놈은 이건 없고 CTS만 있기 때문에 이걸 상단 첫 링크의 설명을 참고하여 CTS의 핀 번호로 바꿔줘야 된다.

 - 컴파일 된 바이너리에 pthread가 없다고 땍땍거린다. 결론, 새로 컴파일 안하면 아예 실행 못 함

* CH340G 싼놈 : (avrdude 6.3 기준) 된다.

 - 아래 링크대로 결선

 ** 링크: https://github.com/microtherion/ChipHeadBang

 - 위 링크의 avrduderc 파일 내용을 avrdude.conf에 추가

 - 되긴 되는데, 일반적으로 사용하는 ISP보다 20배 가량 느리다.

 

CH340G에 땜질한 선은 9(파란선), 13(빨간선), 14(녹색선)

20170725_213048.jpg

 

타겟 디바이스는 Attiny84

20170725_212712.jpg

20170725_212659.jpg

 

나중에 부품들이 다 오면 USBasp를 만들어서 시도해보등가 하고, USB to TTL 직접 연결을 통한 방법은... 이건 뭐 너무 느려서... 에혀...

 

USBasp도 느린 것 같다. 만들고 나서 정말로 느리면 아래 링크까지는 확인을 해봐야겠다.

http://forum.arduino.cc/index.php?topic=179533.0

당분간은 걍 계속 하던대로, Arduino as ISP를 써야겠다.

 

usbasp를 만들어서 테스트 해봤다. - https://www.fischl.de/usbasp/

겁나 빠르다. 시간 될 때 제대로 한 번 만들어봐야겠다.

20170807_032357.jpg

 

20170807_032506.jpg

 

20170807_032642.jpg

 

여기까지 ATmega8로 만든 것, 아래는 ATmega328P/16MHz로 만든 것.

 

20170808_163230.jpg

 

LED 인디케이터와 디커플링 커패시터를 달아봤다. 노이즈 걱정에 달아본건데 별로 영향은 없는 것 같다.

avrdude로 플래싱이 안되면 -B5 정도의 옵션으로 속도를 늦춰주면 된다.

Broken pipe 가 어쩌고 저쩌고 에러가 뜨면, 일단 PC에서 USB 케이블을 뺐다 끼우고 다시 해본다.

그래도 안되면 아두이노IDE를 종료했다가 다시 실행해본다.

20170817_23525011.jpg

 

usbasp2.jpg

발진부는 불안해서 걍 납땜했다.

 

usbasp_pinmap.jpg

 

 

ATmega328P/16MHz 대상의 hex 파일과 변경한 소스, avrdude(기본값 Arduino as ISP)를 첨부에 올려놨음.

(avr-gcc로 동작 확인. 컴파일은 알아서...)

 

USB 드라이버는 zadig를 사용하면 됨. (드라이버는 winusb나 libusb 또는

libusbK로 선택하면 됨. 첨부에 추가함)

윈도우 장치관리자에서 "알 수 없는 USB 장치" 같은 이름이 뜨면 100% 발진부 문제이므로 발진소자 (Xtal, Cap) 들을 꾹꾹 눌러줘본다.

크리스탈이랑 콘덴서 핀이 너무 가늘어서 발진부를 땜질해서 올리는게 제일 좋음.

 

끝.