コードをマイクロコントローラーに配置するには何が必要ですか?


8

コントローラのコーディングについて学びましたが、実際にコードを物理デバイスに配置することはありませんでした。基本的な組み込みシステムの開発を開始するために何を注文する必要があるのか​​を理解しようとしています。

たとえば、PIC18F1330を使用している場合、MPLAB IDEとXC8コンパイラを使用しています。すばらしいので、コードをコンパイルしました。これをコントローラーに配置する準備ができました。PC上のコンパイル済みコードをコントローラーに転送するために必要なものは何ですか?

インサーキットデバッガーやPICキットなどを見てきました。この時点で私は迷っています。


PICkitを入手したら、PICkitを使用してPCをマイクロコントローラーに物理的に接続できますか?
アダム

はい、PICKit、ICDなどには、インサーキットプログラミングとデバッグのためにボードに接続するコネクタがあります。
Spehro Pefhany

回答:


4

コードをマイクロコントローラーにフラッシュする方法はいくつかあります。

ウェブ上には自作のプログラマーがたくさんいますが、彼らは通常自作のソフトウェアも持っており、MPLAB IDEに(うまく)統合されていません。

マイクロチップ社の最も安価なソリューションは、USB経由でPCに接続するだけで約40ユーロのPicKitです。PicKitにはいくつかのデバッグオプションがありますが、より強力な「インサーキットデバッガー」ICDが〜180ユーロあり、より多くのデバッグ機能を備えていますが、チップをフラッシュすることもできます。

PicKitで十分だといつも思っていました。

マイクロチップがPicKitのファームウェアと回路図を公開しているサードパーティバージョンがありますが、それらを購入する場合は、実際に得たものを本当に手に入れてください。PicKit 3のオファーを見たことがありますが、PicKit 2でないかどうかはわかりませんでした。


ちょうどコメントとして:フラッシュできるMicrochip MCUがあります。たとえば、USBが組み込まれたPIC18F2450 / 2550/4450/4550ファミリを使用し、そこにブートローダーを配置しました。ジャンパーを閉じると、MCUは起動時にブートローダーモードに入り、MCUをコードでフラッシュできます。そのようなものはすべてMicrochipから入手できます。

これを使用するには、コードにいくつかの変更が必要です。そしてもちろん、MCUのブートローダーを最初にフラッシュするには、通常のプログラマーが必要です。したがって、プログラマーがいる場合、この機能は意味がありません。ただし、ファームウェアの更新を顧客に提供したい場合は便利です。


12

XC8 CコンパイラーでMPLAB IDE使用しているため、[構成]-> [デバイスの選択]メニューから互換性を確認できます(緑のインジケーターは完全にサポートされ、黄色は部分的、赤はサポートされていません)。

現時点では、最良の選択はPickit 3、ICD3、またはRealICEです(価格の高い順)。

互換性のあるプログラマー、デバッガーは次のとおりです。

プログラミングサポートだけでなくデバッグサポートも本当に必要です。

ここに画像の説明を入力してください

デバイスドライバーがインストールされたら、それを選択して接続できます(特定のデバイスは、特定の時間にデバッガーまたはプログラマーとしてのみインストールできます)。

ここに画像の説明を入力してください

次に、プログラムがコンパイルされると(デバッグまたはリリースのいずれかの形式で)、以下に示すボタンを使用してマイクロコントローラーをプログラムできます。

ここに画像の説明を入力してください

物理的には、PICkitまたはその他のデバッグ/プログラマユニットには、システムに接続するコネクタがあります。6つのピンがあり、そのうち5つは電源とグラウンドを含めて使用されます。

ここに画像の説明を入力してください


4

執筆時点では、バイナリをマイクロコントローラーに書き込む方法は主に3つあります。特定のマイクロに応じて、それらのいずれか3つを使用できます。最も古い方法は、デバイス固有のプログラマー/デバッガーです。マイクロチップパーツの現在のものはPickit3 / ICD3であり、現在のすべてのPICマイクロおよび一部の古いマイクロと互換性があります。これらを使用して、他のメーカーが製造した部品をプログラムすることはできません。

2番目の方法はブートローダーと呼ばれます。それはあなたが部品を手に入れる前にマイクロに焼き付けられた小さなプログラムです。ブートローダーにより、マイクロの標準インターフェイス(UART、SPI、イーサネットなど)を介したプログラミングが可能になります。ARMチップには、多くの場合、AVRだけでなくブートローダーもプリロードされています。ブートローダーが存在する場合、独自のプログラミング装置は必要ありませんが、シングルステップのデバッグを簡単に行うことはできません。

3番目はJTAGと呼ばれます。これは半汎用的なインターフェースであり、多くの異なる部分をプログラムして、デバッグすることもできます。JTAGドングルと呼ばれるギアが必要になります。一部のPICパーツにはJTAGがあります。ARMチップには通常JTAGがあり、多くのチップには他のデバッグインターフェイスがありません。


3

一般的なレシピ:

  1. 選択した言語を使用して、テキストエディターにコードを入力します
  2. コンパイラを使用して、その言語を機械語に翻訳します。マシンコードは16進数のリストです。一部は命令を表し、残りはこれらの命令の引数/パラメーターです。一般に「HEXファイル」と呼ばれます。プログラムのどの部分も、この一連の基本命令とそのパラメーターに帰着します。
  3. このマシンコードをデバイスのプログラムメモリに転送します。これは、プログラマを使用して行われます。プログラマーには、プログラマーを制御するソフトウェアの一部であるドライバーが同梱されています。HEXファイルを指定すると、残りの作業が実行されます。プログラマーはHEXファイルを読み取り、デバイスのプログラミング行(モールス信号のようなもの)をコード化された方法で小刻みに動かして、実際にプログラムメモリを書き込みます。プログラムがロードされると、デバイスが再起動され、デバイスはプログラムメモリの先頭から自動的にコードの実行を開始します。それがあなたのコードです。これはひどく言われますが、今あなたが知る必要があることはほとんどそれです。

あなたはもうすぐそこです。あなたは非常にユーザーフレンドリーな方法で1と2を行う統合開発環境を持っています。プログラマーへのインターフェイスもあるので、HEXファイルが何であるかを気にする必要はありません(「再生」をクリックすれば完了です)。

ただし、デバイスとPCをインターフェイスさせるには、物理​​的なプログラマーが必要です。PICの数は多数あります。Pickitはその1つです。組み込みプログラミングについて真剣に考えるつもりなら、おそらくIn Circuit Debugger(ICD)に投資すべきでしょう。これはプログラマーであり、変数やマイクロのレジスターを覗き込んだり、突いたり、プログラムを自由に進めて停止したりすることもできます。


3

マイクロコントローラプログラミングデバイスが必要です。これは、プログラムをチップにロードするために必要な機能を実行するために、PCおよびマイクロコントローラーに接続するハードウェアの一部です。インサーキットデバッガーは、チップ上で実行されているコードのデバッグなど、プログラマーよりも多くの機能を備えたデバイスです。ICDまたはPICキットを使用してuCをプログラムできます。または、必要に応じて、JDMプログラマーのような非常に単純な回路を使用することもできます。

MPLAB IDEはPICキットとICDをサポートしていることに注意してください。ただし、JDMプログラマーを使用する場合は、PICPgmなどの別のソフトウェアを使用して、コンパイル済みのチップをロードする必要があります。

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