문제

현재 Arduino UNO (Rev3) 보드를 사용하여 프로젝트에서 일하고 있습니다. 결국 나는 Arduino와 독립적으로 실행되며 전체 프로그래밍과 부트 로더 물건이 어떻게 작동하는지 생각할 수 있습니다.

여기에 내가 아는 것 / 지금까지 가정하는 것 :

  1. 보드에는 ATMEGA328 (메인 칩)과 ATMEGA16U2 (USB - 직렬 용끼리로 사용됨)

  2. ATMEGA16U2의 펌웨어는 DFU 모드를 활성화하고 예를 들어 변경하여 변경할 수 있습니다. DFU 프로그래머. 그런 다음 arduino는 HDI / MIDI 장치로 인식 할 수 있지만 더 이상 프로그래밍 할 수 없습니다.

  3. ATMEGA328을 프로그래밍 할 때 칩이 재설정되고 재시작시 부트 로더가 직렬 연결 및 ATMEGA16U2-BRIGHTION을 통해 새 프로그램을로드하고 쓸 수 있습니다. 칩의 ISP 인터페이스는 새 프로그램을 업로드하는 데 사용되지 않습니다. 첫 번째 장소에서 재설정을 시작하는 사람은 누구입니까?

  4. Arduino는 다른 외부 칩을 프로그래밍하기 위해 ISP 프로그래머로 사용할 수 있습니다. 일부 펌웨어는 AATMEGA328에로드되므로 프로그래밍 할 칩의 ISP-PIN이 Arduino 보드의 하나에 연결됩니다. 그런 다음 Arduino-IDE는 ATMEGA328을 프로그래머로 사용하도록 구성되도록 구성됩니다.

  5. 나는 적어도 내가 작성한 것의 대부분이 올바른 것이기를 바랍니다. 그런 다음 내 질문은 다음과 같습니다.

    새로 비어있는 AVR을 MY 보드에 올려 놓으면 부트 로더가 해당 칩에 어떻게 들어갈 수 있습니까? "Burn Bootloader"명령은 어떻게 작동합니까?

    는 Bootloader를 먼저 업로드하지 않고 AtmeGa328에 16 진수 파일을 업로드 할 수 있습니까? ATMEGA16U2에서 SPCIAF 펌웨어를 사용하여 수행 할 수 있습니까?

    감사합니다!

    요하네스

도움이 되었습니까?

해결책

ISP 프로그래머 (Arduinoisp 또는 USBASP와 같은 이산 프로그래머)는 기존 부트 로더를 필요로하지 않고도 AVR의 플래시, EEPROM, 퓨즈 비트 및 잠금 비트를 프로그래밍하는 데 사용할 수 있습니다.장치의 SPI 핀을 사용하여 장치에 명령을 전송하여 비 휘발성 저장 내용을 조작합니다.

ATMEGA16U2는 '328; 328에 대한 UART 연결 만 있습니다.'328.

에 부트 로더없이 UART를 사용하여 프로그램을 사용하는 방법이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top