Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

ブートローダーホスト エラー:“The Flash Row is not Valid for the Selected Array” について- KBA221445- Community Translated (JA)

ブートローダーホスト エラー:“The Flash Row is not Valid for the Selected Array” について- KBA221445- Community Translated (JA)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

Community Translated by YoOb_1790021          Version: **

Translation - English: Bootloader Host Error: “The Flash Row is not Valid for the Selected Array” - KBA221445

質問:

PSoC® 3、PSoC 4、または、PSoC 5LP のブートローダー デザインにおいて、ブートローダー ホストの "The flash row is not valid for the selected array" というエラーをどの様に解決したら良いでしょうか?

回答:

ブートローダー ホストアプリケーションが、書き込み保護されているフラッシュのブートローダー領域、または、そのメモリの一部からをブートロードしようとしたとき、このエラーが発生します。指定がない限り、ブートローダブル アプリケーションは、依存するブートローダー アプリケーションの次の空フラッシュ行から始まります。ブートローダー フラッシュ領域、または、フラッシュ行の保護設定に関して、事前にプログラムされたブートローダー間に矛盾がある場合、ブートローディングは許可されません。

たとえば、ブートローダーがプログラムされている市場での製品(ブートローダーA とします)を考えます。PSoC Creator コンポーネントの最新バージョンで、そのビルドを更新すると仮定します。更新されたブートローダーをブートローダーB とします。ここで、ブートローダーB の依存関係で .hex および .elf の新しいブートローダブル がビルドされた場合、市場のでその新しいアプリケーションをブートロードすると、フラッシュ行無効のエラーが発生する可能性があります。それは、これらの理由が原因かもしれません:

  1. 事前にプログラムされたブートローダーA はより多くのフラッシュ行を占有しているが、ブートローダーB はより少ないフラッシュ行を消費しているかもしれません。そのため、新しい.cyacd ファイルは、事前にプログラムされたブートローダー行をブートロードしようとしていますが、これは許可されません。
  2. ブートローダーB が使用する実際の行数と比較して、Booloader Aのより多くの行が「書き込み保護」されている可能性があります。その場合、新しい.cyacdファイルは保護された行をブートロードしようとしています。

ブートローダーBが依存関係として設定されていても、ブートローダーB の機能変更(A と比較して)は、実際のアプリケーションに反映されないことに注意してください。これは、ブートローダー B がデバイスに再プログラムされていないためです。 図1:PSoC Creator のプロジェクトとフラッシュメモリーの使用量pastedImage_6.pngこの問題に対処するには、図1に示すように、フラッシュのブートローダー イメージの上位で、かつメタデータ領域の下位にブートローダブル アプリケーションを手動で配置します。このアプローチは、依存関係にあるファイルの新旧のリビジョン間でフラッシュ行保護設定がある場合にフラッシュの消費量の不一致を回避に使用できます。手順は次のとおりです:

  1. ブートローダブル構成設定(構成ダイアログ)で、[Manual application image placement] オプションを有効にします。有効にしない限り、[Placement address] オプションはグレー表示されます。図2を参照してください。
  2. [Placement address] フィールドにアドレスを指定します。アドレスがデバイスのブートローダー イメージの上位で、メタデータ領域の下位になるようにします。配置アドレスを決定するには、フラッシュの行番号とフラッシュの行サイズの積に、フラッシュのベースアドレスを追加します。配置アドレスをフラッシュ行のサイズに揃えてください。フラッシュメモリ構成の詳細については、System Reference Guide の「Flash(および EEPROM)」の章を参照してください。

図2:Bootloadable 設定での手動によるアプリケーション配置のオプション

pastedImage_18.png

参照

Bootloader and Bootloadable

AN73854 - PSoC® 3, PSoC 4, and PSoC 5LP Introduction to Bootloaders

PSoC® 3, PSoC 4, and PSoC 5LP Flash Memory Organization and Array ID Parameter - KBA84740

0 件の賞賛
274 件の閲覧回数
寄稿者