리눅스 / 맥 AVR 프로그래밍 스위트?


11

나는 꽤 오랫동안 아두 이노를 코딩하고 사용하고 있습니다. 그러나 arduino 부트 로더없이 직선 AVR 칩을 사용할 준비가되었습니다. 내 질문은 이것을 할 수있는 자원은 무엇입니까?

linux / mac을 사용하고 싶습니다 .winavr이 avrstudio와 같이 그림에서 벗어났습니다. 내가 가진 것과 같은 것이 없다면 Windows 가상 머신에 정착 할 것입니다. 그러나 내가 확실히 알 때까지. 내가 원하는 것은 avr-gcc를 사용하는 IDE 유형입니다.

이 질문에 대한 보너스로 누구나 avr에 대한 C 학습에 대한 좋은 자료가 있습니까? 특히 다양한 칩에 대해 Makefile 등을 구성하는 방법은 무엇입니까?

답변:


7

zklapow에 동의하지만 AVR Freaks의 프로젝트 섹션도 확인하십시오. 그것이 arduinos 전날에 다시 배웠던 방법입니다. 또한, 유용한 정보를 얻으려면 칩에 대한 데이터 시트를 읽어야합니다. 예를 들어 arduino 환경이 숨길 수있는 매개 변수가 너무 많기 때문에 아날로그 핀을 읽는 좋은 기능은 없습니다. 예를 들어 보겠습니다.

 int ledPin =  13;    // LED connected to digital pin 13
 // The setup() method runs once, when the sketch starts
 void setup()   {                
   // initialize the digital pin as an output:
   pinMode(ledPin, OUTPUT);     
 }
 // the loop() method runs over and over again,
 // as long as the Arduino has power
 void loop()                     
 {
   digitalWrite(ledPin, HIGH);   // set the LED on
   delay(1000);                  // wait for a second
   digitalWrite(ledPin, LOW);    // set the LED off
   delay(1000);                  // wait for a second
 }

다음 C와 거의 유사합니다 (테스트되지 않음).

int main(void) {
    // I just randomly picked pin 6 on PORTB, this may not be the same on an arduino
    DDRB = (1<<6); // set pin to output in data direction register
    int i; // have to do this outside the for loop because of C standard

    while(1) {
        PORTB |= (1<<6); // send pin 6 high and leave other pins in their current state
        for (i=0; i<10000; i++); // delay

        PORTB &= ~(1<<6); // send pin 6 low
        for (i=0; i<10000; i++); // delay
    }
}

물론, 일부 라이브러리에는 지연 함수가 있고 다른 라이브러리에는 출력 함수가있을 수 있지만 이와 같은 코드를 작성하는 데 익숙해집니다. 이 PORTB 및 DDRB가 의미하는 바를 모두 알 수있는 유일한 방법은 데이터 시트를 읽는 것입니다. 나는 이것에 대해 무인 미안하지만 충분한 사람들이 데이터 시트가 정보를위한 금광이라는 것을 깨닫지 못합니다.


DDRB를 설정할 때 다른 비트에 영향을 미치지 않도록 DDRB | = (1 << 6)을 사용해야합니다.
zklapow

또한 사용 가능한 delay_ms () 함수가 있습니다. 그러나 일반적으로 더 복잡한 프로그램에서는 일반적으로 앱에 하드 코딩 지연을 원하지 않습니다.
davr

7

또한 C / C ++AVR-Eclipse 플러그인에 대한 Eclipse를 확인해야합니다 . 특히 크로스 팩을 사용하면 완벽하게 작동합니다. 나는 지금 약 1 년 동안 그것을 사용하고 정말 좋아합니다.


avr-eclipse 플러그인을 얻으십시오 .avrdude 및 avr-gcc와 잘 통합되어 있으므로 무료로 제공되는 우수한 컴파일러 위에 멋진 IDE를 제공합니다.
dren.dk

Eclipse 마이크로 컨트롤러 설정은 ARM 마이크로 컨트롤러를 사용하기위한 좋은 관문이기도합니다. AVR 전용 IDE를 얻는 것보다 훨씬 더 나은 대안입니다.
lyncas 2009 년

4

내가 사용 ObDev의 CrossPack을 뿐만 아니라. AVR-GCC C 코드를 작성하는 데 필요한 모든 도구가 번들로 제공됩니다. 그것들은 표준 Arduino 설치에 존재하는 동일한 도구이므로 때로는 Arduino 빌드 시스템의 내장을 사용하여 일반 AVR-GCC 코드를 작성했습니다.

일반적으로 C 코드를 작성할 때 사용하는 "IDE"는 텍스트 편집기, 명령 줄 명령 및 Makefile입니다. 나는 그렇게 더 효율적입니다. 텍스트 편집기 (emacs) 인 하나의 창이 열리고 컴파일중인 다른 창과 직렬 모니터 또는 이와 유사한 것을 수행하는 세 번째 또는 네 번째가 있습니다. 그러나 단일 명령 줄 창에서 수행 할 수있는 모든 작업은 다음과 같습니다.

% emacs foo.c [파일 편집]
% make [컴파일 코드]
% 플래시 만들기 [칩에 업로드]
% screen /dev/tty.usbserial 9600 [토크 칩]
... 그리고 필요에 따라 반복하십시오 ...

또한 SmileyMicros.com 을 확인하십시오 . 그는 Arduino 이전에 AVR Butterfly 보드를 기반으로 한 AVR GCC 프로그래밍 소개에 대한 훌륭한 책을 썼으며 그 이후 Arduino를 통합하기 위해 그의 예제를 업데이트했습니다. Arduino의 칩보다 더 복잡한 칩에서 AVR C 프로그래밍이 수행되는 방식을 비교해 보는 것이 좋습니다.



3

Arduino를 사용하고 있으므로 필요한 모든 것이 이미 설치되어 있습니다. Makefile을 사용하여 명령 행에서 Arduino 스케치를 컴파일합니다. 또한 Arduino 부트 로더없이 코드를 컴파일합니다.

보드 용 Arduino 부트 로더를 컴파일하는 데 사용하는 Makefile은 http://wiblocks.luciani.org/docs/app-notes/bootloader.html에 있습니다. ATmegaBOOT_xx8.c 파일이 아닌 프로그램을 컴파일하도록 수정할 수 있습니다.

