1319714_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1319714_ja-JP

1319714_ja-JP

[LPC54XXX]: ISPモードでUSBポートを使用してファームウェアを更新する方法

LPC54XXXがISPモードに入った後、UART/I2C/SPI/USBを介してアプリケーションをアップグレードするには、2つの方法があります。1つは、電源投入時にISPピンの状態を変更する方法であり、もう1つは、コード実行中にソース・コードでISP Boot ROMを再度呼び出す方法です。最初の方法は、ユーザーがコードを書く必要がなく、操作も簡単ですが、柔軟性に欠け、現場での運用には適さないという欠点があります。2番目の方法はより柔軟で、ユーザー自身が開発したセカンダリ・ブートローダ・アプリケーションで広く使用されていますが、自分でコードを書く必要があります。

実際の開発において、パーソナル・コンピュータのUSBポートが使いやすいため、アプリケーションのアップグレードにUSBポートを使用する方法がますます普及しています。残念ながら、ISPモードでUSBポートからアプリケーションをアップグレードする方法は、現在のところありません。そのため、ここで方法を共有するためにこの記事が用意されました。

 

ISPモードに入るには、以下の2つの方法があります。

  1. 方法1:電源投入時にISPモードに入り、アプリケーションをアップグレードする

ハードウェア側では、電源投入またはリセットの前に ISP0~2ピンを設定すると、MCUはISPモードに入り、アプリケーションをアップグレードします。ピンの構成方法は以下のとおりです。

ZhangJennie_0-1628254630069.png

図1.

 

  1. 方法2:ソース・コードでReinvoke ISPを有効化して、アプリケーションをアップグレードする

ISPモードでは、アプリケーションはUART/I2C/SPI/USBを介してアップグレードされます。この記事は、USB方式に焦点を当てています。USBについては、LPC54XXXのUSB0(全速力)とUSB1(高速)の両方をアプリケーションのアップグレードに使用できます。USBのアップグレード・モードには、次の2種類があります。それは、DFU(デバイス・ファームウェア・アップデート)とMSC(マス・ストレージ・デバイス・クラス)です。

ZhangJennie_1-1628254630184.png

図2.


ISPパラメータ配列のバイト0とバイト1を変更して、アプリケーション・アップグレード・モードを選択します。キー・コードは以下のとおりです

ZhangJennie_0-1656898774640.png

図3.


図3には、注意すべき3つの重要な点があります。

- isp_mode[0]が0xAAとして設定されている場合、DFUモードです。それ以外の場合、MSCモードです(たとえば、isp_mode[0]が0xFFとして設定されている場合)。

-isp_mode[1]が8に設定されている場合、USB FSが使用され、9に設定されている場合、USB HSが使用されます。

- Chip_IAP_ReinvokeISP関数を介してISPモードに入ります。

2.1 DFUを利用してアプリケーションをアップグレードする

ツールの準備:

DFU を使用するには、アプリケーションをアップグレードするために dfu-util ツールが必要です。DFU ツールは DFU の公式ウェブサイトからダウンロードできます。リンクは以下の通りです。

http://dfu-util.sourceforge.net/

さらに、NXPはLPCScryptにdfu-utilツールを組み込んでいます。LPCScrypt をダウンロードした場合は、binディレクトリで直接使用できます。


DFUによるアプリケーションの更新手順:

LPC54628を例にとると、ISPはDUFモードとして設定され、USB1を使用してアプリケーションをアップグレードします。

  • 図3の関連コードを次のように変更します。

isp_mode[0] = 0xAA; isp_mode[1] = SL_USBHS;

アプリケーションをビルドして MCU にダウンロードし、再度電源を入れ、USB1をコンピュータに接続します。ここで、

  • dfu-utilツール・ディレクトリに入り、.binファイルを現在のディレクトリにコピーします。

次のコマンドを使用します。./dfu-util -l   DFUデバイスを見つけます。

次のコマンドを使用します。./dfu-util -D .\lpcxpresso54628_gpio_led_output.bin -a 0

alt番号0のデバイスにlpcxpresso54628_gpio_led_output.binファイルをダウンロードします。alt0は「FLASH」、alt1は「RAM」で、具体的な操作は以下のとおりです。


ZhangJennie_1-1656898810561.png

図4。


アプリケーションのダウンロードに成功したら、MCUをリセットし、開発ボード上のLEDの点滅現象を観察します。


2.2 アプリケーションのアップグレードにMSCを使用する

LPC54628を例にとると、ISPはMSCモードとして設定され、USB1を使用してアプリケーションをアップグレードします。図3の関連コードを次のように変更します。

isp_mode[0] = 0xFF; isp_mode[1] = SL_USBHS;

アプリケーションをビルドして MCU にダウンロードし、再度電源を入れ、USB1をコンピュータに接続します。コンピュータには、次のように別のディスクが見つかります。

ZhangJennie_0-1628254909518.png

図5。

 

次に、以下の手順を実行してファームウェアを更新します。

- CRP DISABLDディスク内の元のfirmware.binを削除します。

アプリケーションの名前を変更してください(例:lpcxpresso54628_gpio_led_output.bin をfirmware.bin に変更してください)。

- アプリケーションのfirmware.binをCRP DISABLDディスクにコピーします。

- MCU をリセットし、LED が点滅しているのを確認できれば、アプリケーションが正常にアップグレードされたことが証明されます。

注:アプリケーションの名前を変更する必要がありますが、CRP DISABLDディスクでは名前の変更は実行できません。

 

Demo project:lpcxpresso54628_flashiap.zip

アプリケーションアップグレードファイル:lpcxpresso54628_gpio_led_output.bin(SDKデモコードによって生成された)

全般LPCマーケティングLPC546xxLPC54xxxUSB
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-05-2026 04:09 AM
更新者: