2389468_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2389468_ja-JP

2389468_ja-JP

ベクトルテーブルのLPC1778チェックサムが無効です。復旧が必要です。

こんにちは。LPC1778のFLMをデバッグしていたところ、FLMを使用して0x0~0x400にデータを書き込んだ後、データが正しくないことがわかりました。そのため、デバッガがチップに接続できません。ドキュメントを確認したところ、ベクタテーブルに書き込まれたデータが正しくなく、書き込もうとしていたデータと一致しないため、チェックサムが無効になっていると考えられます。ドキュメントによると、チェックサムが無効になると、チップはISPモードに入り、プログラムのダウンロードを待機するとのことです。

1. この状態から回復する方法を知りたいです。

2. FLMで0x0~0x400を書き込むと問題が発生するのに、0x400~0x7FFFFを書き込むと正常に動作するのはなぜですか?FLMのソースコードを見ると、チェックサムを自動的に変更するSET_VALID_CODEというパラメータがあります。この部分に何か問題があるのでしょうか?

Re: LPC1778 checksum in vector table invalid need recover

こんにちは@BianHaopeng1

0x0000~0x0400の領域は、単なる通常のフラッシュデータ領域ではありません。ブートベクタテーブル、0x1Cの有効コードチェックサム、および0x2FCのCRP構成ワードが含まれています。チェックサムが正しくない場合、ROMブートローダーはユーザーコードが無効であると判断し、ISP(インサービスモジュール)に入ります。また、0x2FCに誤ってCRPパターンが書き込まれると、JTAG/SWDアクセスが制限されたり、通常のデバッグモードに戻れなくなったりする可能性もあります。

ISPごとに復旧の優先順位を設定できます。

P2[10]がローにプルダウンされると、チップがリセットされ、ブートローダーが引き継いでISPモードに入ります。

フルワイプを実行するか、有効なイメージを再ダウンロードするには、UART0:P0[2] / P0[3] を介して FlashMagic または同等の ISP ツールに接続します。

チェックサムのみが無効な場合は、ISPに入った後に消去および復元できるはずです。CRP1/CRP2が誤って書き込まれた場合は、JTAGは無効になりますが、ISPには限定的な復旧パスがまだあります。CRP3が誤って書き込まれた場合は、ドキュメントによるとJTAGとISPが完全にブロックされるため、通常のISP/JTAG経由での復旧は基本的に不可能です。

BR

ハリー

Tags (1)
No ratings
Version history
Last update:
a week ago
Updated by: