Arduino IDE에 대한 완전한 대안? [닫은]


50

나는 공식 Arduino IDE (비주얼 측면에서)의 팬이 아니므로 더 좋은 대안을 찾기 시작했습니다. 그러나 내가 찾은 대부분의 프로젝트는 알파 / 베타이며 일반적으로 불완전합니다.

나는 회로 보드 프로그래밍에 100 % 익숙하지 않으며 이전에 Arduino를 사용한 적이 없지만 Arduino IDE를 수집 한 것은 실제로 보드에 실제로 쓰는 avr 라이브러리의 래퍼 일뿐입니다. 다른 "arduino-like device"IDE가 가능한 옵션입니까?

다시 한 번, 나는 이것에 매우 익숙하므로 사용자 친화적 인 느낌이 좋을 것입니다.


20
세상에 저는 모든 기능을 갖춘 IDE에 익숙하며, Wing IDE (Python의 경우) 또는 Visual Studio에서 Arduino 사람들이 "IDE"라고 부르는 담즙이 얼굴에 찔리는 것과 같습니다. 또한 Arduino 빌드 프로세스의 상당 부분이 Java 소스에서 수행되는 대신 makefile을 생성하는 것과 같은 합리적인 작업을 수행하므로 자체 빌드 프로세스를 관리하는 것은 악몽입니다.
코너 울프

1
Arduino와 함께 Eclipse를 사용했습니다 ( arduino.cc/playground/Code/Eclipserobertcarlsen.net/2009/10/31/arduino-in-eclipse-989를 확인하십시오. 정말 잘 작동합니다-빠르고 깨끗하고 훌륭한 지름길입니다) 유일한 단점은 최초 설치는 동안 :) 걸릴 수 있다는 것입니다

2
TextMate, avr-libc, make 및 screen 전에 프로그래밍을 완료 한 경우 충분합니다. 나는 AVR 프로그래밍의 초보자라고 생각하지만 그것이 내가 사용하는 모든 것입니다. 처음에 혼란스러워하는 데이터 시트를 읽는 것입니다.
tuupola

@VisualMicro 아니요, 유일한 대안은 아닙니다. Stino에 대한 아래의 내 의견을 참조하십시오.
Marnen Laibow-Koser

1
Arduino for Visual Studio ProAtmel Studio 6.1 플러그인은 표준 또는 사용자 정의 하드웨어, 컴파일, 업로드, 부트 로더, 프로그래머, 전문가 모드 라이브러리 편집, 다중 직렬 모니터, 인텔리전스 및 기타 여러 옵션을 지원하는 Arduino Ide의 완벽한 대안입니다. 초보자와 고급 사용자 모두에게 적합합니다. 설치가 10 분 미만입니다. Arduino 예제 탐색기와 옵션 Arduino USB 디버거도 포함
Visual Micro

답변:


44

경고, 긴 설명이 곧 나옵니다. 나는 당신이 가지고 있다고 생각하는 몇 가지 오해를 지우고 싶습니다.

Arduino는 실제로 두 가지입니다.

  1. avr-gcc로 컴파일 된 C / C ++ 라이브러리 모음
  2. 공장에서 이전에 칩에 프로그래밍 된 소형 부트 로더 펌웨어 프로그램.

예, Arduino IDE는 기본적으로 AVR C 컴파일러 인 avr-gcc를 래핑합니다. 프로젝트 또는 "스케치"는 언급 된 Arduino 라이브러리를 통합하며 avr-gcc로 컴파일됩니다. 그러나이 중 아무것도 보드에 글을 쓰는 방법과 관련이 없습니다. 이러한 스케치를 배포하는 방법은 평소와 약간 다릅니다.

Arduino IDE는 보드의 usb-to-serial 칩을 통해 Arduino와 통신하고 부트 로더가 이해할 수있는 프로그래밍 모드를 초기화하고 부트 로더가 알려진 위치에 배치 한 다음 실행하는 칩에 새 프로그램을 보냅니다. . "실제 쓰기를 수행하는 avr 라이브러리"는 없습니다. Arduino IDE가 직렬 포트를 열고 부트 로더와 대화하는 것뿐입니다. 이것은 런타임 동안 디버그 메시지가 IDE로 인쇄되는 방식입니다.

대체 IDE는 부트 로더와 동일한 직렬 통신을 수행 할 수 있어야합니다. Arduino는 이미 제공하는 모든 라이브러리와 IDE에서 원터치 프로그램 실행 및 실행으로 인해 쉽습니다. 솔직히 말해서 더 쉬워 지거나 사용자에게 친숙하다고 생각하지 않습니다. 그들은 AVR 마이크로 컨트롤러와 건물 / 배치 프로세스의 모든 세부 사항을 추상화했습니다.

대안은 avr-studio (컴파일러에 avr-gcc를 사용함) 및 ICSP 프로그래머 (추가 하드웨어로 구매해야 함)와 같은 것입니다. 일부 레지스터 정의 헤더 파일과 유용한 매크로 이외의 많은 기능이 제공되지 않습니다. 또한 AVR 칩에는 빈 슬레이트 인 부트 로더가 제공되지 않습니다. 마이크로 컨트롤러와 관련하여 무엇이든 깊이있게 가서 하드웨어 주변 장치 및 레지스터에 대해 배우고 C에서 바이트를 이동해야합니다. 디버그 메시지를 PC로 다시 인쇄 하시겠습니까? print ()에 대한 UART 루틴을 먼저 작성하고 컴퓨터에서 터미널을여십시오.

이보다 한 단계 낮은 것은 텍스트 편집기에서 코드를 작성하고 Makefile 또는 명령 줄에서 avr-gcc 및 avr-dude (프로그래밍 명령 줄 도구)를 호출하는 것입니다.

그보다 한 단계 낮아지면 텍스트 편집기에서 어셈블리를 작성하고 avr-assembler 및 avr-dude를 호출합니다.

나는 내가 어디로 가고 있는지 잘 모르겠다. 기존의 IDE와 Arduino가 초보자에게는 절대적으로 천재적이며 완벽하다고 생각합니다. 명예에 대한 주장 사용자 친화적입니다. 찾고있는 답변이 아니라 워크 플로를 배우고 멋진 것을 만들어보십시오.


2
내가 기대했던 대답은 아니지만 실제로 장치에 대한 나의 이해를 정리했습니다. 감사합니다
n0pe

4
arduino IDE는 실제로 가지입니다. C (++) 라이브러리, 하드웨어 및 컴파일 타임 직전에 작성된 코드에 라이브러리를 숨기는 많은 Java 코드.
코너 울프

21
Arduino 빌드 프로세스 훌륭합니다. 그러나 (이 시점에서) 그것은 Arduino의 불쾌한 텍스트 편집자 더미와 불가분의 관계에 있습니다. OP가 원한다고 생각하는 것은 다른 IDE 내에서 arduino 빌드 프로세스를 호출하는 방법입니다. 현재 Arduino 빌드를 실행하는 유일한 방법은 IDE에서 버튼을 클릭하는 것입니다. 스크립팅 할 수 없습니다.
코너 울프

6
이 답변은 약간 잘못되었습니다. arduino IDE는 부트 로더를 통해 칩에 업로드하는 자체 기능을 제공하지 않으며 대신 avrdude라는 명령 줄 도구를 사용합니다. avr-gcc와 마찬가지로 avrdude는 arduino 제품이 아니며 다른 IDE 또는 간단한 Makefile에서 사용할 수 있습니다.
Chris Stratton

1
@ChrisStratton, 실수 / 무지를 수정하기 위해 자유롭게 편집하십시오.
Jon L


10

SublimeText를 기본 텍스트 편집기로 사용하므로 SublimeText 용 Arduino 플러그인 인 Stino 를 찾아서 매우 기뻤 습니다. Arduino IDE를 완전히 대체합니다 (Stino가 라이브러리를 찾을 수 있도록 Arduino IDE의 사본이 필요하지만). 몇 가지 버그가 있지만 꽤 사용할 수 있습니다. 나는 Stino를 발견 한 이후 Arduino IDE를 거의 다루지 않았습니다.


@clabacchio 칭찬을 받고 투표를하지 않으면 일반적으로 사람들이 투표 개념에 익숙하지 않다고 가정합니다. 그리고 나는 아무 것도 표시하지 않았으므로 여기서 무슨 말을하는지 모르겠습니다.
Marnen Laibow-Koser

해당 댓글에 깃발이 표시되어 죄송합니다. 어떤 이유로 귀하의 게시물을 신고하는 것으로 생각했습니다. Nevermind :)
clabacchio

3
이 감정에 다른 목소리를 추가하고 싶습니다. SublimeText는 정말 좋으며이 Stino 부가 기능은 실제 거래입니다.
Steve Cooley

2
이것은 절대적으로 굉장합니다. 나는 이미 숭고한 텍스트를 사용하고 있으며, 이는 arduino 응용 프로그램을 완전히 버릴 수 있음을 의미합니다.
코너 울프

그리고 Atom 에는 mcduino 도 있습니다 .
Marnen Laibow-Koser 2016 년


4

예, "Arduino IDE"를 만드는 것은 기본적으로 avr-gcc 및 avrdude 앞에 프런트 엔드를 배치하는 것입니다. 실제로 "공식 Arduino IDE"외에 다른 옵션도 있습니다. 흥미있는 것은 Eclipse 기반 AVR 환경입니다.

http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download


이클립스도 있습니다. 다른 사람이 언급 한 AVR 지원으로 시작하지만 Arduino 라이브러리를로드하여 Arduino 코드를 작성할 수 있습니다.
ViennaMike를

4

개인적으로 나는 (내가 쓴 이후로) UECIDE를 추천한다 . 원래 Arduino IDE의 0023 버전을 기반으로 한 chipKIT 보드의 MPIDE를 기반으로했지만 현재 남아있는 원래 코드는 많지 않고 모두 다시 작성되었습니다.

모든 Arduino 보드와 chipKIT 보드, Launchpad, Maple 및 전체 호스트를 더 지원합니다.

여기에 이미지 설명을 입력하십시오


유망 보인다 ...
horta

UECIDE는 그 이후로 먼 길을 왔습니다. 최신 베타 버전을 확인해야합니다.
Majenko

4

또한 Codebender 와 같은 Arduino 용 브라우저 기반 / 온라인 IDE를 사용해 볼 수도 있습니다 .


산뜻한! 그들과 놀아 볼 가치가 있습니다.
Marnen Laibow-Koser 2013

Codebender에 대해 알려주는 +1 그러나 Wifino 링크에서 404 오류를 해결할 수 있습니까?
davidcary

@ davidcary : 업데이트 된 답변입니다. 메모 해 주셔서 감사합니다.
boardbite

4

플러그인 이미지
(출처 : visualmicro.com )

무료 Microsoft Visual Studio 및 Atmel Studio 플러그인 은 사용이 간편하며 Arduino IDE의 유용한 기능을 모두 갖추고 있습니다.

스케치 코드는 Arduino Ide와 완벽하게 호환됩니다. 플러그인은 Arduino Ide와 동일한 빌드 프로세스 및 툴 체인을 사용합니다. 프로젝트에 사용할 Arduino Ide 버전을 선택하십시오.

컴파일러 오류로 드릴 다운, 디스 어셈블 된 뷰 (드릴 다운 포함), 코드 완성, 프로그래머 또는 Usb를 통한 업로드와 같은 많은 추가 기능을 제공합니다.

단일 Ide에서 여러 Arduino 버전을 지원합니다. Visual Studio 버전은 Intel Galileo도 지원합니다.

두 Ide의 Arduino Yun Wifi / Web Server 업로드를 지원합니다. USB / Serial / Wifi Arduino 디버거 옵션도 있습니다

Atmel Studio는 Visual Studio를 기반으로합니다. Atmel Corp. 는 Arduino 마이크로 컨트롤러를 만드는 회사입니다. 이것은 Atmel Studio Ide가 Arduino 마이크로 컨트롤러를 인식하고 제작했음을 의미합니다.

Atmel Studio는 시뮬레이터와 같은 다른 도구도 제공합니다.

문서 및 무료 포럼


3

나는 최근 Arduino IDE 인 농담에서 code :: blocks-arduino로 전환했습니다. 소스 파일이 여러 개인 복잡한 프로젝트에 더 적합합니다. 컴파일러 플래그, 빌드 대상 및 공식 IDE에서 누락되었거나 잘못 작성된 많은 것들을 완벽하게 제어 할 수 있습니다. 이클립스 플러그인과 매우 유사하지만 일식 코드만큼 부풀어 오르지 않습니다. 독립형 빌드. 직접 i2c (twi, 원하는대로 호출) 디버깅, 직렬 캡처 및 csv 출력 등과 같은 정말 멋진 기능을 갖춘 SUPER COOL 및 USEFUL 직렬 모니터와 같이 업로드 및 디버깅에 유용한 도구가 몇 가지 제공됩니다.

리눅스 소스가있는 윈도우 용으로 컴파일 가능 http://www.arduinodev.com/codeblocks/

"중간"접근 방식은 MariaMole입니다. 불행히도 Windows 전용이지만 공식 IDE의 단순함은 많지만 "클래식"IDE의 기능은 많습니다. 둘 사이의 주목할만한 차이점은 MariaMole은 .cpp 및 .h 파일을 사용하고 code :: blocks-arduino는 공식 IDE와 같이 .ino를 사용한다는 것입니다.

창만 ; ( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/


2
여기에서 진행되는 모든 Arduino IDE bashing에 대해 사람들은 "Arduino"(IDE, bootloader / libs, HW)의 목표가 그러한 일에 초보자 인 사람들을 위해 "멍청하게 만드는 것"을 잊었습니다! 이를 위해 Arduino는 훌륭한 일을했습니다. 그러나 사람들이 초기 사탕 핥기 단계를 넘어 서면 (a 대부분의 경우처럼) avr-gcc, avr-libc, makefile, simavr, gdb 및 nano, vi 또는 emacs와 같은 간단한 편집기는 작업에 대한 즐거움을 줄 수 있습니다. 아두 이노. 또는 자체 설계 (또는 적어도 조립 된) 보드에 일반 베어 메탈 AVR 8 비트 uC를 사용합니다. 따라서 Code :: blocks는 아마도 좋은 옵션 일 것입니다.
icarus74

문제는 Arduino IDE가 간단하고 사용하기 쉽다는 것이 아닙니다. 괜찮아. 문제는 UI가 제대로 설계되지 않았다는 것입니다. Stino와 같은 대안은 간단하지만 UI가 더 좋습니다. (저는 2013 년과 마찬가지로 Arduino UI를 참조하고 있습니다. 이후로 일부 개선 된 것으로 보입니다.)
Marnen Laibow-Koser

2

Jon L :의 anser는 Arduino를 매우 잘 요약하고 대안에 대해 언급했기 때문에 좀 더 명확하게 알 수 있습니다.

  1. 부트 로더가있는 Arduino.
  2. avr-studio 및 WinAVR (gcc) 및 장치를 플래시하는 jtag ( AVR JTAGICE mkII ) 가로 드 된 Windows PC
  3. WinAVR 및 AVR JTAGICE mkII를 사용하는 gnu 툴체인 (Linux 또는 Windows).

그러나 Jon L이 말했듯이 alt1은 얼굴에서 대부분의 물건을 제거하기 때문에 기본적이고 쉽습니다. LED를 켜고 lib에서 turnOnLED 함수를 호출하십시오.

Alt2. 칩과보다 고전적인 IDE에 대한 도움이 필요하지만 대부분의 일을 스스로해야합니다.

Alt3. 모든 일을 스스로해야하지만 환경에 대한 최대 힘을 ​​얻습니다.

이제 어떤 종류의 개발을 원하는지 선택할 수 있습니다. AVR과 관련된 한 가지 좋은 점은 jtag와 같은 도구가 매우 저렴하여 사용하는 수준에 관계없이 작업하기에 매우 저렴한 플랫폼이라는 것입니다.

Arduino의 AVR이므로 jtag 커넥터가 있으면 Arduino 보드에서 alt1,2 및 3을 사용할 수 있습니다.


2

코드를 작성하기 위해 emacs (또는 이와 유사한 것)를 사용하여 코드를 작성하고 배포 할 수 있습니다. arduino 패키지에는 모든 작업을 수행하기위한 makefile 샘플 및 스텁이 포함되어 있습니다.



2

Eclipse는 훌륭한 대안이며 이제 eclipse 플러그인을 사용하면 eclipse.baeyens.it 에서 찾을 수 있으며 Windows mac 및 Linux에서 15 분 이내에 설치됩니다. 시리얼 모니터도 있습니다.


2

실제로 필요한 것은 따로 있습니다 :

  1. 코드 에디터.
  2. 툴체인과 컴파일러.
  3. 부트 로더

표준 올인원 Arduino IDE에는 기본 편집기가 포함되어있어 빠르게 성장할 수 있습니다. 편집기를 먼저 교체하고 기본 패키지의 2 단계와 3 단계에서 계속 회신하는 것이 좋습니다.

그 이상을 뛰어 넘을 준비가되면 세 가지 주요 기능을 모두 수행 할 수있는 도구는 http://playground.arduino.cc/Main/DevelopmentTools 를 참조 하십시오 .


주요 편집자들은 Arduino 지원을 천천히 추가하고 있습니다. 예를 들어 youtrack.jetbrains.com/issue/CPP-364
Bryce

1

Dan의 말 (질문에 대한 의견) : Eclipse는 Arduino와 매우 잘 작동하는 완전한 기능을 갖춘 IDE입니다. (하지만 그의 설정 주석도 두 번째). 그러나 설정하는 가장 쉬운 방법은 다른 사람의 작업 설치를 자신의 컴퓨터로 이식하여 작업 설정을 가져 와서 조정하는 것입니다.


0

이 Makefile을 사용 하고 있습니다. 대부분의 프로세스를 처리합니다. 그런 다음 보드 별 세부 정보를 제공하는 간단한 로컬 메이크 파일을 작성하십시오. 사용법에 대한 훌륭한 문서가 있습니다. 그런 다음 선호하는 텍스트 편집기를 사용하여 C 또는 C ++로 코드를 작성하고 간단한 로컬 메이크 파일로 컴파일하십시오. 업로드는 링크 된 makefile에서도 처리됩니다. "make upload"만 호출하면됩니다.

그런 다음 원하는 텍스트 편집기를 사용할 수 있기 때문에 좋은 솔루션입니다. 모든 arduino 라이브러리와 로컬 라이브러리를 쉽게 연결할 수 있습니다.


-1

이것은 매우 빠르고 유연하게 발견 된 오래된 아이디어입니다. Arduino 및 Paperduino 또는 tinyUSB와 같은 Arduino 클론을 프로그래밍 할 수 있습니다. USB 또는 직렬 포트, 테스트 퓨즈 및 기타 여러 가지를 쉽게 확인할 수 있습니다.

https://code.google.com/archive/p/avr-project-ide/


이 프로젝트는 2011 년 이후로 업데이트되지 않았으며 많은 최신 Arduino 브랜드 보드에서는 작동하지 않습니다. (특히 Arduino Leonardo 또는 Micro와 같은 ATmega32U4 보드는 지원하지 않으며 Arduino Due 또는 Zero와 같은 ARM 보드도 지원하지 않습니다.)
duskwuff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.