2049118_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2049118_ja-JP

2049118_ja-JP

mcx c144 - ROMブートローダ

こんにちは
組み込みLinuxarm144ホスト上のi2c経由で接続されたmcxc64を使用しています。テスト目的で、mcxc144で正常に動作し、i2cでLinuxホストと通信できるファームウェアを作成しました。今のところ、Windows開発マシンから直接jlinkプローブを使用してファームウェアをフラッシュします。


私の目標は、i2cを介して組み込みLinuxから直接mcxc144をフラッシュすることです。これは 組み込みのブートローダーで可能であると理解しているが、いくつかの問題に直面している。
・mcxc144を消去すると、ブートローダーで起動しないようです(i2cバスで表示されません)(NMIピンを高低で試してみましたが、同じです)
-ファームウェアが実行されているときに、i2cコマンドを作成して、ファームウェアをブートローダーに強制的に実行させます(単純なジャンプ0x1c000000)。この時点で、私は2つの行動をとっています。
->何もしないと、i2c バスに mcxc144 が 5 秒間 (デフォルトのブートローダー アドレス) 0x10 (ブートローダー ペリフェラルを有効にするデフォルトのタイムアウト) 表示され、その後何もない mcxc144 がフリーズします。
->この 5 秒間に ping パケットを送信すると、送信コマンドは失敗しますが、最後にファームウェアで mcxc144 が再起動します。

blhostを使用するようにSPDSKをダウンロードしようとしましたが、i2cプログラミングをサポートしていません。また、i2cをサポートする古いblhostバージョンも構築しましたが、pingパケットを手動で送信したときと同じことを行います。

まあ、もっと簡単な作業だと思っていたのですが、今は少し迷っています。


何かアイデアやコメントはありますか?

ブートROM|ブート|フラッシュMCXC日時:mcx c144 - ROMブートローダ

Hi @romainmoura 

私は知ってうれしいです、結果を共有してくれてありがとう、私は解決策としてあなたの応答をマークしました。

ディエゴ

日時:mcx c144 - ROMブートローダ

Hello,

簡単なフィードバックとして、i2cプログラミングは新しいPCBで動作しています。より強力なプルアップ抵抗を配置し、ガルバニックアイソレータとmcxc144の電源投入の間に遅延を追加します。

これで、blhost 2.6.2 を使用して .hex をロードできますファイル : blhost -i /dev/i2c-2 flash-image /lib/firmware/myFirmware.hex  


よろしくお願いいたします。

日時:mcx c144 - ROMブートローダ

Hi @romainmoura 

私はこれをフォローアップしたいだけです、あなたはまだ問題に直面していますか?その間に何か他のものを見つけましたか?バス上の他のデバイスについて言及しているように、バス上のMCXのみを使用してテストするとよいでしょう。

よろしくお願いいたします

ディエゴ

日時:mcx c144 - ROMブートローダ

返信ありがとうございます、frdmボードを確認します。私たちの設計では、mcxc144 はガルバニック アイソレータの背後にあり、i2c 通信に問題がありました。i2c ピン構成は、ブートローダー モードではまったく同じではない可能性があります。さらに、mcxc144 は i2c バス上だけではありませんが、これはおそらく役に立たないでしょう。

blhostは、SPSDKで、Linux上の直接ネイティブのi2cバスではなく、USB i2cブリッジを探しています。エラーは次のとおりです。

blhost -l i2c,0x10,100 -- プロパティ 1 を取得
SpsdkNoDeviceFoundError:指定されたインターフェース 'usbsio_i2c'とパラメータ 'config=i2c,0x10,100, timeout=5000'のデバイスが見つかりませんでした。


よろしくお願いいたします

日時:mcx c144 - ROMブートローダ

こんにちは
私はMCXC444 frdmでI2C接続をテストしましたが、それは組み込みのブートローダーで動作します。frdmボードでは、I2Cはオンボードデバッガを介して提供され、ホストコンピュータとターゲットMCU間のUSB-to-I2Cブリッジとして機能します。frdmボードでI2Cを有効にするには、0 Ω抵抗R78とR79、および2.2k Ω抵抗R76とR77をはんだ付けする必要があります。だから多分あなたはfrdmとあなたの解決策をcompereすることができます。
SPSDKはI2Cプログラミングをサポートしています私はSPSDK 2.6.0とblhost -l i2c,0x10,100 -- get-property 1を使用しました。
ROM ブートは、フラッシュ コンフィギュレーション フィールドの FOPT レジスタで設定します。しかし、消去後の状態はROMを強制的に起動する必要があるため、これは問題にはなりません。
ROMはBCA構成に基づいて周辺機器を有効/無効にできますが、消去後、BCAが無効な状態にあるため、すべての周辺機器が有効になります。
これがお役に立てば幸いです。

标记 (1)
无评分
版本历史
最后更新:
‎01-06-2026 01:06 AM
更新人: