親愛なるみんな
ダウンロードページで
パッケージがpberna67_1-1790030347425.png
しかし、ダウンロードボタンをクリックしても、ダウンロード統計は表示されません。LPC1766をサポートする必要がありますが、バージョン3ではサポートされていないようです(ドライバが示されているのに不思議です)。それでもバージョンV2にはドライバが見当たりませんLPC1766
ありがとうございます
パオロ
親愛なるパオロ、
FreeMASTERドライバーを入手するために使ったリンクは正しいです。残念ながら、このドライバーはNXP MCUXpresso SDKでサポートされる新しいデバイスのみに対応しています。このLPC1766はSDKでサポートされていません。
LPC1766を使用する際には、以下の2つの選択肢があります。
- JTAG (Segger J-Link または LPCLink2/CMSIS-DAP) を介して FreeMASTER を使用する - これにより、変数を検査および制御できるようになります。通信ドライバは不要で、FreeMASTERはMCUが稼働中もメモリにアクセスします。
- ドライバーを別の部品に取り寄せて、LPC1766に移植する。詳細は下記をご覧ください。
SDK依存の理由は、FreeMASTERドライバーが通信ドライバーをSDKの低レベルドライバーの上に重ねているからです。サポートするMCUのいずれかを選択すると、SDKビルダーリンクからFreeMASTERのフル「ミドルウェア」ドライバーを入手できます。例えば(例:MCXN947)。ダウンロード後、FreeMASTERのコードはmiddleware/freemasterディレクトリにあります。
FreeMASTERパッケージ(src/drivers)には他にも、あなたにとって役立つ可能性のある他のドライバーも含まれます。mcuxsdkディレクトリにはSDKの低レベルに基づくプライマリドライバーが入っていますが、FreeMASTERのドライバーコードの構造を理解するためにも確認できます。「dreg」ディレクトリにはSDKに依存しないドライバーが含まれています。「デレッグ」ドライバは代わりにダイレクトレジスタアクセスを使っています。これは基本的に必要なものですが、残念ながらレガシーLPCはリストに含まれていません。NXP DSC、Kinetis、Power Architecture、S12Z、S32プラットフォーム向けのこのようなドライバーがあります。この概念をLPCに移植するのは非常に簡単な作業となるだろう。
よろしくお願いいたします。
ミハル
マイケル様
迅速なご返信ありがとうございます!
私はすでにJlink/MCU LinkとMCU Link2をドライバーなしで使って変数の読み書きに使っていますが、アプリケーションコマンドマネジメント(それ以上のものではありません)も追加したいと思っています。USB/UART/CAN などのサポートは必要ありません...インターフェースのサポートです。
「dreg」ディレクトリにはSDKに依存しないドライバーが含まれています。「デレッグ」ドライバは代わりにダイレクトレジスタアクセスを使っています。これは基本的に必要なものですが、残念ながらレガシーLPCはリストに含まれていません。」
これらの追加制限を踏まえて、dregディレクトリの内容だけで十分だと思いますか?
V2バージョンのドライバーもLPC1766対応していると読みました。それは本当ですか?このドライバーを送ってもらえますか?
ありがとう、パオロ。
こんにちは、パオロさん。
いいえ、V2ドライバーはLPCをサポートしていません。HCS08、HCS12、ColdFire、PowerPCなどの一部のレガシーなプラットフォームをサポートしていますが、LPCはサポートしていません。
もし単にアプリケーションコマンドを有効にしたいだけなら、アプリケーションの制御方法を変える方がずっと簡単で一般的により良い解決策だと思います。アプリケーションコマンドは、FreeMASTERが制御リクエストパラメータを書き込む変数をいくつか選び、別の変数を「処理リクエスト」として使うことで簡単に置き換えられます。ターゲットアプリケーションがこのリクエスト変数セットを検出すると、制御コマンドを処理し、リクエスト変数をゼロに戻して確認できます。この動作は機能的にアプリケーションコマンドと同等であり、通信ドライバなしでJTAG上で動作することを可能にします。
もう一つの質問に答えると、「ドレッグ」ドライバは直接使えるものではありません。前述の通り、LPCはサポートされていませんが、自分で簡単にポートを作成できます。freemaster_kxx_uart.cのようなUARTファイルを見ると、原子的なUART操作を行うドライバ関数が見つかります。例えば、割り込みを有効にする場合:
この単純な関数はUART周辺レジスタ上で直接動作していることがわかります。これをLPCに移植するには、LPC UARTモジュール(Kinetis Oneとは異なる)上で動作する類似の関数を作成する必要があります。
よろしくお願いいたします。
ミハル
親愛なるマイケルへ
私は Keil MCB1700 ボードを使って、lpcxpresso54114 SDK のfreemaster_examples/fmstr_example_pdbdmをLPC1768プラットフォームに移植しました。すべて順調に動作しています。NXPは非常に良い仕事をした。移植作業中にコードの変更は一切なく、非常に簡単な作業だった。
残念ながら、このフォーラムに.zipファイルとして添付することはできません。ファイル
よろしくお願いいたします
パオロ
ありがとうございます。