Linux / Mac AVRプログラミングスイート?


11

私はArduinoをコーディングしてかなり長い間使用しています。しかし、私はarduinoブートローダーなしでストレートAVRチップを使用する準備ができています。私の質問は、これを行うためのリソースは何ですか?

Linux / Macを使用したいので、winavrはavrstudioのようには見えません。私が何をしているのかわからない場合は、Windows仮想マシンを使用します。しかし、私が確信するまでは。私が欲しいのは、avr-gccを使用するある種のIDEです。

この質問へのボーナスとして、誰かがavrのためにCを学ぶ上で何か良いリソースを持っていますか?具体的には、さまざまな異なるチップ用にMakefileなどをどのように構成するのですか?

回答:


7

私はzklapowに同意しますが、AVR Freaksのプロジェクトセクションもチェックしてください。それがアルドゥイーノスの前日に私が学んだ方法です。また、有用な処理を行うには、ほぼ確実にチップのデータシートを読む必要があります。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に関するすべての意味を理解できる唯一の方法は、データシートを読むことです。私はこれについてドローンに申し訳ありませんが、データシートが情報の宝庫であることを十分に理解していない人がいます。


私はコードを1つ修正します。DDRBを設定するときは、他のビットに影響を与えないようにDDRB | =(1 << 6)を使用する必要があります。
zklapow

また、delay_ms()関数も使用できます。しかし、一般に、より複雑なプログラムでは、通常、アプリに遅延をハードコーディングすることは望ましくありません。
davr

7

Eclipse for C / C ++AVR-Eclipseプラグインもチェックしてください私にとっては特にクロスパックで完璧に動作します。もう1年くらい使ってて本当に気に入っています。


avr-eclipseプラグインを入手してください。avrdudeおよびavr-gccとうまく統合されているため、優れた無料のコンパイラーの上に素敵なIDEができあがります。
dren.dk 2011年

Eclipseマイクロコントローラーのセットアップは、ARMマイクロコントローラーを使用するための良いゲートウェイにもなります。AVRのみのIDEを取得するよりもはるかに優れた代替策。
lyncas

4

ObDevのCrossPackも使用しています。これは、AVR-GCC Cコードを作成するために必要なすべてのツールの素晴らしいバンドルです。これらは標準のArduinoインストールに存在するものと同じツールであるため、Arduinoビルドシステムの根幹を使用して、プレーンなAVR-GCCコードを作成することがあります。

通常、Cコードを書くとき、私が使用する「IDE」は、テキストエディター、コマンドラインコマンド、およびMakefileです。その方が効率的です。テキストエディター(emacs)であるウィンドウを1つ開いており、コンパイル用のウィンドウがもう1つあり、シリアルモニターなどを実行している3番目または4番目のウィンドウがあります。ただし、これらすべてを1つのコマンドラインウィンドウで実行できます。その場合、コマンドは次のようになります。

%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)から変更されています

この同じ質問(ちょうど昨日;)に答えているときに、Twitterでdorbotpdxのmakefileに出会いました。http://dorkbotpdx.org/blog/ax/arduino_0017_makefileを参照してください

http://arkku.com/misc/arduino_make.shにも十分に文書化されたシェルスクリプトがあります。

おそらく、シェルスクリプトではなくMakefileを使用します。このスクリプトを作成したフェローは、フローにコメントするという素晴らしい仕事をしました。流れを理解するだけのためのワークルックです。


OSXで 'awk -v'が期待どおりに動作せず、どこでも使用しているため、arduino_make.shをOSX 10.6で動作させることができませんでした。
テラス

彼の質問はArduinoに関するものではなく、Linuxでのavr-gccとavrdudeの使用に関するものでした
dren.dk

2

私はCodeLite(www.codelite.org)IDEを素晴らしく、フル機能で見つけました。それでも、AVRマイクロチップをプログラムするには、独自のMakefileを作成する必要があります。

BeRTOSウィザードを試して、BeRTOSプロジェクトと関連するMakefileを作成し、CodeLiteで使用することができます。ターゲットをフラッシュするには、「make flash」を使用するだけで完了です。私たちは毎日Linuxに取り組んでいます。さらに質問がある場合は、メーリングリストに投稿してください。免責事項:私はBeRTOS開発者です。

よろしく、ルカ


免責事項はさておき、CodeLiteは優れたツールです。ビルドシステムで動作するようにCodeLiteを構成する場合、「make flash」を使用する必要はありません。Code :: Blocksにも同様の可能性があります。
ケビンフェルメール


2

パッケージシステムにavr-libcのインストールを依頼すると、必要なものがすべて提供されます。私はIDEとしてemacsを使用しています。cos、ユーザー名を参照してください。

テンプレートのメイクファイルが必要な場合は、githubで私のプロジェクトの1つを見てください。例:https : //github.com/unixbigot/pir-lite

そのリポジトリのavr-tmpl.mkは、既製のmakefileライブラリです(私が作成したものではありません)。メインのmakefileからインクルードし、使用しているチップ、クロック速度、ファイルを定義するだけです。私はそのコピーを1つ持っており、すべてのプロジェクトメイクファイルからインクルードします。

「make program」は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

ubuntuでavrstudioを引き続き使用できます。どうすればそれができるのか考えてみて.....

答えは、wineアプリケーションをインストールして、それらのWindowsソフトウェアをwineで実行することです。

AVRスタジオ、プロテウス... Windowsのゲームでも、ワインを使用してUbuntuで実行できます。

makefiles blah blahをいじる必要もありません(ただwineでインストールして始めましょう)。

エクストリームエレクトロニクス、AVRチュートリアルなど、avr MCUを使い始めるには多くのサイトがあります。グーグルで検索してください。

avrstudio 5と6はそれで動作しないので、ワインにavrstudio 4をインストールする方法を詳しく説明しますが、Linuxで仮想ボックスを使用して、仮想ボックス上のウィンドウでavrスタッド5と6を実行することもできます。

  1. Ubuntuソフトウェアセンターを開き、検索にwineと入力してインストールします。

  2. 次に、avrstudio4のセットアップを取得し、win avrをインストールする必要があります。

    これらのリンクを試してください

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

b。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 = kaz

3.AS(avr studio 4)のセットアップがあるフォルダーを開き、右クリックして「windows wine program loader」または「a wine application」で開きます。

4.次に、ウィンドウで行うように、次のボタンをクリックする必要があります。

5.ワインと同様にwin avrを同様にインストールします(win avrセットアップに入ります...)。

6.ubuntuソフトウェアセンターからクラシックメニューインジケーターをダウンロードします。あなたはたった5分でそれについて知るようになります。

7.クラシックメニューから->ワイン->プログラム-> avr tools

6番目のステップは追加のステップなので、avrstudio4実行可能オプションがwineフォルダーのどこにあるかをいじる必要はありません。


この回答は、Wineの下で実行する方法に関する詳細/リンクが含まれている場合に、より役立ちます。最新のAtmel StudioはMicrosoft Visual Studioに基づいていますが、これはWineではうまく動作しないと思いますが、私は間違っている可能性があります。
PeterJ 14

回答を編集しました@PeterJ
Jasser
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.