Arduino에 다른 펌웨어 설치


12

Arduino의 펌웨어를 업그레이드하여 더 많은 처리 성능을 제공하기 위해 저전압 / 과전압 변경과 같은 더 많은 작업을 수행 할 수 있습니까? 이렇게하려면 칩 자체를 다시 플래시해야한다면 어떻게해야합니까?


2
대부분의 새로운 기능은 라이브러리와 프로그래밍에 의해 제공됩니다. 어떤 종류의 "더 많은 것들"에 대해 이야기하고 있습니까?
TheDoctor

TheDoctor가 말한 것, 더 많은 것의 의미는 무엇입니까? 또한 "펌웨어"란 무엇을 말하는 것입니까? 소프트웨어 / OS가 내장되어 있습니까?
hichris123

질문을 삭제해야합니까
JVarhol

@JVarhol 더 명확하게 할 수 있다면, 계속 유지하십시오. 정확히 무엇을 생각하는지 설명해주십시오.
hichris123

USB 직렬 칩에 새 펌웨어를 설치하여 키보드를 에뮬레이트 할 수 있다는 것을 알고 있습니다
TheDoctor

답변:


7

대부분의 Arduino 보드에 사용되는 ATmega328p MCU의 "펌웨어"에 관한 질문의 측면에 대답하려면 :

ATmega에는 부트 로더를 제외하고는 펌웨어가 없습니다. 작성한 프로그램이 하드웨어 에서 직접 실행 중 입니다.

ISP 프로그래머 가 설정 한 특정 "퓨즈"설정이 있습니다 . 그러나 그중 24 개 (3 바이트) 만 있으며 저수준 구성과 관련이 있으며 내가 생각하는 것은 아닙니다.
여기에 이미지 설명을 입력하십시오

Bootloader 도 있습니다.이 프로그램은 MCU 프로그램 메모리의 별도 세그먼트에 있으며 시작시 자체 업데이트 할 수있는 작은 프로그램입니다 (모든 arduino가 프로그래밍되는 방식). 그러나 시작시 단기간 동안 만 실행되며 MCU가 주 프로그램으로 이동 한 후 메모리에서 완전히 제거됩니다.

마지막으로, USB 직렬 인터페이스로 사용되는 대부분의 arduino 보드에는 보조 MCU (ATmega16U2 / 8U2)가 있으며, 다르게 동작하도록 업데이트 할 수 있습니다 (예 : 키보드 / 마우스 에뮬레이션). 그러나 실제로 이것은 변경 사항이 아닙니다. 코어 프로세서에 "다른 펌웨어 설치"로 간주되는지 여부는 arduino 정의 방법에 따라 다릅니다.

실제로 ATmega328P 데이터 시트를 읽는 것이 좋습니다. 기본적으로 "Arduino"를 구성하는 MCU에 대한 설명서입니다. 오해로 보이는 것을 다루어야합니다.


5

다른 F_CPU에 대한 장치 언더 / 오버 볼팅과 관련하여 아래 차트는 관계를 나타냅니다. 결과적으로 대부분의 Arduino는 5V에서 작동하며 클럭 속도는 16MHz입니다. 8MHz에서 실행되는 3.3V 변형이 있습니다.

Freq vs Vcc

그러나 IDE와 함께 제공되는 코어 라이브러리는 일반적으로 대부분의 장소에서 공식을 사용하지 않고 8 및 16 MHz F_CPU 속도에 대해 특정 #if를 갖습니다.

그러므로 당신이 원하는 것을 할 수 있습니다. 그러나 핵심 라이브러리 제한이 영향을받습니다. 비용 대비 이익 비율을 매우 의도 한 수준으로 기울입니다. 그리고 아마도 Stock IDE와 핵심 라이브러리를보다 makefile 메소드로 남겨 둘 것입니다.


분명히 그것은 20 mHz로 오버 클럭 될 수 있습니다
TheDoctor

@TheDoctor-오버 클로킹이 아닙니다. ATmega328p의 정격은 20Mhz입니다. Arduino는 실제로 16Mhz로 언더 클럭 됩니다.
코너 울프

@FakeName 그렇습니다. 아네 이노 보드를 수정하여 20mHz로 튜닝 할 수있는 아두 이노 보드
TheDoctor

아, 다른 쪽지. 문제 없이 일반적으로 안전 작동 영역을 초과 할 수 있습니다 . 문제없이 3.3V 레일로 16Mhz를 실행하는 여러 보드가 있습니다. 극한의 온도에서는 안정성 문제가있을 수 있지만 대부분 실온에서 잘 작동하는 것 같습니다.
코너 울프
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.