This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430: F47x3シリーズCCSを利用した書き込み方法について

Other Parts Discussed in Thread: MSP430F4783

CCSの書き込み時にDownload Optionsを"Erase main,infomation and protected infomation memory"に設定したのですが、MSP430F4783のインフォメーション・メモリのセグメントA(その他セグメントとは別のロックの掛かっているセグメント)のみ書き込みする事が出来ません。

設定する箇所が間違っているのでしょうか?

  • InfoA領域は、デバイス固有情報、calibration情報などが出荷時に格納されている特殊なFlash領域
    です。 この内容はデバイス固有データですので、消去すると復元ができません。
    このためほとんどのデバイスにてwriteプロテクトがされています。

    F4783のユーザガイドの下記にその説明があります。
    6.2.1 SegmentA on MSP430FG47x, MSP430F47x, MSP430F47x3/4, and MSP430F471xx Devices

    LOCKAビット=1でプロテクトがかかっています。 また、このbitはPUCで=1に初期化されて保護されます。
    プロテクトを外す方法は、上記に書かれています。

    F4783はInfoAに何も書かれていませんので使用可能です。

    この領域にwriteがうまく行かない場合は、お手数ですがPICへお問い合わせをお願いいたします。

    trout, MSP430, segmentA initialize

  • ご回答頂きありがとう御座います。

    MCU内のプログラム上では書き換えする場合は問題無く、コンパイラCode Composer Studio V4 でソフトダウンロード時に初期化する場合が書き込みが出来ない状態です。

  • CCSv4.2.5 でErase main,infomation and protected infomation memoryを指定して確認しましたが、正しくeraseできました。

    なお念のため、先にご説明しましたように、この領域はwriteプロテクトがされていますので、直接program-loadで書き込むことはできません。
    プログラムで、プロテクトを外して書き込む必要があります。

  • 先の投稿を一部訂正します。

    下記のcodeではprogram-loadで書き込めました。

    #include <msp430.h>

    #pragma DATA_SECTION(data,".infoA")
     const int data[3]={1,2,3};

    int main(void)
    {
      WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
    }

    以上

    trout, msp430info, segmentA 

  • ご回答頂きありがとう御座います。

    再度Erase main,infomation and protected infomation memoryを指定してprogram-loadしましたが、やはりeraseできませんでした。

    Code Composer Studio のバージョンは  Version: 4.0.1.01001 となります。

  • 本件はPICにてサポートいたします。 本スレッドはこれでクローズさせていただきます。