|
現: 2025-02-08 (土) 15:03:32 yuji  |
| + | * AVRの開発環境 [#qe5f6a5d] |
| + | AVRマイクロコントローラーのプログラム開発をする場合,無料で利用できる開発環境には以下のようなものがある。~ |
| | | |
| + | また有償の統合開発環境(IDE)も販売されている。~ |
| + | |
| + | IDEを使わず,ソースコードをテキストエディタで編集し,Toolchainでオブジェクトを生成し,AVR Writerでターゲットボードにプログラムを書き込んで,デバッガー等で動作を確認する。というスタイルでも,問題なくAVRマイクロコントローラーのプログラムを開発することができる。~ |
| + | |
| + | ** 統合開発環境 [#q6b656e5] |
| + | 統合開発環境(IDE)は,AVRマイクロコントローラー向けのプログラムを開発する時に,プログラムの作成編集・ビルド・Flash ROMへの書き込みなどが効率的に行えうための開発スイート。~ |
| + | |
| + | 無料で使える統合開発環境(IDE)には以下のようなものがある。(有償のものは省略。)~ |
| + | - [[AVR Studio>./AVRstudio]]~ |
| + | ATMEL社がリリースしていた無料で使えるWindows用のAVR統合開発環境。~ |
| + | 現在はMicrochip社からMicrochip Studioという名前で提供されている。~ |
| + | AVRマイクロコントローラーのプログラム開発をする場合,標準的な開発環境として使われている。~ |
| + | ビルドツールはAssemblerがATMEL製でC/C++はAVR-GCCが使われている。~ |
| + | デバッグにはJTAG-ICE等を使ってのソースコードデバッグやAVRシュミレーターでのデバッグも可能。~ |
| + | - [[MPLAB X IDE>https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide]]~ |
| + | 現在AVRマイクロコントローラーを販売しているMicrochip社のネイティブ統合開発環境。多くの機能を無料で使える。~ |
| + | Windows,Linux,macOSのマルチプラットフォーム対応。~ |
| + | 対応しているAVRマイクロコントローラーも増えてきているようだ。~ |
| + | MPLAB XC8がToolchainに使われる。~ |
| + | MPLAB SNAPを使ってのソースコードデバッグにも対応している。~ |
| + | - [[Arduino IDE>../Arduino]]~ |
| + | ATMEL AVRマイクロコントローラーを搭載した[[Arduinoボード>/開発/AVR/Arduino#p656e9d4]]のプログラム開発するための統合開発環境。~ |
| + | ATMEL AVRマイクロコントローラー以外のCPUを搭載したArduinoボードのプログラム開発もできる。~ |
| + | Windows,Linux,macOSのマルチプラットフォーム対応。~ |
| + | C/C++でのビルドにはAVR-GCCが使われている。~ |
| + | Arduino IDE 1.xではデバッグ機能はなかったが,2.0以降のバージョンでデバッグ機能が追加されているようだ。~ |
| + | - [[Eclipse>/開発/Eclipse]]~ |
| + | オープンソースで開発されているマルチプラットフォームで動作する統合開発環境。~ |
| + | AVRマイクロコントローラーに限らず,多くのシステム用のソフトウェア開発をサポートしている。~ |
| + | eclipse [[CDT>/開発/Eclipse/プラグイン/CDT]]と[[avr-eclipseプラグイン>/開発/Eclipse/プラグイン/AVR Plugin]]を使えばEclipseをC/C++を使ってのAVRの開発環境として使用できる。~ |
| + | C/C++でのビルドには通常はAVR-GCCが使われる。~ |
| + | デバッグはGDBを使ったソースコードデバッグに対応している。~ |
| + | - [[PlatformIO IDE>./PlatformIO]]~ |
| + | PlatformIO IDEは,ATMEL AVRやESP8266/ESP32などのマイクロプロセッサーを搭載したボード用のプログラムを開発する時に使用できる統合開発環境。~ |
| + | プログラムの編集,ビルド,Flash ROMへの書き込みなどが効率的に行える。~ |
| + | Microsoft製のテキストエディターのVisual Studio Codeの拡張機能としても提供されている。~ |
| + | |
| + | これらの統合開発環境(MPLAB X IDE以外)での要のコンパイラーには,[[AVR-GCC>./AVR-GCC]]のToolchainが使われている。~ |
| + | |
| + | ** Toolchain等 [#rba36f8c] |
| + | プログラムをコンパイルするToolchainにはmakeやavrdude,デバッガー等の支援ツールなども含まれているものもある。~ |
| + | |
| + | Windowsの場合は,MSYS2/MinGW-w64環境でもパッケージ管理ツールでインストールすることも出来る。 |
| + | |
| + | 統合開発ツールをインストールすると組み込まれたり,ソースコードからビルドする時に使われる。~ |
| + | |
| + | 有償販売されているものもあるが,ここでは省略。~ |
| + | - [[AVR-GCC>./AVR-GCC]]~ |
| + | AVRマイクロコントローラー用の[[GNU GCC>https://gcc.gnu.org/]]。無料で使用できる。~ |
| + | AVR用の標準Cライブラリも含まれている。~ |
| + | -- [[WinAVR>./WinAVR]]~ |
| + | Windows専用のAVR-GCC。支援ツールも多く含まれている。~ |
| + | - [[MPLAB XC8>https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers]]~ |
| + | Microchip社がリリースしているコンパイラ。最適化対応している有償版と無償版がある。~ |
| + | |
| + | ** プログラム書き込みやその他のツール [#r0802c27] |
| + | - プログラムの書き込み~ |
| + | -- [[AVR Writer>../AVR Writer]]~ |
| + | AVRマイクロコントローラーのFlash ROMにプログラムを書き込むために使用するハードウェア。~ |
| + | -- [[avrdude>./avrdude]]~ |
| + | 上記のAVR Writerを使ってプログラムをAVRのFlash ROMに書き込みを行う時に使用するツール。~ |
| + | ToolchainのAVR-GCCの配布パッケージによっては,avrdudeが含まれているものもある。~ |
| + | - [[make for windows>https://gnuwin32.sourceforge.net/packages/make.htm]]~ |
| + | Windows版makeコマンド。~ |
| + | ToolchainのAVR-GCCの配布パッケージによっては含まれていたり,MSYS2/MinGW-w64環境があればmake等多くのコマンドツールが開発用に使用できる。~ |
| + | - ICE(in-circuit emulator)~ |
| + | AVR CPUをエミュレートするハードウェア。~ |
| + | 実際のAVR CPUと同じ機能を実装し,さらにブレーク・ポイントなどのプログラムの実行途中で一時停止するといったデバッグ機能が実装されている。~ |
| + | デバッガー・ソフトウェアと一緒にデバッグする時に使用される。~ |
| + | -- ATMEL AVR JTAG-ICE~ |
| + | ATMEL社が販売していたAVRチップ用のJTAG-ICE。~ |
| + | 初代のJTAG-ICEを購入した。中華の互換機が1000円もしないで販売されてた。~ |
| + | AVR Studioで使用できた。~ |
| + | -- [[ATMEL-ICE>https://www.microchip.com/en-us/development-tool/atatmel-ice]]~ |
| + | ATMEL社から販売されていたAVR JTAG-ICEの後継機種で,現在はMicrochip社から販売されているJTAG・SWD・PDI・TPI・aWire・SPI・debugWIRE・UPDIインターフェースに対応しているICE。~ |
| + | AVR Studioで使用できる。~ |
| + | -- [[MPLAB SNAP>https://www.microchip.com/en-us/development-tool/pg164100]]~ |
| + | Microchip社から安価に販売されているMPLAB SNAPというICE。~ |
| + | 秋月電子やMouserでも購入できる。~ |
| + | |
| + | ** テキストエディタ [#v8cdd9f9] |
| + | IDEを使わない場合は,普段使っているテキストエディタでプログラムのソースコードを編集する。~ |
| + | コマンドターミナル等でビルドツールを使ってオブジェクトファイルをビルドすることで,プログラムを開発することも出来る。~ |
| + | |
| + | 好みのテキストエディターを使えばいいと思う。~ |