내 Makefile은이 사이트에서 찾은 파일 ( http://mjo.tc/atelier/2009/02/arduino-cli.html) 에서 수정되었습니다 .

트위터 에서이 같은 질문에 답하는 동안 dorbotpdx에서 makefile을 발견했습니다. http://dorkbotpdx.org/blog/ax/arduino_0017_makefile을 참조 하십시오

http://arkku.com/misc/arduino_make.sh에 잘 문서화 된 쉘 스크립트도 있습니다.

쉘 스크립트가 아닌 Makefile을 사용했을 것입니다. 이 대본을 작성한 사람은 흐름에 대해 훌륭하게 설명했습니다. 흐름을 이해하기위한 작품입니다.


OSX 10.6에서 arduino_make.sh를 작동시킬 수 없었습니다 .'awk -v '가 OSX에서 예상대로 작동하지 않아서 어디서나 사용하기 때문입니다.
테라스

그의 질문은 Arduino가 아니라 Linux에서 avr-gcc와 avrdude를 사용하는 것에 관한 것입니다.
dren.dk

2

CodeLite (www.codelite.org) IDE가 훌륭하고 모든 기능을 갖춘 것을 발견했습니다. 여전히 AVR 마이크로 칩을 프로그래밍하려면 고유 한 Makefile을 작성해야합니다.

BeRTOS Wizard를 시도 하면 BeRTOS 프로젝트 및 관련 Makefile이 생성되고 CodeLite와 함께 사용할 수 있습니다. 대상을 플래시하려면 "플래시 만들기"를 사용하면됩니다. 우리는 매일 리눅스에서 일하고 있습니다. 더 궁금한 점이 있으면 메일 링리스트에 올리십시오. 면책 조항 : 저는 BeRTOS 개발자입니다.

안부, 루카


면책 조항을 제외하고 CodeLite는 훌륭한 도구입니다. 빌드 시스템에서 작동하도록 CodeLite를 구성한 경우 'make flash'를 사용할 필요가 없습니다. Code :: Blocks는 비슷한 잠재력을 가지고 있습니다.
케빈 베르메르

2

Macports가 설치되어 있다면 간단하게 실행할 수 있습니다.

$ sudo port install avr-binutils avr-gcc avr-libc avrdude 

그리고 당신은 갈 준비가되어 있어야합니다.


2

패키지 시스템에 avr-libc를 설치하도록 요청하면 필요한 모든 것을 제공해야합니다. 나는 emacs를 IDE로 사용하고 있기 때문에 사용자 이름을 참조하십시오.

템플릿 makefile을 원한다면 github에서 내 프로젝트 중 하나를 살펴보십시오 (예 : https://github.com/unixbigot/pir-lite)

그 저장소에서 avr-tmpl.mk는 상용 makefile 라이브러리입니다 (나에 의해 작성되지 않았습니다). 기본 메이크 파일에서이 파일을 포함 시키며 보유하고있는 칩, 클럭 속도 및 파일 만 정의하면됩니다. 하나의 사본이 있으며 모든 프로젝트 메이크 파일에서 포함합니다.

"프로그램 만들기"는 avrdude를 호출하여 코드를 다운로드합니다. makefile은 또한 마지막에 코드 크기를 인쇄하므로 남은 공간을 알 수 있습니다.


0

이 기사의 도움으로 ISP와 같은 내 '오래된'Duemanilove을 '프로그램 : http://arduino.cc/en/Tutorial/ArduinoISP 그것은 ATtiny의 재치 동일하게 작동합니다 http://hlt.media.mit.edu/? p = 1229

Arduino IDE 0022를 사용할 때 스팸 방지로 인해 ArduinoISP 스케치를 최신 버전으로 업그레이드해야합니다.이 링크는 아래 주석으로 이동했습니다.

텍스트 편집기 (vi)에서 프로그래밍을 수행하고 링크 된 mit.edu 기사에 설명 된대로 avr-gcc를 사용하여 컴파일했습니다.


스팸 방지를 통해 댓글에서 최근 ArduinoISP에 대한 링크를 언급했습니다. : code.google.com/p/mega-isp/downloads/…
jippie

0

야 우분투에서 avrstudio를 계속 사용할 수 있습니다. 어떻게 할 수 있을까 생각하고 .....

답은 와인 응용 프로그램을 설치하고 와인으로 Windows 소프트웨어를 실행하는 것입니다.

Avr studio, proteus ... 심지어 창 게임도 와인과 함께 우분투에서 실행할 수 있습니다.

당신은 심지어 makefiles blah blah를 엉망으로 만들 필요가 없습니다. (와인으로 설치하고 시작하십시오).

extremeelectronics, AVR tutorials 등과 같은 avr MCU를 시작하는 많은 사이트가 있습니다. Google 검색을 제공하십시오.

avrstudio 5와 6이 작동하지 않기 때문에 avrstudio 4를 와인에 설치하는 방법에 대해 자세히 이야기 할 것입니다.하지만 리눅스의 가상 상자를 사용하여 가상 상자의 창으로 avr stud 5와 6을 실행할 수도 있습니다.

  1. Ubuntu 소프트웨어 센터를 열고 검색에 wine을 입력 한 다음 설치하십시오.

  2. 그런 다음 avrstudio4에 대한 설정을 얻고 win avr을 설치해야합니다

    이 링크를 사용해보십시오

ㅏ. avr studio 4 http://mycomsats.com/blogs/download-atmel-avr-studio-4-free/

비. win avr http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download?use_mirror=kaz&r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fwinavr%2Ffiles% 2F & use_mirror = 카즈

3. AS (avr studio 4) 설정이있는 폴더를 연 다음 마우스 오른쪽 버튼을 클릭하고 "windows wine program loader"또는 "wine application"으로 엽니 다.

4. 그런 다음 창에서와 같이 다음 버튼을 클릭해야합니다.

5. 그런 다음 와인과 마찬가지로 win avr을 다시 설치하십시오 (win avr 설정으로 이동하십시오 ....).

6. 우분투 소프트웨어 센터에서 클래식 메뉴 표시기를 다운로드하십시오. 당신은 5 분 안에 그것에 대해 알게 될 것입니다.

7. 클래식 메뉴에서-> 와인-> 프로그램-> avr 도구

여섯 번째 단계는 추가 단계이므로 와인 폴더에서 avrstudio4 실행 옵션이 어디에 있는지 망칠 필요가 없습니다.


이 답변은 와인에서 실행하는 방법에 대한 세부 정보 / 링크가 포함되어 있으면 더 유용합니다. 최신 Atmel Studio는 Wine에서 잘 작동하지 않는다고 생각하는 Microsoft Visual Studio를 기반으로하지만 잘못 될 수 있습니다.
PeterJ

나는 @PeterJ
Jasser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.