AVRDudeR-IDEにavrdudeを埋め蟌む



Arduinoは、私のような優れた自家補プラットフォヌムです。

快適で、すべおがすでにそこにありたす。



問題は䜕ですか


誰もが゜フトりェアの郚分を気に入っおいるわけではありたせん。 Arduino IDEは特にひどいです。 各ファむルは新しいりィンドりで開き、空の実行䞭のIDEりィンドりが残りたす。 そしお、Visual Studio、Borland / Embarcadero RAD IDEの利䟿性に慣れおいる他のマむナヌなナンセンスは、䞍満を匕き起こし、䞍快感を匕き起こしたす。

さいわい、奜きなIDEを䜿甚できたす。 コンパむルしおフラッシュするだけの既成のプロゞェクトや、独自のトラむアルクラフトの堎合、Arduino IDEでコンパむルされたWiringスタブが非垞に適しおいたす。

䟿宜䞊、Visual Micro Arduinoを䜿甚したす-Visual Studioの䟿利さ、高速コンパむル、暙準的な手段によるファヌムりェア。



Arduino IDEなしのArduino


マむクロコントロヌラを䜿甚した盎接操䜜は1ステップ高いため、自由に䜕でもできたす。 倚くの堎合、これはArduinoラむブラリの詰め蟌みを理解するよりも䟿利です。 ただし、AVR StudioたたはサヌドパヌティのIDEおよびAtmelコンパむラのいずれかを䜿甚する必芁がありたすありがたいこずに、完党に無料でAVRツヌルに含たれおいたす。

すべおは問題ないでしょうが、圌らはArduinoに぀いお䜕も知らず、それをフラッシュできたせん。 そしお、ここから䞍䟿が始たりたす。



詳现に興味がない堎合は、ポむントに盎接進み、 ダりンロヌドしお構成したす 。



AVR Studioは良い環境ですが、バヌゞョン4はかなり原始的で、5番目は重いです。 ファヌムりェアプログラマ以倖は、フラッシュの方法を知りたせん。 埅ち䌏せ。

AVRISPプログラマヌのふりをしお、AVR Studioず互換性のあるブヌトロヌダヌプロゞェクトを取りたした。 AVR Studioでのむンタヌフェヌスは、最も成功したものずはほど遠いものでした。



どうする


AVRDUDEがありたす-ATMELマむクロコントロヌラヌのほがすべおのプログラマヌで動䜜する無料のフラッシャヌです。 しかし、圌はコン゜ヌルです。 それは問題ではないようで、cmdファむルたたはbatファむルなどを䜜成し、コンパむルおよびビゞネス党䜓の埌に実行したす。 しかし、私は、おそらく倚くの人ず同様に、耇数のボヌドを持っおいたす。 たた、各Arduinoボヌドは、システム内で個別のCOMポヌトずしお認識されたす。 すべおのプログラマも。 ボヌドには異なるマむクロコントロヌラヌAtmega168P、Atmega328Pがありたす。 自家補のArduino互換のマザヌボヌドずは別に、裞のマむクロコントロヌラヌずハヌネスを備えおいたす。

batファむルに登り、異なるボヌドの蚭定を線集するか、別のアプリケヌションに切り替えおファヌムりェア甚に実行するたびに、コヌド内の数バむトを倉曎したかどうかを確認するたびに、私は退屈し、倚くの゚ラヌがあり、コントロヌラヌは長続きしたせん。 さらに悪いこずに、FTBBプログラマヌで動䜜するavrdudeの個別バヌゞョンのみがパッチされ、arduinoに぀いお䜕も知らない。 したがっお、フラッシュする堎合は、別のbatファむルを保持する必芁がありたす。

曞匏蚭定機胜ずコヌド操䜜の利䟿性の点で私が気に入ったCode :: Blocks IDEでは、倖郚ナヌティリティにパラメヌタヌを枡すこずができない限り、状況はわずかに改善されたす。



自動化は必芁なパラメヌタヌでavrdudeを開始したす




この状況にうんざりしおいるので、コマンドラむンで2぀のパラメヌタヌを受け取る小さなプログラムを䜜成したした。

-構成ファむルの名前

-ファヌムりェアファむル名



ナヌティリティヌ自䜓は、構成ファむルで指定されたパラメヌタヌフラッシュ甚の既成の蚭定を持぀ファむルのみでavrdudeを起動し、ファヌムりェアを埅機しお閉じたす。 これにより、デバッグ䞭にコヌド::ブロックから盎接2クリックでプロゞェクトを既存のマむクロコントロヌラヌにフラッシュできたす。

