가상 직렬 포트 드라이버와 같은 소리가 일부 시간 초과 또는 버퍼에 걸려 있습니다. IDE는 avrdude를 특정 프로토콜로 호출하여 AVR에로드 된 Arduino의 부트 로더에 내장 된 것과 일치시킵니다. 다른 부트 로더 (실제로는 너무 많고 언급하기에는 너무 많음)가 있습니다. 그 중 일부는 타이밍이 다를 수 있지만 기본적으로는 더 이상 Arduino가 아닙니다. 가능성을보기. \ avrdude.exe -c.
직렬 포트를 통과하는 것을 덤프하려고하는 경우. 나는 Virtual Serial Ports Emulator을 사용했다. 그것은 모듈 식으로 매우 다양하여 원하는 것을 구축 할 수 있습니다.
또 다른 스레드에서 언급했듯이 직렬 포트를 통한 데이터는 STK500 protocol의 공식화 된 ontop입니다. 또한 다른 스레드에서 데이터를 가져 오기 위해 다른 도구를 사용하지 않으려한다고 언급합니다. 다른 프로토콜을 사용하려면 소스 compiler.java를 변경하고 새 프로토콜로 avrdude를 호출하도록 프로젝트를 다시 빌드해야합니다. 그래서 당신은 다른 도구로 그것을 얻을 수도 있습니다. 아래 참조하십시오. 다시 연결될 것입니다.
당신은 avrdude로 먹여지고있는 것에서부터 원시 바이너리를 얻을 수 있습니다. 어디로 처음에는 분명하지 않을 수도 있습니다. avrdude가 BIN이 아닌 ELF를 얻습니다. Arduino IDE에는 avr-gcc와 그 도구가 모두 들어 있습니다. . \ Arduino \ hardware \ tools \ avr \ bin에있는 avr-objcopy가 avrdude로 유입되는 IDE의 출력을 원하는 바이너리로 변환 할 수 있습니다. 직렬 포트 스트림 범위를 지정할 필요가 없습니다.
직접 작성하려면 IDE의 자세한 컴파일 인쇄를 활성화하여 IDE의 임시 작업 디렉토리를 찾아야합니다. 또한 경로에 avr-objcopy를 넣을 가능성이 있습니다. 다음 예제와 같이 간단하게 호출하여 내 대신 스케치의 파일 이름을 대체하십시오.
C:\Users\mflaga\AppData\Local\Temp\build6135656488044319492.tmp>avr-objcopy -I ihex FilePlayer.cpp.hex -O binary FilePlayer.cpp.bin
어디 내 프로그램은 .elf 사용 걸릴 것으로 잘 내가 직접하고 싶지 않아
을 자동 판매기에 avrdude와 AVR-objcopy의 모두 호출하는 배치 파일로 avrdude.exe 대체 할 수로 그것은 Arduino를 시뮬레이트하기 위해 나의 프로그램이보기 흉한 UI를 가졌기 때문에 사용자에게 스케치를 저장 한 곳에 붙여 넣기를 요구할 수 없었다. 따라서 Arduino에 업로드 할 코드가 필요하고 IDE의 업로드 진행률이 부트 로더의 90 %에 도달하면 멈추지 않을 것입니다. –