MIPS
アセンブリコードを書きたい。atmel avr マイクロコントローラーは (PIC マイクロコントローラーと同様に) MIPS をサポートしていますか、それとも avr アセンブリを使用する必要がありますか?
5 に答える
マイクロコントローラとアーキテクチャについて少し混乱しているようです。いくつかの良い出発点を提供する方がよいと思います。
Atmel AVR サイト。ドキュメンテーション、正誤表、仕様、例など。AVR-8 (8 ビット) または AVR-32 (MIPS などに精通している場合はより適切な選択) の経験を積むことができます。
サイトから入手できるツールチェーンなどはたくさんあります。ただし、AVR 用のbinutilsをビルドしていれば、AVR 用にGCCをクロスコンパイルできます。
ホストされた Cライブラリよりも機能がやや劣りますが、使用している 8 ビット AVR アーキテクチャに応じて複数のターゲットでビルドされる C ライブラリが必要です。
最後に、プログラムでマイクロコントローラーをフラッシュできる必要があります。例: avrdude。
このパスでの試行錯誤を省きたい場合は、(Unix/BSD) AVR 開発環境の最新のビルド手順があります。
--
これでソフトウェアは完成です。これまでのところ、これはすべて無料です。DIY インシリアル プログラマーから洗練された STK プログラマーに移行するためのプログラマーが必要です。私は AVR-32 の経験があまりないので、MIPS に匹敵するものが必要な場合は、それがより良い選択かもしれません。それでも、小さな AVR-8 デバイスを作成することは、私に多くのことを教えてくれました。
さらに、AVR はさまざまな ARM マイクロを製品化するライセンスを取得しています。行き詰まっていない限り、おそらく MIPS よりも良い選択です。
ところで、PIC は開発者の観点からはひどいものです。
MIPS アセンブリ言語は、MIPS アーキテクチャに固有のものです。私の知る限りでは、Atmel AVR デバイスは MIPS 命令セットを直接サポートしていません。AVR を使用する予定がある場合は、特に AVR の命令セットを学習することをお勧めします。
MIPS アセンブリのプログラミングに関心があり、物理的なハードウェアにはあまり関心がない場合は、仮想 MIPS 環境を検討します。私は MIPS アセンブリに焦点を当てたコースを受講し、MARS と呼ばれる Java ベースのエミュレーターを使用しました。
http://courses.missouristate.edu/kenvollmar/mars/
プログラム可能な MIPS ハードウェアを探している場合、何が利用できるかわかりません。
これが役立つことを願っています。
基本ファミリ AVR は、一般に次の 6 つの広いグループに分類されます。 tinyAVR — ATtiny シリーズ 0.5 ~ 16 kB プログラム メモリ 6 ~ 32 ピン パッケージ 限定周辺セット megaAVR — ATmega シリーズ 4 ~ 512 kB プログラム メモリ 28 ~ 100 ピン パッケージ 拡張命令セット (より大きなプログラム メモリを処理するための乗算命令と命令) 広範な周辺機器セット XMEGA — ATxmega シリーズ 16 ~ 384 kB プログラム メモリ 44 ~ 64 ~ 100 ピン パッケージ (A4、A3、A1) DMA などの拡張パフォーマンス機能Event System」、および暗号化のサポート。DAC を備えた広範なペリフェラル セット LCD コントローラ、USB コントローラ、高度な PWM、CAN など、AVR ファミリの他のメンバーには見られない特別な機能を備えたアプリケーション固有の AVR megaAVR FPSLIC (FPGA を備えた AVR) FPGA 5K ~ 40K ゲートAVRプログラムコード用のSRAM、
PIC32 は、MIPS を CPU コアとして使用するマイクロコントローラ ファミリです。ただし、Attiny ATmega と ATxmega は AVR を CPU コアとして使用します。AVR と MIPS は命令セット アーキテクチャが異なるため、同じ命令を使用することはできません。