저는 ATtiny를 프로그래밍 하기 위해 Boarduino 와 30 행 브레드 보드를 사용합니다. ArduinoISP (아두 이노 IDE에 기본적으로 포함되어 있음) 라는 너무 복잡한 스케치를로드 하고 갑자기 작업중 인 프로그래머가 있습니다. Atmel 은 $ 30에서 $ 40 사이 의 멋진 프로그래머 를 팔고 있으며 , 더 싼 것을 만들기위한 키트가 많이 있습니다.
나는 일하는 프로그래머를 얻었을 때 매우 기뻤고 약간의 LED를 깜박였습니다. 그러나 이제 내 빈곤층은 프로그래머의 의무에 갇혀 있습니다.
내가 알 수있는 한이 프로그래머는 재설정 버튼을 누른 다음 MOSI 및 MISO 핀을 송수신합니다. 나는 SCK가 사용되지 않았거나 적어도 불필요한 것으로 생각합니다. (ATtiny 데이터 시트에 따르면 SCK가 필요하며 프로그래머가 작동하지 않고 프로그래머가 필요하지 않다고 생각한 장소를 찾을 수 없습니다.)
직렬을 전송하기 위해 하드웨어 프로그래머가 필요한 이유는 무엇입니까? 내 말은, IC 대신 손가락으로 리셋 버튼을 누르고 있다고 가정하자. 남은 것은 직렬 전송 및 수신뿐이므로 세 개의 전선 GND, RXD 및 TXD 만 있으면됩니다. "DTR"라인 등이 있으면 직렬 케이블로 리셋 버튼을 누르고있을 수도 있습니다.
왜 모든 하드웨어 솔루션은있다 또한 멋진 소프트웨어를 필요로 (AVRdude처럼, 또는 AVR 스튜디오, 또는 무엇이든)은?
마이크로 컨트롤러를 대용량 저장 장치로 제공하는 작은 USB 케이블을 이해하고 프로그래밍을 위해 바이너리 파일을 드래그 할 수있게되었습니다 ( 이 ARM 개발 보드 와 같이). ). 표준 소프트웨어 드라이버를 사용하는 하드웨어 전용.
또한 소프트웨어 전용 솔루션 (USB에서 칩으로 모듈로 후킹 와이어, FTDI 칩과 같은 것을 사용하여 와이어로 떨어지는 것을 단순화)을 이해할 수 있습니다. 모든 멋진 프로그래밍 프로토콜은 컴퓨터의 소프트웨어에 의해 처리되며 하드웨어는 일부 전선 일뿐입니다.
왜 우리는 (복잡한) 소프트웨어와 하드웨어를 모두 가지고 있습니까? 내가 말할 수있는 한, 마이크로 컨트롤러 프로그래밍은 매우 쉽지만, 이것에 들어가면 부트 로더를 프로그래밍하기 위해 전문가에게 돈을 지불하지 않고 마우스 또는 digikey에서 칩을 구입할 방법에 대해 정말로 걱정했습니다. 나를 위해.
나는 좋은 이유가 있다고 확신합니다 (소프트웨어를 작성하거나 드래그 앤 드롭 USB 프로그래머를 제조하기 시작한 것과는 다릅니다).