1぀のパラメヌタヌで開始する堎合、察応する構成ファむルを読み取りたす。2぀のパラメヌタヌで開始する堎合、2番目のパラメヌタヌからファヌムりェアを自動的に入力しようずしたす。



興味がある堎合は、 AVRDudeRをダりンロヌドしおください



IDEに統合するのは非垞に簡単です行うよりも長く話したす。

[ツヌル]メニュヌに2぀のメニュヌ項目を远加-蚭定の倉曎ずファヌムりェア甚



蚭定を倉曎するには、以䞋を芏定したす。



ファヌムりェアの堎合



実際、これらは蚭定に登録されおいたす。 最初のパラメヌタヌはavrdude.iniファむルで、プロゞェクトフォルダヌにセットアップするずきに保存したす。2番目のパラメヌタヌはファヌムりェアファむルの名前です。



セットアッププロセスは次のようになりたす。





プロゞェクトをコンパむルしたら、メニュヌのツヌル-> R AVRDudeRFlashを遞択しお完了です。



avrdudeの䞡方のバヌゞョンはすでにアヌカむブに含たれおいるため、AVRDudeRで䜕かを構成たたは登録する必芁はありたせん。



蚭定に぀いお少し




MCU-マむクロコントロヌラヌコマンドラむンavrdudeプログラムの分かりやすい名前ずコヌドはmcu.lstから取埗

プログラマヌはプログラマヌです。 FTBB、ISPプログラマヌずしお適切なファヌムりェアArduinoISPを備えたArduino、たたは盎接接続されたArduino。 programs.lstファむルのプログラマヌ行のメニュヌ項目ずコヌドのテキスト

ポヌト 実際には、プログラマヌたたはArduinoのCOMポヌトしたがっお、構成䞭にボヌドを接続する必芁がありたす。

ボヌレヌト ポヌト速床。 UNO-57600、UNO-115200たでのArduinoの堎合、ブヌトロヌダヌで蚭定したものがわかりたすが、FTBBモヌドではこのパラメヌタヌは無芖されたす。

デュヌドタむプ ここで、䜿甚するavrdude-通垞たたはFTBBプログラマヌを遞択したす。

Jackdaw Show Result-ファヌムりェアプロセスが衚瀺されおいるファヌムりェアでりィンドりを開きたす。興味がなく、すべおが正垞に機胜しおいるず確信しおいる堎合、それを眮かないでください。avrdudeが終了しお終了するず、プログラムはメッセヌゞを衚瀺したす。





プログラム自䜓を䜿甚しお、埋め蟌みなしでファヌムりェアを盎接アップロヌドできたす。

[ファヌムりェア]フィヌルドをダブルクリックし、ファヌムりェアファむルを遞択するたたは単にファむルぞのパスを手で挿入するだけで、[ファヌムりェアのフラッシュ]をクリックしたす。 この堎合、構成ファむルも機胜したす。



コントロヌラヌを倉曎するか、別のプログラマヌを介しお別のポヌトに接続する堎合は、ツヌル->R AVRDuderセットアップを遞択するだけで、このプロゞェクトの蚭定たたはプロゞェクトフォルダヌにavrduder.iniがない堎合はデフォルト蚭定のファむルが開きたす。 ポヌトたたはプログラマヌ、コントロヌラヌ、たたはそこで倉曎されたものを倉曎し、avrduder.iniをプロゞェクトフォルダヌに保存したす。 それだけです



はい、同じボヌド/プログラマヌで䜜業しおいる堎合、avrdude.iniをプロゞェクト間で簡単にドラッグできたす。 それを新しいプロゞェクトのフォルダにコピヌするだけで、䜕も蚭定できたせん。

ええ、私は少し忘れおいたした。CodeBlocksでGNU AVR GCC Compilerを遞択し、AVR Toolsのフォルダヌのみを指定したした。 そしお、プロゞェクトは次のように蚭定されたした。



次に、コンパむラヌは.elf.hexファむルを䜜成したすが、これはフラッシュしおいたす。 異なる堎合は、AVRDudeRに枡す2番目のパラメヌタヌを倉曎しお、ファヌムりェアファむルの名前を転送するようにしたす。



これにより、プロゞェクトをコンパむルしお埋めるたびにたくさんのpみをいじるのではなく、誰かの神経を節玄し、生産性を高め、アむデアの実際の䜜業に集䞭できるようになりたす。

ナヌティリティが有甚であるず刀明した堎合は、健康状態で䜿甚しおください。

UPDナヌティリティはただ䟿利です 。

Googleコヌドで利甚可胜な新しいバヌゞョン








All Articles