작성중에 에디터 채로 날아가서 다시 작성 ㅜㅜ...; 원래는 며칠 전부터 그간 삽질한 경험을
바탕으로 제대로 준비해서 올리려던 글이 있었는데 이게만약 구글링에 걸릴경우
국내 소규모 영세 mcu전자부품몰에 작게라도 좋지않은영향이 될까싶어 잠시 멈췄었네요
하지만 언젠가 누군가는 해야될 일이고 수많은 mcu입문자분들의 진입문턱을 약간이라도
낮출 수 있으며, 이미 대학이나 전문학교 국비지원같은 정규과정을 마치신분들이 보기에
익히 알고들 계시는걸 감히 초보자가 혼자 김칫국드링킹 하는 것일 수 있어
불친절하게 신도림기변식으로 조금만 공개해보기로 합니다
마이컴 입문차 디지스파크를 검색해보셨다면 같이 딸려오는 이 것 한 번쯤은 보셨을 겁니다.
사람이 전문점고기요리를 맛봤다면 같은재료로 요리해보고 싶어지듯
디지스파크를 경험해봤다면 다음엔 단품칩으로 직접 프로그래밍 하고 싶어지는법이죠.
네 결국 11일즈음 "되는데요?"까지는 도달했습니다!
필요구성품은 아래 해외 원문링크로, 주로 저항, 점퍼케이블, LED류 같은 것들입니다.
https://www.deviceplus.com/raspberry-pi/using-a-raspberry-pi-to-program-an-attiny85/
https://www.instructables.com/Programming-the-ATtiny85-from-Raspberry-Pi/
여기에 mcu ATTiny는 간단히 공부 학습용이면 Pu라고 된 규격을 1개 혹은 예비용 1개 더,
여러기기에 본격 적용해볼 목적이면 SOIC to DIP 어댑터추가와
작은 Su Ssu 칩들을 여러개 직구합니다.
별도의 작은팁을 드리자면 국내 블로그에선 Su와 Ssu용 어댑터의 규격이 다르니
주의하라고되어있는데 실은 Su칩도 Ssu용 150mil어댑터에 다리를 밑으로
수직으로 꺾어서 강제호환시키는 꼼수가 있습니다. 이후 내구성은 장담못하지만요;
칩 3종 다 보유했지만 물리와 인두열로 험하게 굴렸음에도 결국 전부다 작동은 잘 되네요!
아두이노는 외부라이브러리 때문에라도 공홈에서 받으시는걸 추천 : https://www.arduino.cc/en/software
지금 개인 사용 중인건 1.8.13 인데, 현재 1.8.16까지 업되어있네요
외부 라이브러리는 일단 사용 중인 되는걸로 하나 소개해봅니다 :
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json
소스코드작성 - 컴파일까진 기존 디지스파크 때와 동일하게 IDE에서 작업
여기에 IDE 마지막과정으로 '컴파일된 바이너리 내보내기'를 합니다.
이후과정은 아두이노 IDE가 필요없이 위의 두 영어 원문강의를 참고하시면 됩니다.
반복적인 과정이 있다면 스크립트파일로 대체하는 것도 좋은방법입니다.
필요하신분께는 소소한기회가 되셨기를 바라며 ~ 이만 휘리릭!
대신 wiringPi와 avrdude를 파이 apt로 설치한게 관련되었을 수는 있겠네요 가상화같은?
이 둘은 아두이노ide과정이나 깃헙 컴파일을 안거쳐도 버스터os기준 apt 직접설치로도 잘 되더라구요
결국 설명하고자 하신게, 여타 툴 없이 Firmware update on-the-air를 할 수 있다는 것을 보여 주신 것이죠? 굳이 무거운 소프트웨어와 추가 하드웨어 (USB-ASP)를 설치하지 않고도 쉽게 펌웨어 업데이트가 가능하다. 라즈베리파이의 인터넷 연결성을 이용해서 원격으로도 가능하다. 라는 취지의 글을 쓰신 것이리라 생각 합니다.
요즘은 임베디드 제품들도 현장에서 끊임 없이 업데이트 되어야 하는 요구 사항이 있기 때문에, 많은 MCU들이 내장 된 도구를 제공하고 있습니다. 저는 STM32의 dfu를 이용해서 유사한 기능을 개발한 적이 있는데, 이런 기능을 개발할 때는 의외로 다른 것 보다 전원 쪽이 제일 문제더라구요. 내장 플래시 메모리에 바로 쓰는 상황이다보니 주변 잡음 때문에 엉뚱한 비트가 섞여 들어갈 때도 있었습니다. 특히 공장이나 차량용 프로젝트에서 발생 할 수 있는 일이라서, 작업이 완료 된 후에는 꼭 해쉬 값을 비교하는 등의 검증이 필요 했습니다.
노이즈가 만만찮은요소라니 전장산업쪽은 뭔가 차원이 다른세계같네요
mcu입문 목적은 처음에 파이의 매력에 엮인것도 있지만 자동 가습기, 급수기같은
일상수준에서 diy목적의 실물 코딩에 의한 성취감 대리만족이 주목적이었긴 했습니다
나중에 단계를 거치다보면 최대 vr관련 보조 디바이스까지 도전하게될 날이 온다면 좋을거같네요
mcu자유교체형 digispark같은 것인데 실제는 그와는 거리가 조금 먼 물건이지만
좀 더 번거로운 우회과정(GPIO?)을 통해 digispark처럼 쓰는방법을 소개하는 글입니다
다른 프로그래머도구 하나이상이 더 필요하지만 파이유저라면 올인원이 가능함을 두서없이 정리해봤습니다
저 usb소켓보드는 아무런 asp나 부트로더도 탑재되지않은 실질적으로 브레드보드역할에 가깝지만
몇 천원의 비용추가로 훨씬 컴팩트한 크기에 디버깅용led같은것도 내장되어있어 편리한활용이 가능합니다.
원래는 원문번역까지 완전하게 공개했어야 좋지만 업계사정도 감안, 완급조절을 할 수 밖에 없었네요
초록,회갈색 케이블은 각각 Vin, Vout 혹은 GND
저항에 맞물린 빨주노가 실질 파이tiny간 통신담당, 파랑은 Reset입니다. 파이와 연결순서는
따로 정해진건 없지만 저는 초노주적회파 해제는 역순했는데 지금껏 실사에 문제는 없었네요.
저항은 원래 1KΩ을 써야하지만 가용부품이 동나서 1.2KΩ으로 대체한 모습
우측mcu는 각각 왼쪽부터 Ssu, Su, Pu - Su는 다리를 접어 Ssu폭에 억지로 호환시킨상태
소켓보드 본체밑에 달린 초록기판떼기는 삽질의 산물이라 신경쓰지 않으셔도 됩니다