PSoC 4 BLEのボンディング情報のフラッシュの場所 - KBA222472 - Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161 Expert      Version: **

     

    Translation - English: Flash Location of Bonding Information in PSoC 4 BLE – KBA222472

     

    質問:

    PSoC®4 BLEのフラッシュに保存されているボンディング情報はどこにありますか?フラッシュを「Full protection」にすることを除外できますか?

     

    回答:

    PSoC 4 BLEでは、コードを変更するたびに場所が変わる可能性があるため、結合データの場所を見つけて除外することは困難です。

    回避策は、リンカースクリプトにパッチを適用し、.cy_checksum_excludeセクションに定数アドレスを割り当てることです。ボンディング情報は、「cyBle_flashstorage」をCY_SECTION ".cy_checksum_exclude")に配置するように構成されています。

    1. PSoC CreatorBLEを使用してプロジェクトを開きます。

    2.生成されたリンカースクリプトを、「Generated Sources」以外のプロジェクト内の場所にコピーします。

    3.ワークスペースエクスプローラーでプロジェクト名を右クリックし、[ Build Settings…]を選択します

    4.「リンカー」ツリー項目を開き、「Custom Linker Script」を選択します。カスタムリンカースクリプトのパスと名前を入力します。

    5.カスタムリンカースクリプトを変更して、「.cy_checksum_exclude」セクションを固定アドレス(0x1fc00など)に配置します。フラッシュ行の境界に合わせて任意の値を選択できます)。

     

    GCCの場合、cm0gcc.ldファイルの次の行を変更します。違いは赤で強調表示されます。

    修正前

        .cy_checksum_exclude : { KEEP(*(.cy_checksum_exclude)) } > rom

    修正後

        .cy_checksum_exclude 0x1fc00: { KEEP(*(.cy_checksum_exclude)) } > rom

     

    6. これで、ボンディング情報をフラッシュに保存するために選択した制限までのバイトを完全に保護できます。