MSP430 フラッシュメモリコントローラ Flash Memory Controller
フラッシュメモリコントローラは FlashMemory Controller is...
Diagram

From MSP430x4xx User's Guides
※縮小図はクリックで拡大します Click to enlarge.Devices
2008.11現在、フラッシュメモリモジュールは全てのMSP430デバイスに搭載されています
各メモリサイズはカタログもしくはデータシートをご参照ください Flash Memory module is supported by all MSP430 devices(2008.11).
Please refer to the datasheet to know each device's memory size.フラッシュメモリ 設定フローFlash Memory Configration Flow
以下の各項目について設定を行うと自動的にコード(IAR EW C形式)が生成されます Configure following settings and the codes (IAR EW C) will be generatedautomatically.- *EEI, EEIEXはx20xx以外のx2xxデバイスに搭載 EEI and EEIEX is supported only by x2xx device other than x20xx
▼ 生成コード (IAR EW C)
*バグがあるかもしれません。各自ご確認の上ご利用ください。 \/ Generated Code (IAR EW C)
It may contain some bugs. Please check it on your own.
フラッシュメモリ レジスタ一覧Flash Memory Register List
| bit | R/W | name | detail | 初期値・状態Initial Value/State |
|---|
| 15 | R/W | FRKEY/FWKEY | FCTLパスワード 読み取りでは常に096hが読み出され 書き込みでは常に0A5hを書き込む必要があるFCTL Password Always read as 096h Must be written as 05Ah | 1 | 96h |
|---|
| 14 | 0 |
| 13 | 0 |
| 12 | 1 |
| 11 | 0 |
| 10 | 1 |
| 9 | 1 |
| 8 | 0 |
| 7 | BLKWRT | ブロック書き込みモードBlock writing mode | 0 | ブロック書き込みオフBlock writing OFF |
|---|
| 6 | WRT | 書き込みWrite | 0 | 書き込みオフWrite OFF |
|---|
| 5 | RW (/R) | SWRT/(Reserved) | スマート書き込み(F541x, F543x) 予約(常に0が読み出される:上記以外のデバイス)Smart write(F541x, F543x) Reserved (Always read 0: other device than listed above) | 0 | スマート書き込みオフ / 0Smart Write OFF / 0 |
|---|
| 4 | RW (/R) | EEIX/(Reserved) | 緊急割り込み終了のイネーブル(F20xx以外のx2xx) 予約(常に0が読み出される:上記以外のデバイス)Enable Emergency Interrupt Exit(x2xx device other than F20xx) Reserved(Always read 0: Other device than listed above) | 0 | 無効 / 0 Disable / 0 |
|---|
| 3 | RW (/R) | EEI/(Reserved) | 消去割り込みのイネーブル(F20xx以外のx2xx) 予約(常に0が読み出される:上記以外のデバイス)Enable Erase Interrupt (x2xx device other than F20xx) Reserved(Always read 0: Other device than listed above) | 0 | 無効 / 0 Disable / 0 |
|---|
| 2 | R/W | MERAS | 消去モードの選択Erase mode selection | 0 | 消去なしNo Erase |
|---|
| 1 | ERASE | 0 |
| 0 | R | Reserved | 予約(常に0が読み出される)Reserved(Always read 0) | 0 | 0 |
|---|
| bit | R/W | name | detail | 初期値・状態Initial Value/State |
|---|
| 15 | R/W | FWKEY | FCTLパスワード 読み取りでは常に096hが読み出され 書き込みでは常に0A5hを書き込む必要があるFCTL Password Always read as 096h Must be written as 05Ah | 1 | 96h |
|---|
| 14 | 0 |
| 13 | 0 |
| 12 | 1 |
| 11 | 0 |
| 10 | 1 |
| 9 | 1 |
| 8 | 0 |
| 7 | FSSEL | クロックソース選択Clock source selection | 0 | ACLK |
|---|
| 6 | 0 |
| 5 | FN | クロック分周比 (FN+1)Clock divider (FN+1) | 0 | /3 |
|---|
| 4 | 0 |
| 3 | 0 |
| 2 | 0 |
| 1 | 1 |
| 0 | 0 |
| bit | R/W | name | detail | 初期値・状態Initial Value/State |
|---|
| 15 | R/W | FWKEY | FCTLパスワード 読み取りでは常に096hが読み出され 書き込みでは常に0A5hを書き込む必要がある FCTL Password Always read as 096h Must be written as 05Ah | 1 | 96h |
|---|
| 14 | 0 |
| 13 | 0 |
| 12 | 1 |
| 11 | 0 |
| 10 | 1 |
| 9 | 1 |
| 8 | 0 |
| 7 | R/W (/R) | FAIL/Reserved | 動作障害 / 予約(x1xx, x4xx, x5xx)Operation Failure / Reserved(x1xx, x4xx) | 0 | 0 |
|---|
| 6 | R/W (/R) | LOCKA/Reserved | セグメントAのロック / 予約(x1xx, x4xx)Lock segment A / Reserved(x1xx, x4xx) | 1(/0) | セグメントAはロック / 0Segment A is locked / 0 |
|---|
| 5 | R/W | EMEX | 緊急終了Emergency Exit | 0 | 緊急終了なしNo emergency exit |
|---|
| 4 | LOCK | フラッシュメモリのロックFlash Memory's Lock | 1 | ロックLocked |
|---|
| 3 | R | WAIT | 待機Wait | 1 | 書き込み準備が完了しているReady for next write |
|---|
| 2 | R/W | ACCVIFG | アクセス違反割り込みフラグAccess violation interrupt flag | 0 | 割り込み保留されていないNo Interrupt pending |
|---|
| 1 | KEYV | セキュリティキー違反security key violation | 0 | |
|---|
| 0 | BUSY | ビジーbusy | 0 | |
|---|
| bit | R/W | name | detail | 初期値・状態Initial Value/State |
|---|
| 15 | R/W | FWKEY | FCTLパスワード 読み取りでは常に096hが読み出され 書き込みでは常に0A5hを書き込む必要があるFCTL Password Always read as 096h Must be written as 05Ah | 1 | 96h |
|---|
| 14 | 0 |
| 13 | 0 |
| 12 | 1 |
| 11 | 0 |
| 10 | 1 |
| 9 | 1 |
| 8 | 0 |
| 7 | R/W | LOCKINFO | ロック情報メモリLock Information Memory | 0 | 0 |
|---|
| 6 | R | Reserved | 予約: 常に0が読み出されるReserved: Always read 0 | 0 | 0 |
|---|
| 5 | R/W | MRG1 | マージナルリードモード1Merginal read mode 1 | 0 | 緊急終了なしNo emergency exit |
|---|
| 4 | MRG0 | マージナルリードモード0Merginal read mode 0 | 1 | ロックLocked |
|---|
| 3 | R | Reserved | 予約: 常に0が読み出されるReserved: Always read 0 | 0 | 0 |
|---|
| 2 | 0 |
| 1 | 0 |
| 0 | R/W | VPE | プログラムエラー時電圧変化Voltage changed during program error | 0 | |
|---|
| bit | R/W | name | detail | 初期値・状態Initial Value/State |
|---|
| 7 | | | | | |
|---|
| 6 | | | | | |
|---|
| 5 | R/W | ACCVIE | フラッシュメモリアクセス違反割り込みイネーブルFlash memory access violation interrupt enabled | 0 | 無効Disabled |
|---|
| 4 | | | | | |
|---|
| 3 | | | | | |
|---|
| 2 | | | | | |
|---|
| 1 | | | | | |
|---|
| 0 | | | | | |
|---|
*アドレス01BEhのFCTL4レジスタはx23x, x24x(1), x2410, F241x, F261x, F5xx family に搭載されているようです(2008.11)*FCTL4 register at address 01BEh is equipped by x23x, x24x(1), x2410, F241x,F261x and F5xx family devices(2008.11)機能別レジスタ項目詳細Functional Groupings of Register Items
フラッシュメモリからRAM領域へのプログラムの移動とRAM上での
プログラム実行法についてはこちらに解説があります。 ブロック書き込みについてはこちらにあります。 Please refer to this forum to understand how to move a program
from Flash memory area to RAM area and how to execute it. Refer here for block write mode. 

From MSP430x5xx User's guide