2 Replies Latest reply on Jun 11, 2020 10:12 PM by MaMi_1205306

    Community Translation - Using the Emulated EEPROM Component in a Bootloadable Project - KBA89149

    MaMi_1205306

      Dear Sirs and  Madams,

       

      I would like to translate KBA89149, please confirm to my work.

       

      Regards,
      Masashi

        • 2. Re: Community Translation - Using the Emulated EEPROM Component in a Bootloadable Project - KBA89149
          MaMi_1205306

          Jenna-san,

           

          I translated KBA89149 into Japanese.

          We would appreciate it if you could confirm.

           

          Regards,

          Masashi

           

          /***************************************************************************/

           

          Using the Emulated EEPROM Component in a Bootloadable Project - KBA89149

           

          ブートローダブルプロジェクトでエミュレートされたEEPROMコンポーネントの使用 - KBA89149

          userc_44725 が 2014/02/19 0:16 に作成。JyothishK_01 モデレータ が 2017/09/03 12:43 に変更。

           

          Version: *A

           

          質問:

          ブートローダブルプロジェクトでエミュレートされたEEPROMコンポーネントを使用すると、

          PSoC®はその後の電源投入、またはリセット時にブートローダーコードでスタックします。

          その理由は何ですか? この問題の回避策はありますか?

           

          回答:

          エミュレートされたEEPROMコンポーネントはPSoCのフラッシュメモリ内のEEPROMデバイスをエミュレートし、不揮発性メモリへのアクセスを簡素化します。

          このコンポーネントを使用して、ブートローダブルプロジェクトのフラッシュを更新できます。

           

          PSoC 3、PSoC 4またはPSoC 5LPが起動すると、ブートローダーコードはブートローダブルコードのチェックサムをテストします。

          チェックサムがブートローダブルプロジェクトの元のダウンロードに対応する保存された値と一致しない場合、

          ブートローダーはブートローダブルプロジェクトへ制御を移行しません。

          エミュレートされたEEPROMコンポーネントはフラッシュを更新できるため、

          ブートローダブルプロジェクトのチェックサムは一致しなくなり、ブートローダブルプロジェクトは実行されません。

           

          これを回避するにはPSoC Creator™で利用可能な以下の機能を使用できます。

          プロジェクトにおいて、Bootloader Component configurationウィンドウをダブルクリックし、

          Fast bootloadable application validationというチェックボックスを選択します。

          このパラメーターを有効にすると、ブートローダーは新しいブートローダブルコード(アプリケーションコード)がダウンロードされたときに一度だけフラッシュチェックサムを計算します。

          次に、チェックサムが一致することを示すために不揮発性フラグが設定され、それ以降のリセット時にブートローダーがチェックサムを計算しません。

          これによって、アプリケーションコードにエミュレートされたEEPROMを使用してフラッシュを自由に更新できるよになります。

           

           

          図1. ブートローダーコンポーネント設定ウィンドウ

           

          別の回避策として、図2に示すように最新のブートローダブルコンポーネントで使用可能な新しいオプション–チェックサム除外セクション(バイト)を使用することです。このオプションを有効にすると、コンポーネントに設定された値と同じサイズのブートローダブルプロジェクトのcm3gcc.ldリンカースクリプトファイルに"cy_checksum_exclude"という名前のセクションが追加されます。 これでAN89610で説明されている方法を使用してフラッシュ変数またはエミュレートされたEEPROMデータをこのセクションにポイントできます。

           

          図2. ブートローダブルコンポーネントのチェックサム除外セクション

           

          2.png

           

          このセクションで配列を見つけたら、フラッシュ行 APIを使用してこのセクションにデータを書き込むこともできます。

          フラッシュへの書き込み中に、このセクションで使用される行を使用します。

          チェックサム除外セクションサイズがフラッシュ行サイズの倍数であることを確認してください。

          フラッシュ書き込みAPIの詳細については、システムリファレンスガイドを参照してください。