macOS 에서 리산테크 AVR FLASHER 10 사용하기

![img_1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_UQMMViB7Of1FnJHfsB5xeHz97bHSsjJk1JtteJCBYDswq109E_WFqRIsOuYLcGFQ2UXLdkERQHWFspN9JUUzCywiamd4JVcXVp3fPrjd0kMElJ2wlAC6fZlICVxuw6JV3bSRDRQBpITNEQgEWaCBStmQwkSV9yVxjOcZUX_XTVnxlxohNqYlUvRKls/s4000/KakaoTalk_Photo_2025-01-04-00-14-17.jpeg) AVR 프로그래밍에 주로 사용하는 리산테크의 AVR FLASHER 10 제품이다. 총 10개의 서로다른 펌웨어를 저장하여 PC 없이도 타겟 장치의 전원으로 펌웨어 다운로드가 가능하다. 펌웨어 다운로드가 고속으로 이루어지기 때문에 아주 편하다. 최근 윈도우 데스크탑 보다 맥북으로 작업을 하는 상황이 많아지면서 이 장비를 사용하는데에 소프트웨어 지원이 윈도우만 되기때문에 불편함을 격고 있었다. 이것때문에 윈도우 노트북을 장만하는건 말이 안되는거 같고 그렇다고 매번 데스크탑을 켜는것도 불편하고 고민만 하고 있었다. 예전에는 부트캠프를 사용해 윈도우 용 프로그램을 쉽게 사용할수 있었지만 맥북이 애플실리콘을 사용하면서 이런점은 살짝 불편해 졌다고 볼수도있다. 호환성이 많이 좋아졌다고 하지만 예전에 Whisky로 시도했다가 실패한 경험이 있었기 때문에 큰 기대는 하지 않으려고했다. 아직 가상화는 시도해보지 않았는데 UTM 은 좀 쓰기가 불편했고 Parallels 는 과금방식이 전부터 마음에 들지 않았다. 사실 개인 사용 목적으로는 VMWare가 무료이기 때문에 다른 선택지가 없다. ![img_2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl6Piz058YvIQ1Wv-lqH-lgM7cpMD1KP4Qps0jIAQ2KPVy8mK51ecO-iCA4eH3teAte-Kk...

Raspberry Pi Pico 를 AVR Programmer 로 사용하기


이 장치는 지난번 ATmega328P 로 만들었던 Standalone AVR Programmer 의 업그레이드 버전이라고 할 수 있다. RP2040 은 ATmega328P 보다 높은 성능과 상당히 넓은 메모리 공간으로 프로그래밍 성능을 좀 더 끌어올릴수 있을 것으로 기대하고 있다.

아직 모든 부분에서 안정적인 것은 아니지만 Pi Pico 는 확실히 프로그래밍 속도를 높일 수 있었다. 
ATmega328P에 사용한 것과 거의 동일한 코드로 펌웨어 쓰기 시간을 최대 1/6 수준으로 줄일 수 있었지만 일부 IC는 테스트에서 클럭 사인파 간격을 최소로 했을때 IC 와 퓨즈 정보를 읽어오는데 가끔씩 실패했다. 

전원과 결선에 문제가 없다면 실패의 원인으로 다음 두 가지를 예상할 수 있다.

첫 번째는 각 IC 들의 기본 퓨즈 세팅에 따른 SPI 성능 부족이다. 실제로 외부 클럭을 사용하도록 퓨즈를 수정하여 시스템의 클럭을 높이게 되면 SPI 클럭의 사인파 주기를 좀 더 줄일 수 있었으며, 이때 고속으로 SPI 를 통한 프로그래밍을 할 수 있었다.

두 번째는 로직 컨버터의 부재다. Pi Pico 는 gpio 에서 3.3V 출력을 지원하는데 고속으로 운용시 gpio의 3.3V 신호가 타겟보드에서 HIGH 혹은 LOW 신호로 인식될만큼 충분하지 못했을 수 있다. 물론 ATmel 사의 모든 AVR 이 3.3V에서 프로그래밍이 불가능 한것은 아니지만 적어도 ATtiny 같은 일부 제품에서는 클럭을 수정하거나 모든 SPI 핀이 3.3V 보다 높은 전압에서 안정적인 통신이 가능했다. 따라서 통신 신뢰도를 높이기 위해서는 로직 컨버터가 필요하다. 

위 두가지를 모두 보완하면 프로그래밍 실패 이슈는 대부분 사라질 것으로 보고있다.


Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기