2414857_ja-JP

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

2414857_ja-JP

2414857_ja-JP

RT1064 オンラインアップグレードプラン

下記は、当製品のハードウェア拡張図です。

1. PCとメインボードはTCPで接続されています

2. メインボードは4つのサブボードに4つのSPIバスを介して接続されており、サブボードの機能は同じです

3. メインボードのUART4は、シリアルポートのスイッチを介して4つのサブボードのうちUART1に切り替えることができます

foreverwlh2025_0-1789970732170.pngforeverwlh2025_0-1789970732170.png

プロジェクトの要件により、 PCは4つのサブボード(RT1064)からTCPまでのファームウェアプログラムをアップグレードする必要があります。ハードウェア拡張に基づいて、上位コンピュータ開発、メインボード開発、サブボード開発の作業負荷を考慮して、サブボードファームウェアのアップグレードに最も簡単な解決策を提供できますか?

i.MXRT 106xRe: RT1064 Online Upgrade Plan

@foreverwlh2025様、

ご質問ありがとうございます。

推奨されるアプローチ

PCはTCPを介してマザーボードと通信します。マザーボードはTCPサーバーとして機能し、UART透過ブリッジを実装しています。メインボード上のUART4はシリアルスイッチチップを経由して選択したサブボードのUART1インターフェースにルーティングされます。サブボードはRT1064 ROMブートローダーを動作させるため、サブボード側で追加のブートローダーやファームウェア開発は不要です。

単一サブボードのアップグレード手順(ステップバイステップ):

  1. サブボードNでRESET信号をアサートし、BOOT_MODE[1:0]を01(シリアルダウンローダーモード)に設定する。

  2. シリアルスイッチチップを切り替えてUART4をサブボードNのUART1に接続します

  3. リリースRESET — サブボードNがRT1064 ROMブートローダーに入り、UARTコマンドを待つ

  4. TCP↔UART4バイト転送を有効にする

  5. RESETを切り替えてBOOT_MODEを通常に戻すと、サブボードNが新しいファームウェアで起動します。

  6. シリアルセレクタを次のサブボードに切り替えて繰り返します

ハードウェアの前提条件

実装前に、以下のハードウェア条件が満たされていることをご確認ください。

  1. メインボードは、各サブボードのBOOT_MODE[1:0]ピンを独立してGPIO制御できます。

  2. メインボードは、各サブボードのRESETピンを個別にGPIO制御できます。

  3. シリアルスイッチチップはメインボードのGPIOで制御可能で、4つのサブボードすべて間のスイッチングをサポートします

ご質問や、導入の詳細についてさらに話し合いたい場合は、お気軽にご連絡ください。

Re: RT1064 Online Upgrade Plan

@foreverwlh2025様、

ファームウェアのアップグレードに関するお客様のシナリオに対し、弊社が推奨するソリューションの概要を以下にご説明いたします。

1. PCツール

PC側では blhost というオープンソースのコマンドラインクライアントを提供しており、NXPのMCUブートローダープライベートフレーミングプロトコル(BSD/MITライセンス)を実装しています。デバイス側プロトコルはMCUオンチップROMブートローダーによって実装されます。これら2つの機能により、ファームウェアのダウンロードとデバイスの設定が可能になります。

このツールはUSBとUART1に対応していますが、TCPには対応していません。

オープンソースリポジトリ: https://github.com/nxp-mcuxpresso/spsdk

blhostとROMブートローダーは独自のフレーミングパケットプロトコルで通信します。ご参照ください: MCU Bootloader v2.5.0 リファレンス・マニュアル(MCUBOOTRM)

ファームウェアイメージの生成およびパッケージングについては、NXPのSPSDK(Secure Provisioning SDK)に含まれるnxpimageツールをご利用ください。

2. 推奨ソリューション:マザーボード経由のTCP透過転送

あなたのシナリオ(PC→マザーボード→サブボード)の場合、最小限の手間で済む方法は、マザーボードを透過的なTCP-UARTブリッジとして機能させ、blhostを少し変更してシリアルデータをTCPでラップすることです。

建築:

PC (modified blhost)
    ↓  TCP packet (include original UART byte stream)
Main Board (TCP Server)
    ↓  Unpack and forward to sub-board via UART
Sub-board (ROM Bootloader)

主な変更点:

  1. blhostトランスポート層の変更:blhostソースコードに新しいTCPトランスポートモジュールを追加します。既存のUARTバイトストリーム(フレーミングパケット)は、送信経路ではそのままTCPパケットにラップされ、受信経路ではアンラップされる。

  2. メインボードはTCPサーバーを実装しています。PCからTCPデータを受信し、ペイロードをバイト単位でUART1経由でサブボードに転送します。サブボードからの応答は、同じ透過的な方法でTCP経由でPCに転送されます。

  3. サブボードに変更は不要です。サブボードMCUは単にISPモードでROMブートローダーが動作し、標準UARTコマンドを待つだけで済みます。

Re: RT1064 Online Upgrade Plan

4. TCP↔UART4バイト転送を有効にする

すみません、このデータ伝送のステップのために、追加の上位コンピュータを開発する必要があるのでしょうか?例えば、PCは画像データをどのような形式で送信すべきか、サブボードから返された応答データをどのように解析すべきか、そしてどのように相互作用すべきか、といった点です。


タグ(1)
評価なし
バージョン履歴
最終更新日:
木曜日
更新者: