MN709-00013-1v0-J

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
S6E2DH/DF/D5/D3 シリーズ
32 ビット・マイクロコントローラ
FM4 ファミリ
フラッシュプログラミングマニュアル
Publication Number S6E2DH_MN709-00013
CONFIDENTIAL
Revision 1.0
Issue Date February 2, 2015
F L A S H
2
CONFIDENTIAL
P R O G R A M M I N G
M A N U A L
S6E2DH_MN709-00013-1v0-J, February 2, 2015
F L A S H
P R O G R A M M I N G
M A N U A L
はじめに
本書の目的と対象読者
本書は、実際に本シリーズを使用して製品を開発される技術者を対象に、フラッシュメモリ及び VFLASH
メモリの機能や動作や、フラッシュメモリ及び VFLASH メモリのシリアル書込みについて解説しています。
商標
 ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
その他の社名および製品名は各社の商標もしくは登録商標です。
本書の全体構成
本書は、以下に示す 4 つの章から構成されます。
第 1 章 フラッシュメモリ
フラッシュメモリの概要, 構成, 動作およびレジスタについて説明します。
第 2 章 VFLASH メモリ
VFLASH メモリの概要, 構成, 動作およびレジスタについて説明します。
第 3 章 フラッシュセキュリティ
フラッシュセキュリティ機能によりフラッシュメモリの内容を保護できます。
フラッシュセキュリティの概要, 動作について説明します。
第 4 章 シリアル書込み接続
フラッシュメモリ及び VFLASH メモリのシリアル書込みについて、Spansion 製シリアルプログラマ
を用いた場合の基本構成を説明します。
サンプルプログラムおよび開発環境
FM4 ファミリの周辺機能を動作させるためのサンプルプログラムを無償で提供しております。また、本シ
リーズで使用する開発環境も掲載しています。当社マイコンの動作仕様や使用方法の確認などにお役立てく
ださい。
マイコンサポート情報
http://www.spansion.com/JP/Support/microcontrollers/
<注意事項>
−
サンプルプログラムは、予告なしに変更することがあります。また、サンプルプログラムは標準的
な動作や使い方を示したものですので、お客様のシステム上でご使用の際は十分評価された上で
ご使用ください。
また、サンプルプログラムの使用に起因し生じた損害については、当社は一切その責任を負いま
せん。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
3
F L A S H
P R O G R A M M I N G
M A N U A L
本書の使い方
機能の探し方
本書では次の方法で、使いたい機能の説明を探すことができます。
 目次から探す
本書の内容を記載順に示します。
 レジスタから探す
本文中では各レジスタの配置アドレスを記載しておりません。各レジスタのアドレスを確認すると
きは『FM4 ファミリ ペリフェラルマニュアル』の『APPENDIXES』の『A. レジスタマップ』を参
照してください。
用語について
本書で使用している用語について示します。
用語
説明
ワード
32 ビット単位でのアクセスを指します。
ハーフワード
16 ビット単位でのアクセスを指します。
バイト
8 ビット単位でのアクセスを指します。
表記について
 本書のレジスタ説明中のビット構成図では以下のように表記しています。
− bit
: ビット番号
− Field : ビットフィールド名
− 属性 : 各ビットのリード、ライト属性
−
−
−
−
R : リードオンリ
W : ライトオンリ
RW : リード・ライト可能
: 未定義
− 初期値: リセット直後のレジスタ初期値
−
−
−
0
1
: 初期値 0
: 初期値 1
X
: 初期値不定
 本書では、複数のビットを以下のように表記しています。
例 : bit7 から bit0 の場合は bit7:0
 本書では、アドレスなどの数値を以下のように表記しています。
− 16 進数 : プレフィックス(接頭辞)として 0x を付けて表記しています (例 : 0xFFFF)。
− 2 進数
: プレフィックス(接頭辞)として 0b を付けて表記しています (例 : 0b1111)。
− 10 進数 : 数値だけで表記しています (例 : 1000)。
4
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2014
F L A S H
P R O G R A M M I N G
M A N U A L
Table of Contents
CHAPTER 1: フラッシュメモリ ..................................................................................................................... 9
1. 概要 ............................................................................................................................................... 10
2. 構成 ............................................................................................................................................... 11
3. 動作説明 ........................................................................................................................................... 14
3.1. フラッシュメモリのアクセスモード .................................................................................... 14
3.2. 自動アルゴリズム ................................................................................................................ 15
3.2.1. コマンドシーケンス ............................................................................................... 15
3.2.2. コマンド動作説明 ................................................................................................... 16
3.2.3. 自動アルゴリズムの実行状態 ................................................................................. 18
3.3. フラッシュメモリの動作説明 .............................................................................................. 23
3.3.1. 読出し/リセット動作 .............................................................................................. 23
3.3.2. 書込み動作.............................................................................................................. 24
3.3.3. フラッシュ消去動作 ............................................................................................... 26
3.3.4. セクタ消去動作 ...................................................................................................... 26
3.3.5. セクタ消去一時停止動作 ........................................................................................ 28
3.3.6. セクタ消去再開動作 ............................................................................................... 29
3.4. ECC 搭載品のフラッシュメモリへの書込みについて .......................................................... 30
3.5. フラッシュアクセラレータ .................................................................................................. 31
3.6. データバッファ .................................................................................................................... 34
3.7. フラッシュメモリの使用上の注意 ....................................................................................... 35
4. レジスタ ........................................................................................................................................... 36
4.1. FASZR (Flash Access Size Register) フラッシュ・アクセスサイズ・レジスタ ................. 37
4.2. FRWTR (Flash Read Wait Register) フラッシュ・リードウェイト・レジスタ ................... 38
4.3. FSTR (Flash Status Register) フラッシュ・ステータス・レジスタ .................................... 39
4.4. FSYNDN (Flash Sync Down Register) フラッシュ・シンクダウン・レジスタ ................... 40
4.5. FBFCR (Flash Buffer Control Register) フラッシュ・バッファコントロール・レジスタ.... 41
4.6. FICR (Flash Interrupt Control Register) フラッシュ・割込み制御・レジスタ ..................... 42
4.7. FISR (Flash Interrupt Status Register) フラッシュ・割込みステータス・レジスタ ............ 43
4.8. FICLR (Flash Interrupt Clear Register) フラッシュ・割込みクリア・レジスタ ................... 44
4.9. CRTRMM (CR Trimming Data Mirror Register) CR トリミングデータ・ミ ラー・レジスタ 45
4.10. FGPDM1 (Flash General Purpose Data Mirror Register1) フラッシュ・汎用データ・
ミラー・レジスタ 1........................................................................................................... 46
4.11. FGPDM2 (Flash General Purpose Data Mirror Register2) フラッシュ・汎用データ・
ミラー・レジスタ 2........................................................................................................... 47
4.12. FGPDM3 (Flash General Purpose Data Mirror Register3) フラッシュ・汎用データ・
ミラー・レジスタ 3........................................................................................................... 48
4.13. FGPDM4 (Flash General Purpose Data Mirror Register4) フラッシュ・汎用データ・
ミラー・レジスタ 4........................................................................................................... 49
4.14. FERRAD (Flash ECC ERR Address Capture Register) フラッシュ・ECC ERR アドレス・
キャプチャ・レジスタ ...................................................................................................... 50
CHAPTER 2: VFLASH メモリ ...................................................................................................................... 51
1. 概要 ............................................................................................................................................... 52
2. 構成 ............................................................................................................................................... 53
2.1. 容量と製品型格の対応 ......................................................................................................... 54
2.2. メモリ領域の構成 ................................................................................................................ 55
3. レジスタ ........................................................................................................................................... 56
3.1. ステータス・レジスタ1(SR1)........................................................................................ 57
4. コマンド ........................................................................................................................................... 58
4.1. RDSR1(Read Status Register-1) ..................................................................................... 59
4.2. WREN(Write Enable) ....................................................................................................... 60
4.3. WSR(Write Status Register) ............................................................................................ 61
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
5
F L A S H
P R O G R A M M I N G
M A N U A L
4.4. PP(Page Program) ........................................................................................................... 62
4.5. SE(Sector Erase) ............................................................................................................. 63
4.6. BE(Block Erase) ............................................................................................................... 64
4.7. CE(Chip Erase) ................................................................................................................ 65
4.8. FRQIO(First Read Quad I/O) ........................................................................................... 66
5. 動作説明 ........................................................................................................................................... 68
5.1. 初期化 .................................................................................................................................. 69
5.2. CPU ライトモード ................................................................................................................ 71
5.2.1. VFLASH メモリの消去 ............................................................................................ 72
5.2.2. VFLASH メモリの書込み ........................................................................................ 73
5.3. リードモード ....................................................................................................................... 74
5.3.1. VFLASH メモリの消去 ............................................................................................ 75
CHAPTER 3: フラッシュセキュリティ ........................................................................................................ 77
1. 概要 ............................................................................................................................................... 78
2. 動作説明 ........................................................................................................................................... 79
CHAPTER 4: シリアル書込み接続 ............................................................................................................... 81
1. シリアルプログラマ ......................................................................................................................... 82
1.1. 基本構成 ............................................................................................................................... 83
1.2. 使用端子 ............................................................................................................................... 88
主な変更内容 ................................................................................................................................................. 89
6
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2014
F L A S H
P R O G R A M M I N G
M A N U A L
Figures
Figure 2-1 メモリマップ .......................................................................................................................... 12
Figure 2-2 セキュリティ/CR トリミングデータ/汎用データのアドレス ................................................. 13
Figure 2-3 CR トリミング領域のビット構成 ........................................................................................... 13
Figure 3-1 ハードウェアシーケンスフラグのビット構成......................................................................... 18
Figure 3-2 書込み手順例 .......................................................................................................................... 24
Figure 3-3 セクタ消去手順例................................................................................................................... 27
Figure 3-4 フラッシュアクセラレータ動作フロー(FRWTR,RWT=0b10) ................................................ 32
Figure 3-5 フラッシュアクセラレータ動作フロー(FRWTR,RWT=0b11) ................................................ 32
Figure 2-1 メモリ領域 2M バイトのメモリマップ ................................................................................... 55
Figure 4-1 RDSR1 コマンド実行時のタイミング .................................................................................... 59
Figure 4-2 WREN コマンド実行時のタイミング...................................................................................... 60
Figure 4-3 WSR コマンド実行時のタイミング ........................................................................................ 61
Figure 4-4 PP コマンド実行時のタイミング ............................................................................................ 62
Figure 4-5 SE コマンド実行時のタイミング ............................................................................................ 63
Figure 4-6 BE コマンド実行時のタイミング ............................................................................................ 64
Figure 4-7 CE コマンド実行時のタイミング............................................................................................ 65
Figure 4-8 FRQIO コマンド実行時のタイミング ..................................................................................... 67
Figure 4-9 シーケンス番号 1 を省略した FRQIO コマンド実行時のタイミング ..................................... 67
Figure 5-1 初期化 フローチャート.......................................................................................................... 70
Figure 5-2 VFLASH メモリの消去 フローチャート ................................................................................. 72
Figure 5-3 VFLASH メモリの書き込み フローチャート .......................................................................... 73
Figure 5-4 VFLASH メモリの消去 フローチャート ................................................................................. 75
Figure 1-1 SPANSION MCU Programmer の基本構成 ............................................................................. 83
Figure 1-2 水晶振動子を使用する場合の接続例 ...................................................................................... 84
Figure 1-3 内蔵高速 CR 発振器を使用する場合の接続例 ........................................................................ 85
Figure 1-4 SPANSION USB DIRECT Programmer の基本構成................................................................ 86
Figure 1-5 SPANSION USB DIRECT Programmer の接続例 ................................................................... 87
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
7
F L A S H
P R O G R A M M I N G
M A N U A L
Tables
Table 3-1 フラッシュメモリのアクセスモード........................................................................................ 14
Table 3-2 コマンドシーケンス表 ............................................................................................................. 15
Table 3-3 ハードウェアシーケンスフラグ状態一覧 ................................................................................ 18
Table 2-1 対象型格一覧 (TYPE4-M4 製品).............................................................................................. 54
Table 3-1 レジスタ一覧 ........................................................................................................................... 56
Table 4-1 制御命令一覧 ........................................................................................................................... 58
Table 1-1 セキュリティコードのアドレスと保護コード ......................................................................... 78
Table 2-1 セキュリティ有効時のフラッシュ動作 .................................................................................... 79
Table 1-1 SPANSION MCU Programmer のシステム構成 ....................................................................... 83
Table 1-2 クロック非同期シリアル通信時の入力可能な周波数と通信ボーレート .................................. 84
Table 1-3 SPANSION USB DIRECT Programmer のシステム構成 .......................................................... 86
Table 1-4 シリアル書込みに使用する端子 ............................................................................................... 88
8
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2014
CHAPTER 1: フラッシュメモリ
本シリーズは 384K バイトのフラッシュメモリが内蔵されています。
本章ではフラッシュメモリの概要, 構成, 動作およびレジスタについて説明します。
1. 概要
2. 構成
3. 動作説明
4. レジスタ
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
9
CHAPTER 1: フラッシュメモリ
1. 概要
F L A S H
1.
P R O G R A M M I N G
M A N U A L
概要
本シリーズは 384 K バイトのフラッシュメモリが内蔵されています。
フラッシュメモリは、Cortex-M4F CPU によるセクタ単位でのデータ消去, マクロごとの全セクタ一括
データ消去およびハーフワード (16 ビット)単位でのデータ書込みが可能です。
また、ECC (Error Correction Code)機能が搭載されています。
フラッシュメモリの特長
 使用可能容量
384 K バイト
本シリーズは ECC 符号格納のため、上記に加えて 4 バイトにつき 7 ビットのフラッシュメモリが搭載され
ています。
 高速フラッシュ
~72 MHz 時
~160 MHz 時
0 Wait
フラッシュアクセラレータ機能(プリフェッチバッファ/トレースバッファ)を
有効にすることによって高速動作周波数での 0Wait を実現
 動作モード
1. CPU ROM モード
フラッシュメモリのデータの読出しのみを行うモードです。ワードアクセスできます。ただし、こ
のモードでは、書込みや消去, 自動アルゴリズム*1 の起動は行えません。
2. CPU プログラミングモード
フラッシュメモリの読出し, 書込みまたは消去ができるモードです (自動アルゴリズム*1) 。ワード
アクセスできないため、このモードで動作しているときはフラッシュメモリ上のプログラムは実行
できません。ハーフワードアクセスが可能です。
3. ROM ライタモード
ROM ライタからフラッシュメモリの読出し, 書込みおよび消去ができます (自動アルゴリズム*1) 。
 フラッシュセキュリティ機能搭載
(第三者によるフラッシュメモリ内容読出し阻止)
フラッシュセキュリティ機能については『フラッシュセキュリティ』の章を参照してください。
 1 ワード中の 1 ビットまでの誤りを訂正する ECC(Error Correction Code)機能を内蔵しています(2 ビット誤
り検出機能は搭載していません)。誤りは読出し中に自動で訂正されます。
また、ECC 符号はフラッシュメモリへの書込み時に自動で付加されます。誤り訂正による読出しサイクル
ペナルティはないため、ソフトウェア開発の際に誤り訂正ペナルティを考慮する必要はありません。
<注意事項>
本書では、フラッシュメモリを CPU モードで利用する場合について記載します。
−
ROM ライタからフラッシュメモリにアクセスする場合については、ご利用の ROM ライタの取扱い
説明書を参照してください。
*1: 自動アルゴリズム=Embedded Algorithm
10
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
2. 構成
F L A S H
2.
P R O G R A M M I N G
M A N U A L
構成
本シリーズは 384 K バイトのフラッシュメモリ領域, セキュリティコード領域, 高速 CR トリミングデータ
領域, 汎用データ領域で構成されます。
本シリーズに搭載されているフラッシュメモリのアドレス, セクタ構成とセキュリティ/ CR トリミング
データ/ 汎用データのアドレスを Figure 2-1 に示します。
セキュリティについての詳細は、
『フラッシュセキュリティ』の章を参照してください。
高速 CR トリミングデータの詳細は、
「4.9 CRTRMM (CR Trimming Data Mirror Register) CR トリミングデー
タ・ミ
ラー・レジスタ」と『FM4 ファミリ ペリフェラルマニュアル』の『高速 CR トリミング機能』の章を参照
してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
11
CHAPTER 1: フラッシュメモリ
2. 構成
F L A S H
P R O G R A M M I N G
M A N U A L
Figure 2-1 メモリマップ
0x0040_6000
0x0040_4000
General Purpose data
0x0040_2000
CR trimming data
0x0040_0000
Security code
0x0006_0000
SA13 (64KB)
0x0005_0000
SA12 (64KB)
0x0004_0000
SA11 (64KB)
0x0006_0000
0x0003_0000
SA10 (64KB)
0x0002_0000
SA9 (64KB)
0x0001_0000
SA8 (32KB)
0x0000_8000
Flash memory
384KB
0x0000_6000
SA7 (8KB)
0x0000_4000
SA6 (8KB)
0x0000_2000
SA5 (8KB)
0x0000_0000
SA4 (8KB)
bit31
0x0000_0000
12
CONFIDENTIAL
+3
bit0
+2
+1
+0
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
2. 構成
F L A S H
P R O G R A M M I N G
M A N U A L
Figure 2-2 セキュリティ/CR トリミングデータ/汎用データのアドレス
0x0040_6000
0x0040_4010
General purpose data 4 area
0x0040_400C
General purpose data 3 area
0x0040_4008
General purpose data 2 area
0x0040_4004
General purpose data 1 area
0x0040_4000
0x0040_2004
CR trimming area
CR Temperature trimming data
0x0040_2000
CR Frequency trimming data
0x0040_0004
Security code area
0x0040_0000
bit31
bit0
+3
+2
+1
+0
Figure 2-3 CR トリミング領域のビット構成
bit
Field
31
21 20
予約
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
16 15
CR温度トリミングデータ
10 9
予約
0
CR 周波数トリミングデータ
13
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.
P R O G R A M M I N G
M A N U A L
動作説明
動作について説明します。
3.1. フラッシュメモリのアクセスモード
3.2. 自動アルゴリズム
3.3. フラッシュメモリの動作説明
3.4. ECC 搭載品のフラッシュメモリへの書込みについて
3.5. フラッシュアクセラレータ
3.6. データバッファ
3.7. フラッシュメモリの使用上の注意
3.1
フラッシュメモリのアクセスモード
CPU からフラッシュメモリにアクセスする場合は次の 2 つのアクセスモードがあります。
− CPU ROM モード
− CPU プログラミングモード
フラッシュ・アクセスサイズ・ビット(FASZR:ASZ)で設定できます。
CPU ROM モード
フラッシュメモリのデータの読出しのみを行うモードです。
フラッシュ・アクセスサイズ・ビット(FASZR:ASZ)を 0b10 (32 ビット リード)に設定した場合に本モードに
なり、ワードアクセス可能になります。
ただし、このモードでは、コマンドおよびデータ書込みや消去, 自動アルゴリズムの起動は行えません。
リセット解除後は必ず本モードになります。
CPU プログラミングモード
データの読出し, 書込み/ 消去ができるモードです。
フラッシュ・アクセスサイズ・ビット(FASZR : ASZ)を 0b01 (16 ビット リード/ライト)に設定した場合に本
モードになり、フラッシュプログラミング可能になります。
本モードでは、ワードアクセスできないため、このモードで動作しているときはフラッシュメモリ上のプロ
グラムは実行できません。動作内容は次のとおりです。
− 読出し時
ハーフワードでフラッシュメモリにアクセスして、16 ビットのデータを一括で読み出します。
− コマンド書込み時
自動アルゴリズムを起動し書込みおよび消去を行います。自動アルゴリズムについては、
「3.2 自動
アルゴリズム」を参照してください。
Table 3-1 フラッシュメモリのアクセスモード
アクセスモード
アクセスサイズ
自動
フラッシュメモリ上での命令
アルゴリズム
実行
CPU ROM モード
32 ビット
不可能
可能
CPU プログラミングモード
16 ビット
可能
禁止
<注意事項>
−
リセットが解除されると必ず CPU ROM モードが設定されます。このため CPU プログラミング
モード設定後にリセットが発生すると、フラッシュ・アクセスサイズ・ビット(FASZR : ASZ)が 0b10
に変わり CPU ROM モードに戻ります。
14
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.2
P R O G R A M M I N G
M A N U A L
自動アルゴリズム
CPU プログラミングモードを利用する場合、フラッシュメモリへの書込み/消去は自動アルゴリズムを起動
して行います。
自動アルゴリズムについて説明します。
3.2.1. コマンドシーケンス
3.2.2. コマンド動作説明
3.2.3. 自動アルゴリズムの実行状態
3.2.1
コマンドシーケンス
フラッシュメモリへ 1 回~6 回連続でハーフワード (16 ビット) のデータを書き込むと自動アルゴリズムが
起動します。これをコマンドとよびます。コマンドシーケンスを Table 3-2 に示します。
Table 3-2 コマンドシーケンス表
コマンド
読出し/
リセット
書込み
フラッシ
ュ消去
セクタ
消去
書込み
回数
1 回目
2 回目
3 回目
4 回目
5 回目
6 回目
アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ
アドレス データ
1
0xXXX
0xF0
--
--
--
--
--
--
--
--
--
--
4
0xAA8
0xAA
0x554
0x55
0xAA8
0xA0
PA
PD
--
--
--
--
6
0xAA8
0xAA
0x554
0x55
0xAA8
0x80
0xAA8
0xAA
0x554
0x55
0xAA8
0x10
6
0xAA8
0xAA
0x554
0x55
0xAA8
0x80
0xAA8
0xAA
0x554
0x55
SA
0x30
1
0xXXX
0xB0
--
--
--
--
--
--
--
--
--
--
1
0xXXX
0x30
--
--
--
--
--
--
--
--
--
--
セクタ
消去
一時停止
セクタ
消去再開
X: 任意
PA: 書込みアドレス
SA: セクタアドレス(消去対象となるセクタのアドレス範囲内の任意のアドレスを指定してください)
PD: 書込みデータ
<注意事項>
−
Table 3-2 のデータ表記は下位 8 ビット分のみを表記しています。上位 8 ビットは任意です。
−
コマンドは必ずハーフワードで書き込んでください。
−
Table 3-2 のアドレス表記は下位 12 ビット分のみを表記しています。上位 20 ビット分は、対象と
なるフラッシュマクロのアドレス範囲内の任意のアドレスを必ず指定してください。対象マクロの
フラッシュアドレス範囲外のアドレスを指定した場合、フラッシュメモリはコマンドを認識できな
いため、コマンドシーケンスは正しく動きません。
−
フラッシュセキュリティコードを設定する場合のアドレスには ”0x0040_0000”を指定してください。
−
CR トリミングデータを設定または消去する場合のアドレスには”0x0040_2000”を指定してくださ
い。
−
汎用データを設定または消去する場合のアドレスには 0x0040_4000~0x0040_400C を指定してく
ださい。(汎用データ 1: 0x0040_4000, 汎用データ 2: 0x0040_4004, 汎用データ 3: 0x0040_4008,
汎用データ 4: 0x0040_400C )
いずれかの汎用データを消去する時、すべての汎用データが消去されます。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
15
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.2.2
P R O G R A M M I N G
M A N U A L
コマンド動作説明
コマンド動作を説明します。
読出し/リセットコマンド
読出し/リセットコマンドを対象セクタに連続して送るとフラッシュメモリを読出し/ リセット状態にでき
ます。
読出し/リセットコマンドを発行すると、フラッシュメモリは、ほかのコマンドが発行されるまで読出し状
態を保ちます。
自動アルゴリズムの実行がタイミングリミットを超過した場合は、読出し/リセットコマンドを発行すると
フラッシュメモリが読出し/リセット状態へ復帰します。
実際の動作については、
「3.3.1 読出し/リセット動作」を参照してください。
プログラム(書込み)コマンド
フラッシュメモリにデータを書き込むには、対象セクタに 4 回連続して書込みコマンドを発行し、自動ア
ルゴリズムを起動してください。データの書込みはどのようなアドレスの順番でも、セクタの境界を越えて
も行えます。
CPU プログラミングモードでは、ハーフワードで書込みを行います。
4 回目のコマンド発行が終了すると、自動アルゴリズムが起動し、フラッシュメモリへの自動書込みが開始
されます。自動書込みアルゴリズムコマンドシーケンス実行後は、外部からフラッシュメモリを制御する必
要はありません。
実際の動作については、
「3.3.2 書込み動作」を参照してください。
<注意事項>
−
4 回目の書込みコマンド (書込みデータサイクル) を奇数番地に発行すると、コマンドの認識が正し
く行われません。必ず偶数番地に書き込んでください。
−
1 回の書込みコマンドシーケンスではハーフワードのデータ 1 つしか書き込めません。
複数のデータを書き込みたい場合は、1 データに 1 度書込みコマンドシーケンスを発行してくださ
い。
フラッシュ消去コマンド
フラッシュ消去コマンドを対象セクタに 6 回連続して送ると対象セクタを含むフラッシュマクロの全セク
タのデータを一括で消去できます。6 回目の書込みが終了すると、自動アルゴリズムが起動しフラッシュメ
モリの消去動作が開始されます。
16
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
セクタ消去コマンド
セクタ消去コマンドを対象セクタに 6 回連続して送るとフラッシュメモリのセクタのデータを消去できま
す。6 回目の書込みが終了し、35μs 経過 (タイムアウト期間) すると、自動アルゴリズムが起動しセクタ消
去動作が開始されます。
複数のセクタのデータを消去したい場合は、35μs (タイムアウト期間) 以内に消去するセクタのアドレスへ
セクタ消去コマンドの 6 回目の書込みコードであるセクタ消去コード (0x30) を発行してください。タイム
アウト期間内にセクタ消去コードを発行しなかった場合、タイムアウト期間を過ぎてから追加したセクタ消
去コードが無効になることがあります。
セクタ消去一時停止コマンド
セクタ消去中またはコマンドタイムアウト中に、セクタ消去一時停止コマンドを発行することによって、セ
クタ消去を一時停止できます。セクタ消去一時停止状態では消去対象ではないセクタのメモリセルについて
読出し、および書込み動作が可能です。
実際の動作については、
「3.3.5 セクタ消去一時停止動作」を参照してください。
<注意事項>
−
このコマンドはセクタ消去中のみ有効です。フラッシュ消去中や書込み中にこのコマンドを発行し
ても無視されます。
セクタ消去再開コマンド
セクタ消去一時停止状態から、中断していた消去動作を再開するためにはセクタ消去再開コマンドを発行し
てください。セクタ消去再開コマンドを発行するとセクタ消去状態に戻り消去動作が再開されます。
実際の動作については、
「3.3.6 セクタ消去再開動作」を参照してください。
<注意事項>
−
このコマンドはセクタ消去一時停止中のみ有効です。セクタ消去中にこのコマンドを発行しても無
視されます。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
17
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.2.3
P R O G R A M M I N G
M A N U A L
自動アルゴリズムの実行状態
フラッシュメモリでは、書込みや消去を自動アルゴリズムで行うため、自動アルゴリズムが実行中かどうか
をフラッシュ・レディビット(FSTR : RDY)で、動作状態をハードウェアシーケンスフラグで確認できます。
ハードウェアシーケンスフラグ
自動アルゴリズムの状態を示すフラグです。フラッシュ・レディビット(FSTR : RDY)が"0"のときに、フ
ラッシュメモリの任意のアドレスを読み出すと動作状態を確認できます。
ハードウェアシーケンスフラグのビット構成を Figure 3-1 に示します。
Figure 3-1 ハードウェアシーケンスフラグのビット構成
ハーフワードアクセスの場合
bit
15
14
13
12
11
10
9
8
未定義
未定義
未定義
未定義
未定義
未定義
未定義
未定義
bit
7
6
5
4
3
2
1
0
DPOL
TOGG
TLOV
未定義
SETI
TOGG2
未定義
未定義
7
6
5
4
3
2
1
0
DPOL
TOGG
TLOV
未定義
SETI
TOGG2
未定義
未定義
バイトアクセスの場合
bit
<注意事項>
−
ワードアクセスでは読み出せません。必ず、CPU プログラミングモードのときにハーフワードかバ
イトアクセスで読み出してください。
−
CPU ROM モードで任意のアドレスを読み出しても、ハードウェアシーケンスフラグを読み出すこ
とはできません。
−
コマンド発行直後は正しい値を読み出せない場合があるため、コマンド発行後 1 回目のハードウェ
アシーケンスフラグの読出し値は無視してください。
各ビットとフラッシュメモリの状態
ハードウェアシーケンスフラグの各ビットの状態とフラッシュメモリ状態の対応を Table 3-3 に示します。
Table 3-3 ハードウェアシーケンスフラグ状態一覧
状態
DPOL
反転データ
自動書込み動作
(*1)
フラッシュ消去
セクタ消去
実行中
去動作
セクタ
消去
一時停止
リミット
超過
自動書込み動作
自動消去動作
SETI
TOGG2
トグル
0
0
0
0
トグル
0
1
トグル
0
トグル
0
0
トグル
消去
0
トグル
0
1
トグル
0
0
0
1
トグル
データ
データ
データ
データ
データ
(*1)
(*1)
(*1)
(*1)
(*1)
トグル
0
1
0
トグル
1
0
0
トグル
1
1
トグル
(消去対象セクタ)
読出し
(消去対象外セクタ)
自動書込み動作
(消去対象外セクタ)
タイム
TLOV
タイムアウト期間
読出し
自動消
TOGG
反転データ
(*1)
反転データ
(*1)
0
*1: 読み出される値については、
「ビット説明」を参照してください。
18
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
ビット説明
[bit15:8] 未定義ビット
[bit7] DPOL : データポーリングフラグビット
任意のアドレスを指定してハードウェアシーケンスフラグを読み出すと、データポーリング機能で自動アル
ゴリズムが実行中かどうかをこのビットに示します。
読み出される値は動作状態によって異なります。
 書込み時
− 書込み中:
書込みコマンドシーケンスで最後に書き込まれたデータ(PD)の bit7 の値と逆の値(反転データ) が読
み出されます。
ハードウェアシーケンスフラグを読み出すために指定したアドレスにはアクセスされません。
− 書込み終了後:
ハードウェアシーケンスフラグを読み出すために指定したアドレスの bit7 の値が読み出されます。
 セクタ消去時
− セクタ消去実行中:
フラッシュメモリの全領域から 0 が読み出されます。
− セクタ消去後:
必ず 1 が読み出されます。
− フラッシュ消去時
−
−
フラッシュ消去実行中 : 必ず 0 が読み出されます。
フラッシュ消去後 : 必ず 1 が読み出されます。
 セクタ消去一時停止時
− セクタ消去指定したセクタのアドレスを指定して読み出した場合:
0 が読み出されます。
− セクタ消去指定したセクタ以外のアドレスを指定して読み出した場合:
指定したアドレスの bit7 の値が読み出されます。
− 書込み中の場合:
書込みコマンドシーケンスで最後に書き込まれたデータ(PD)の bit7 の値と逆の値(反転データ) が読
み出されます。
ハードウェアシーケンスフラグを読み出すために指定したアドレスにはアクセスされません。
<注意事項>
−
自動アルゴリズムを起動しているときは、指定したアドレスのデータを読み出すことはできません。
このビットで自動アルゴリズムの動作が終了していることを確認してから、データを読み出してく
ださい。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
19
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
[bit6] TOGG : トグルフラグビット
任意のアドレスを指定してハードウェアシーケンスフラグを読み出すと、自動アルゴリズムが実行中かどう
かをこのビットで示します。
読み出される値は動作状態によって異なります。
 書込み/セクタ消去/ フラッシュ消去時
− 書込み/セクタ消去/フラッシュ消去中:
連続でこのビットを読み出すと、1 と 0 が交互に読み出されます (トグル動作) 。ハードウェア
シーケンスフラグを読み出すために指定したアドレスにはアクセスされません。
− 書込み/セクタ消去/フラッシュ消去終了後:
ハードウェアシーケンスフラグを読み出すために指定したアドレスの bit6 の値が読み出されます。
 セクタ消去一時停止時
− セクタ消去指定したセクタのアドレスを指定して読み出した場合:
0 が読み出されます。
− セクタ消去指定したセクタ以外のアドレスを指定して読み出した場合:
指定したアドレスの bit6 の値が読み出されます。
− 書込み中の場合:
連続でこのビットを読み出すと、1 と 0 が交互に読み出されます (トグル動作) 。ハードウェア
シーケンスフラグを読み出すために指定したアドレスにはアクセスされません。
[bit5] TLOV : タイミングリミット超過フラグビット
任意のアドレスを指定してハードウェアシーケンスフラグを読み出すと、自動アルゴリズムの実行時間がフ
ラッシュメモリ内部で規定している時間 (内部パルスの回数) を超過したかどうかをこのビットで示しま
す。
読み出される値は動作状態によって異なります。
 書込み/セクタ消去/フラッシュ消去時
次の値が読み出されます。
0 : 規定時間内
1 : 規定時間を超えている
このビットが"1"のときに、DPOL ビットや TOGG ビットが自動アルゴリズム実行中であることを示
していると、 書込みや消去に失敗したことになります。
例えば、フラッシュメモリでは"0"が書き込まれているデータを"1"に書き換えることができません。
このため、0 が書き込まれているアドレスに 1 を書き込もうとすると、フラッシュメモリがロック
され自動アルゴリズムが終了しません。この場合は、DPOL ビットの値は無効のままになり、TOGG
ビットからは 1 と 0 が交互に読み出され続けます。
この状態のまま規定時間を超えたときに、このビットが 1 に変わります。このビットが 1 になった
場合はリセットコマンドを発行してください。
 セクタ消去一時停止時
− セクタ消去指定したセクタのアドレスを指定して読み出した場合:
0 が読み出されます。
− セクタ消去指定したセクタ以外のアドレスを指定して読み出した場合:
指定したアドレスの bit5 の値が読み出されます。
− 書込み中の場合:
次の値が読み出されます。
0 : 規定時間内
1 : 規定時間を超えている
このビットが"1"のときに、DPOL ビットや TOGG ビットが自動アルゴリズム実行中であることを示
していると、 書込みや消去に失敗したことになります。
20
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
<注意事項>
−
このビットが"1"の場合は、フラッシュメモリが正しく使用されなかったことを示しています。フ
ラッシュメモリの不良ではありません。
リセットコマンドを発行してから適切な処理を行ってください。
[bit4] 未定義ビット
[bit3] SETI : セクタ消去タイマフラグビット
セクタ消去時は、セクタ消去コマンドを発行してから実際にセクタ消去が開始されるまでには、35 μs のタ
イムアウト期間が必要です。
任意のアドレスを指定してハードウェアシーケンスフラグを読み出すと、セクタ消去コマンドのタイムアウ
ト期間中かどうかをこのビットで示します。
読み出される値は動作状態によって異なります。
 セクタ消去時:
セクタ消去時に次のセクタ消去コードを入力する前に、このビットを確認することで次のセクタ消
去コードが受け付けられる状態かどうかを確認できます。
ハードウェアシーケンスフラグを読み出すために指定したアドレスにはアクセスせず、次の値が読
み出されます。
0 : セクタ消去タイムアウト期間中
次のセクタ消去コード(0x30) を受け付けられます。
1 : セクタ消去タイムアウト期間を超過している
このときに、DPOL ビットや TOGG ビットが自動アルゴリズム実行中であることを示していると、
フラッシュメモリ内部の消去が開始されています。この場合、セクタ消去一時停止 (0xB0)以外のコ
マンドはフラッシュメモリ内部の消去が完了するまで無視されます。
 セクタ消去一時停止時
− セクタ消去指定したセクタのアドレスを指定して読み出した場合:
1 が読み出されます。
− セクタ消去指定したセクタ以外のアドレスを指定して読み出した場合:
指定したアドレスの bit3 の値が読み出されます。
− 書込み中の場合:
1 が読み出されます。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
21
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
[bit2] TOGG2 : トグルフラグビット
セクタ消去一時停止状態において、消去対象以外のセクタからは値を読み出せますが、消去対象セクタから
は読み出せません。TOGG2 は、セクタ消去一時停止中、読み出したデータのトグル動作の有無により、該
当セクタが消去対象であるかどうかを検出します。
 書込み時
0 が読み出されます。
 セクタ消去/フラッシュ消去時
連続でこのビットを読み出すと、"1"と"0"が交互に読み出されます(トグル動作)。
 セクタ消去一時停止時
− セクタ消去指定したセクタのアドレスを指定して読み出した場合:
連続でこのビットを読み出すと、"1"と"0"が交互に読み出されます(トグル動作)。
− セクタ消去指定したセクタ以外のアドレスを指定して読み出した場合:
指定したアドレスの bit2 の値が読み出されます。
− 書込み中の場合:
0 が読み出されます。
[bit1:0] 未定義ビット
22
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.3
P R O G R A M M I N G
M A N U A L
フラッシュメモリの動作説明
フラッシュメモリの動作について、コマンドごとに説明します。
3.3.1. 読出し/リセット動作
3.3.2. 書込み動作
3.3.3. フラッシュ消去動作
3.3.4. セクタ消去動作
3.3.5. セクタ消去一時停止動作
3.3.6. セクタ消去再開動作
3.3.1
読出し/リセット動作
読出し/リセット動作を説明します。
読出し/リセットコマンドを対象セクタに連続して送るとフラッシュメモリを読出し/リセット状態にできま
す。
この状態は、フラッシュメモリの初期状態のため、電源を投入したときやコマンドが正常終了すると、フ
ラッシュメモリは常に読出し/リセット状態に戻ります。電源投入時はデータ読出しコマンドを発行する必
要はありません。また、読出し/リセット状態では通常の読出しアクセスでデータを読み出したり、CPU か
らプログラムアクセスしたりできます。このため、データを読み出すときに読出し/リセットコマンドを発
行する必要はありません。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
23
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.3.2
P R O G R A M M I N G
M A N U A L
書込み動作
書込み動作を説明します。
次の順番で書込みを行います。
1. 書込みコマンドを対象セクタに連続して発行する
自動アルゴリズムが起動されフラッシュメモリへデータが書き込まれます。
書込みコマンド発行後は外部からフラッシュメモリを制御する必要はありません。
2. 書込みを行ったアドレスにリードアクセスする
読み出したデータはハードウェアシーケンスフラグになります。そのため、読み出したデータの bit7
(DPOL ビット) が書き込んだ値と一致していると、フラッシュメモリへの書込みが終了したことに
なります。書込みが終了していない場合は、書込みコマンドシーケンスで最後に書き込まれたデー
タ(PD)の bit7 の値と逆の値 (反転データ) が読み出されます。
フラッシュメモリへの書込み動作例を Figure 3-2 に示します。
Figure 3-2 書込み手順例
書込み開始
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の ASZ ビットを"0b01"に設定
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の読出し(ダミー)
書込みコマンドシーケンス
① Addr:000X_XAA8 Data:XXAA
② Addr:000X_X554 Data:XX55
③ Addr:000X_XAA8 Data:XXA0
④ 書込みアドレス 書込みデータ
内部アドレス読出し(ダミー)
内部アドレス読出し
データポーリング
(DPOL ビット)
次のアドレス
データ
反転データ
0
タイミングリミット
(TLOV ビット)
1
内部アドレス読出し
反転データ
データポーリング
(DPOL ビット)
データ
書込みエラー
最終アドレス
No
Yes
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の ASZ ビットを"0b10"に設定
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の読出し(ダミー)
書込み完了
:ハードウェアシーケンスフラグで確認
24
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
<注意事項>
−
書込みコマンドについては、「3.2 自動アルゴリズム」を参照してください。
ハードウェアシーケンスフラグの DPOL ビットは、TLOV ビットと同時に値が変わるため TLOV
−
ビットが"1"の場合でも再度確認する必要があります。
−
ハードウェアシーケンスフラグの TOGG ビット, TLOV ビットが 1 に変わると同時にトグル動作を
停止します。そのため、TLOV ビットが"1"の場合でも TOGG ビットを再度確認する必要がありま
す。
−
フラッシュメモリへは、どのようなアドレスの順番でも、またセクタの境界を越えても書き込めま
す。しかし 1 回の書込みコマンドシーケンスではハーフワードのデータ 1 つしか書き込めません。
複数のデータを書き込みたい場合は、1 データに 1 度書込みコマンドシーケンスを発行してくださ
い。
−
書込み動作中はフラッシュメモリへ発行されたすべてのコマンドが無視されます。
書込み中に本デバイスがリセットされた場合は、書き込んでいるデータは保証されません。
−
−
本シリーズでは ECC ビット付加のため、必ず 16 ビットを 2 回、32 ビット単位で書込みを行う必
要があります。手順については「3.4 ECC 搭載品のフラッシュメモリへの書込みについて」を参照
してください。
−
一度書込みを行ったアドレスへの書込みは、ECC(Error Correction Code)が変わるため再書込みは
できません。同一アドレスへの再書込みは、該当アドレスを消去(セクタ消去、またはフラッシュ消
去)後に行ってください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
25
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.3.3
P R O G R A M M I N G
M A N U A L
フラッシュ消去動作
フラッシュ消去動作を説明します。
対象のフラッシュマクロの全セクタのデータを一括して消去できます。これをフラッシュ消去とよびます。
フラッシュ消去コマンドを対象セクタに連続して送ると自動アルゴリズムを起動して、対象セクタを含むフ
ラッシュマクロ全セクタのデータを一括で消去できます。
フラッシュ消去コマンドについては、
「3.2 自動アルゴリズム」を参照してください。
1. フラッシュ消去コマンドを対象セクタに連続して発行する
自動アルゴリズムが起動されフラッシュメモリのフラッシュ消去動作が開始されます。
2. 任意のアドレスにリードアクセスする
読み出したデータはハードウェアシーケンスフラグになります。そのため、読み出したデータの bit7
(DPOL ビット) が"1"だと、フラッシュ消去が終了したことになります。
フラッシュ消去に必要な時間は「セクタ消去時間×全セクタ数+フラッシュ書込み時間 (プリプログラム) 」
となります。
フラッシュ消去動作が終了すると、フラッシュメモリは読出し/リセットモードに戻ります。
3.3.4
セクタ消去動作
セクタ消去動作を説明します。
フラッシュメモリ内のセクタを選択して、選択したセクタのデータのみを消去できます。複数のセクタも同
時に指定できます。
次の順番でセクタ消去を行います。
1. セクタ消去コマンドを対象セクタに連続して発行する
35μs 経過 (タイムアウト期間) すると、自動アルゴリズムが起動しセクタ消去動作が開始されます。
複数のセクタを消去したい場合は、35 μs (タイムアウト期間) 以内に消去するセクタのアドレスに
消去コード (0x30) を発行してください。タイムアウト期間経過後に発行しても、追加したセクタ
消去コードが無効になることがあります。
2. 任意のアドレスにリードアクセスする
読み出したデータはハードウェアシーケンスフラグになります。そのため、読み出したデータの bit7
(DPOL ビット) が 1 だと、セクタ消去が終了したことになります。
また、TOGG ビットを利用してセクタ消去が完了したかどうかも確認できます。確認動作に TOGG
ビットを使用した場合を例にとって、セクタ消去手順例を Figure 3-3 に示します。
26
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
Figure 3-3 セクタ消去手順例
消去開始
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の ASZ ビットを"0b01"に設定
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の読出し(ダミー)
セクタ消去コマンドシーケンス
① Addr:000X_XAA8 Data:XXAA
② Addr:000X_X554 Data:XX55
③ Addr:000X_XAA8 Data:XX80
④ Addr:000X_XAA8 Data:XXAA
⑤ Addr:000X_X554 Data:XX55
消去するセクタに
消去コード (0xXX30) を書き込む
消去するセクタに
消去コード (0xXX30) を書き込む
Yes
No
内部アドレス読出し(ダミー)
内部アドレス読出し(ダミー)
内部アドレス読出し
0
他に消去する
セクタがある?
内部アドレス読出し 1
SETI ビット?
内部アドレス読出し 2
1
消去指定の追加が35s以内になされ
なかった。
残りをやり直すフラグを立て、いった
ん消去を終える。
内部アドレス読出し
1 と 2 の TOGG ビットの
値が同じ?
Yes
No
0
タイミングリミット超過
(TLOV ビット)
1
内部アドレス読出し 1
内部アドレス読出し 2
No
内部アドレス読出し
1 と 2 の TOGG ビットの
値が同じ?
Yes
残りやり直しフラグ?
消去失敗
Yes
No
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の ASZ ビットを"0b10"に設定
フラッシュ・アクセスサイズ・レジスタ
(FASZR)の読出し(ダミー)
:ハードウェアシーケンスフラグで確認
消去完了
セクタ消去に必要な時間は「 (セクタ消去時間+セクタ書込み時間 (プリプログラム))×セクタ数」となりま
す。
セクタ消去動作が終了すると、フラッシュメモリは読出し/リセットモードに戻ります。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
27
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
<注意事項>
−
セクタ消去コマンドについては、「3.2 自動アルゴリズム」を参照してください。
ハードウェアシーケンスフラグの DPOL ビットは、TLOV ビットと同時に値が変わるため TLOV
−
ビットが 1 の場合でも再度確認する必要があります。
−
ハードウェアシーケンスフラグの TOGG ビットは、TLOV ビットが"1"に変わると同時にトグル動
作を停止します。そのため、TLOV ビットが 1 の場合でも TOGG ビットを再度確認する必要があり
ます。
−
タイムアウト期間を含むセクタ消去中に、セクタ消去コマンド/消去一時停止コマンド以外のコマン
ドを発行すると、無視されます。
3.3.5
セクタ消去一時停止動作
セクタ消去一時停止動作を説明します。
セクタ消去中またはコマンドタイムアウト状態からセクタ消去一時停止コマンドを送付すると、セクタ消去
一時停止状態に遷移し、消去動作を一時的に中断します。
消去再開コマンドを送付することによってセクタ消去状態に戻り、中断していた消去動作を再開できます。
ただし、コマンドタイムアウト状態からセクタ消去一時停止状態に遷移した場合で
あっても、消去再開コマンドが正常に書き込まれた場合は、コマンドタイムアウト状態には遷移せず、セク
タ消去状態に遷移して直ちにセクタ消去動作を再開します。
セクタ消去一時停止動作
次の順番でセクタ消去が一時停止されます。
1. コマンドタイムアウト期間~セクタ消去中の間に、セクタ消去一時停止コマンドをフラッシュメモリ
のアドレス範囲内の任意のアドレスへライトします。
2. コマンドタイムアウト期間中にセクタ消去一時停止コマンドを発行した場合は、直ちにタイムアウト
を終了し、消去動作を一時停止します。セクタ消去中にセクタ消去一時停止コマンドを発行した場合、
実際に消去を停止するまでに最大で 35 μs の時間がかかります。
<注意事項>
−
セクタ消去一時停止コマンドについては、「3.2 自動アルゴリズム」を参照してください。
−
セクタ消去を一時停止できるのは、セクタ消去のコマンドタイムアウト期間~セクタ消去中のみで
す。フラッシュ消去は一時停止できません。また、セクタ消去一時停止中に再度セクタ消去一時停
止コマンドを発行しても無視されます。
セクタ消去一時停止後の状態
セクタ消去一時停止後に消去対象のセクタを読み出した場合、ハードウェアシーケンスフラグが読み出され
ます。また、消去対象でないセクタを読み出した場合は、メモリセルのデータが読み出されます。
<注意事項>
−
セクタ消去一時停止状態で、新たな消去コマンドは無視されます。
28
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.3.6
P R O G R A M M I N G
M A N U A L
セクタ消去再開動作
セクタ消去一時停止中にセクタ消去を再開する動作を説明します。
セクタ消去を一時停止中に、任意のアドレスにセクタ消去再開コマンドを発行するとセクタ消去を再開でき
ます。
セクタ消去再開コマンドが発行されると、セクタ消去一時停止中のセクタ消去動作が再開されます。
セクタ消去再開コマンドについては、
「3.2 自動アルゴリズム」を参照してください。
<注意事項>
セクタ消去再開コマンドは、セクタ消去一時停止中のみ有効です。セクタ消去中にセクタ消去再開
−
コマンドを発行しても無視されます。
−
セクタ消去再開コマンド発行後、セクタ消去動作が再開されるまで 2 ms 以上かかります。そのた
め、この時間に満たない間隔で消去再開と消去停止を繰り返すと、消去動作が進まないままタイ
ミングリミット超過になります。セクタ消去再開コマンド発行後に再度セクタ消去一時停止コマン
ドを発行する場合は、セクタ消去再開コマンドの発行後から 2 ms 以上の間隔を空けてください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
29
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.4
P R O G R A M M I N G
M A N U A L
ECC 搭載品のフラッシュメモリへの書込みについて
ECC 搭載品のフラッシュメモリへの書込みについて説明します。
本シリーズには 1 ワードごとの ECC(Error Correction Code)が付加されますので、1 ワードごとの書込みを行
う必要があります。以下の手順で 1 ハーフワードを 2 連続に、1 ワードごとに書込みを行ってください。こ
の手順に従わない場合、ECC 計算がされずにフラッシュメモリに書き込まれるため、書込み値を正しく読
み出せません。
1. フラッシュアクセスサイズ設定を 16 ビットに設定してください。(FASZR:ASZ=0b01 /
DFASZR:DASZ=0b01)
設定後、必ず FASZR/DFASZR レジスタのダミーリードを行ってください。
2. 書込みコマンドを発行してください。書込みアドレス=PA 書込みデータ=PD[15:0]
書込みコマンドについては「3.3.2 書込み動作」を参照してください。
3. ハードウェアシーケンスフラグを 1 回読み出してください。コマンド発行直後は正しい値を読み出せ
ないことがあるため、この読出し値は無視してください。
4. 書込みが終了するまで、ハードウェアシーケンスフラグを読み出してください。
ハードウェアシーケンスフラグ読出しについては「3.2.3 自動アルゴリズムの実行状態」を参照してく
ださい。
5. 書込みコマンドを発行してください。書込みアドレス= PA+2 書込みデータ= PD[31:16]
この際、ハードウェアが自動で 2.の PD[15:0]とあわせて ECC 符号の計算を行い、ECC 符号の書込み
も自動で同時に行われます。
6. ハードウェアシーケンスフラグを 1 回読み出してください。コマンド発行直後は正しい値を読み出せ
ないことがあるため、この読出し値は無視してください。
7. 書込みが終了するまで、ハードウェアシーケンスフラグを読み出してください。
8. 書込みデータがまだある場合は 2.に戻ってください。すべて書込み完了した場合は 9.へ進んでくださ
い。
9. CPU ROM モードに設定してください。フラッシュアクセスサイズ設定を 32 ビットに設定してくださ
い。
(FASZR:ASZ=0b10 / DFASZR:DASZ=0b10)
設定後、必ず FASZR/DFASZR レジスタのダミーリードを行ってください。
10. 書込みした値を読み出して、正しい値を読み出せるか確認してください。また、正しい値が読み出せ
た場合でもフラッシュ ECC エラービット(FSTR : ERR)を確認して ECC 訂正がされていないか確認し
てください。ECC 訂正が発生していた場合はフラッシュメモリ消去を行い、最初からやり直してくだ
さい。
PA:
PD[31:0]:
PD[31:16]:
PD[15:0]:
書込み対象アドレス(ワードアラインド)
書込みデータ
書込みデータ上位 16 ビット分
書込みデータ下位 16 ビット分
<注意事項>
−
一度書込みを行ったアドレスへの書込みは、ECC(Error Correction Code)が変わるため再書込みは
できません。同一アドレスへの再書込みは、該当アドレスを消去(セクタ消去、またはフラッシュ消
去)後に行ってください。
30
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.5
P R O G R A M M I N G
M A N U A L
フラッシュアクセラレータ
フラッシュアクセラレータについて説明します。
本シリーズは高速(最大 160 MHz)で 0 Wait の CPU 動作を実現するために命令コード用のフラッシュアクセ
ラレータを搭載しています。
フラッシュアクセラレータには以下の機能があります。
1. プリフェッチバッファ機能
アドレスを先読みし、命令をプリフェッチバッファに格納します。プリフェッチバッファは 128
ビット×4 段用意され、このバッファにアドレスがヒットすると 0 Wait で値を出力します。
2. トレースバッファ機能
トレースバッファとして 16 K バイトの RAM を搭載しています。フラッシュメモリから読み出され
た値は常にこのバッファに格納されます。以後の命令フェッチでこのバッファにアドレスがヒット
した場合はバッファヒットとなり、0 Wait で値を出力します。
<注意事項>
−
FM4 の各シリーズによりプリフェッチバッファのビット数、および段数が異なります。シリーズに
より同一プログラムであっても実行サイクル数が異なる場合があります。
詳細は、各シリーズのフラッシュプログラミングマニュアルを参照してください。
FRWTR レジスタの RWT=0b10 設定時のフラッシュアクセラレータ動作フローと Wait 数を Figure 3-4 に示し
ます。
− 初期状態ではプリフェッチバッファにアクセスします。プリフェッチバッファにアドレスが
ヒットしない場合はプリフェッチミスとなり、1 サイクルの Wait 後にトレースバッファへのアクセス
に切り換わります。しかし、その後はトレースバッファ側でアドレスがヒットした場合はバッファ
ヒットとなり、0 Wait でトレースバッファに格納された値を出力します。
− トレースバッファ側でアドレスがヒットしない場合はバッファミスとなり、再度プリフェッチバッ
ファへのアクセスに切り換わります。その際はフラッシュメモリへのアクセスが発生し、4 サイクル
または 5 サイクルの Wait サイクルが発生します。
− プリフェッチバッファおよびトレースバッファのいずれにもアドレスがヒットしない場合は、フラッ
シュメモリへのアクセスが発生し、3 サイクルまたは 4 サイクルの Wait サイクルが発生します。
− トレースバッファ機能をレジスタ設定により停止した場合、トレースバッファへのアクセス切換えは
発生しません。(詳細は「4.5 FBFCR (Flash Buffer Control Register) フラッシュ・バッファコントロー
ル・レジスタ」を参照してください。) プリフェッチミス時はフラッシュメモリへのアクセスが発生
し、3 サイクルまたは 4 サイクルの Wait サイクルが発生します。
FRWTR レジスタの RWT=0b11 設定時のフラッシュアクセラレータ動作フローと Wait 数を Figure 3-5 に示し
ます。FRWTR レジスタの RWT=0b10 設定時と Wait 数が異なります。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
31
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
Figure 3-4 フラッシュアクセラレータ動作フロー(FRWTR.RWT=0b10)
Prefetch enable
Prefetch hit
0 cyc.
Prefetch
Buffer
read
Prefetch miss &
buffer miss
3, or 4 cyc.
Prefetch miss &
buffer hit
1 cyc.
Buffer miss
4 or 5 cyc.
Trace
Buffer
read
Buffer hit
0 cyc.
Figure 3-5 フラッシュアクセラレータ動作フロー(FRWTR.RWT=0b11)
Prefetch enable
Prefetch hit
0 cyc.
Prefetch
Buffer
read
Prefetch miss &
buffer hit
1 cyc.
Buffer miss
5 or 6 or 7 cyc.
Trace
Buffer
read
32
CONFIDENTIAL
Prefetch miss &
buffer miss
4 or 5 or 6 cyc.
Buffer hit
0 cyc.
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
リセット後、FRWTR レジスタの RWT ビットは 0b11 となり、フラッシュアクセラレータのプリフェッチ
バッファ機能は動作していますが、トレースバッファ機能は停止しています。本機能を動作させるためには
FBFCR (フラッシュ・バッファコントロール・レジスタ)の BE ビットに 1 を書き込む必要があります。詳し
くは「4.5 FBFCR (Flash Buffer Control Register) フラッシュ・バッファコントロール・レジスタ」を参照して
ください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
33
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.6
P R O G R A M M I N G
M A N U A L
データバッファ
データバッファについて説明します。
本シリーズは 128 ビット×2 段のデータバッファを D-Code bus 領域に搭載しています。
1. D-Code bus データバッファ
CPU ROM モード(FASZR:ASZ=0b10 )、かつ FRWTR レジスタの RWT=0b10/0b11 の時、D-Code bus
のデータバッファが有効になります。
過去に D-Code bus から読み出されたデータを 128 ビット単位で最大2つまで格納されます。この
バッファにアドレスがヒットした場合はバッファヒットとなり、0Wait で値を出力します。
また、FASZR レジスタ、FRWTR レジスタおよび DFCTRLR レジスタを書き換えた場合、データ
バッファに格納されたデータはクリアされます。
<注意事項>
−
データバッファには 128 ビット単位でデータが格納されます。128 ビットのアドレス境界を超えて
データは格納されません。
−
FM4 の各シリーズによりデータバッファのビット数、および段数が異なります。シリーズにより
同一プログラムであっても実行サイクル数が異なる場合があります。
詳細は、各シリーズのフラッシュプログラミングマニュアルを参照してください。
34
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
3. 動作説明
F L A S H
3.7
P R O G R A M M I N G
M A N U A L
フラッシュメモリの使用上の注意
フラッシュメモリの使用上の注意について説明します。
− 書込み中に本デバイスがリセットされた場合は、書き込んでいるデータは保証されません。
−
−
−
−
−
−
−
−
−
また、書込み・消去中には、ウォッチドッグタイマなどの予期しないリセットがかからないようにす
る必要があります。
フラッシュ・アクセスサイズ・レジスタ(FASZR)の ASZ[1:0]ビットで CPU プログラミングモードを設
定(ASZ=0b01)したときは、フラッシュメモリ上のプログラムを実行しないでください。正常な値を取
り出せずにプログラムが暴走します。
フラッシュ・アクセスサイズ・レジスタ(FASZR)の ASZ[1:0]ビットで CPU プログラミングモードを設
定(ASZ=0b01)し、フラッシュメモリ上に割込みベクタテーブルがある場合は、割込み要求を発生させ
ないでください。正常な値を取り出せずにプログラムが暴走します。
フラッシュ・アクセスサイズ・レジスタ(FASZR)の ASZ[1:0]ビットで CPU プログラミングモードを設
定(ASZ=0b01)した場合、低消費電力モードには遷移しないでください。
フラッシュ・アクセスサイズ・レジスタ(FASZR)の ASZ[1:0]ビットで CPU ROM モードを設定
(ASZ=0b10)した場合は、フラッシュメモリに書込みを行わないでください。
フラッシュ・アクセスサイズ・レジスタ(FASZR)の ASZ[1:0]ビットで CPU プログラミングモードを設
定(ASZ=”0b01”)した場合、フラッシュメモリへの書込みは必ずハーフワードで行ってください。バイ
ト書込みはしないでください。
フラッシュメモリに対して自動アルゴリズムのコマンド発行直後は、必ずダミーの読出しをしてから
実際に読み出したいデータを読み出してください。自動アルゴリズムコマンド発行直後にデータを読
み出しても、読出し値は保証できません。
本デバイスを低消費電力モードへ遷移させる場合は、フラッシュメモリ自動アルゴリズムの動作が終
了していることを必ず確認してください。
低消費電力モードについては、
『FM4 ファミリ ペリフェラルマニュアル』の『低消費電力モード』の
章を参照してください。
本シリーズでは ECC ビット付加のため、必ず 16 ビットを 2 回、32 ビット単位で書込みを行う必要が
あります。手順については「3.4 ECC 搭載品のフラッシュメモリへの書込みについて」を参照してく
ださい。
一度書込みを行ったアドレスへの書込みは、ECC(Error Correction Code)が変わるため再書込みはでき
ません。同一アドレスへの再書込みは、該当アドレスを消去(セクタ消去、またはフラッシュ消去)後
に行ってください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
35
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.
P R O G R A M M I N G
M A N U A L
レジスタ
レジスタについて説明します。
レジスタ一覧
レジスタ略称
36
CONFIDENTIAL
レジスタ名
参照先
FASZR
フラッシュ・アクセスサイズ・レジスタ
4.1
FRWTR
フラッシュ・リードウェイト・レジスタ
4.2
FSTR
フラッシュ・ステータス・レジスタ
4.3
FSYNDN
フラッシュ・シンクダウン・レジスタ
4.4
FBFCR
フラッシュ・バッファコントロール・レジスタ
4.5
FICR
フラッシュ・割込み制御・レジスタ
4.6
FISR
フラッシュ・割込みステータス・レジスタ
4.7
FICLR
フラッシュ・割込みクリア・レジスタ
4.8
CRTRMM
CR トリミングデータ・ミラー・レジスタ
4.9
FGPDM1
フラッシュ・汎用データ・ミラー・レジスタ 1
4.10
FGPDM2
フラッシュ・汎用データ・ミラー・レジスタ 2
4.11
FGPDM3
フラッシュ・汎用データ・ミラー・レジスタ 3
4.12
FGPDM4
フラッシュ・汎用データ・ミラー・レジスタ 4
4.13
FERRAD
フラッシュ・ECC ERR アドレス・キャプチャ・レジスタ
4.14
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.1
P R O G R A M M I N G
M A N U A L
FASZR (Flash Access Size Register) フラッシュ・アクセスサイズ・レジス
タ
FASZR について説明します。
フラッシュメモリに対するアクセスサイズを設定します。リセット解除後は ASZ=0b10(32 ビットリード)に
なり、CPU ROM モードに設定されます。CPU プログラミングモードに設定する場合には、ASZ=0b01 に設
定してください。
bit
7
6
5
4
3
2
1
予約
Field
0
ASZ
属性
RW
RW
初期値
1
0
[bit7:2] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit1:0] ASZ: Access Size
フラッシュメモリのアクセスサイズを指定します。
名称
説明
bit
Flash Access Size
00: 設定禁止
ASZ
1:0
01: 16 ビットリード/ライト(CPU プログラミングモード)
10: 32 ビットリード
(CPU ROM モード : 初期値)
11: 設定禁止
<注意事項>
−
ASZ=0b01 の設定時、フラッシュに対しての書込みは必ずハーフワードアクセス(16 ビットアクセ
ス)を行ってください。
−
本レジスタを変更する場合にはフラッシュメモリに書き込まれた命令によって行わないでくださ
い。フラッシュ領域以外のプログラムにて書き換えてください。
−
本レジスタを変更後、必ずレジスタに対してダミーリードを行ってください。
−
ASZ=0b01 の設定時、FBFCR レジスタの BS ビット, BE ビットはともに 0 にクリアされ、トレー
スバッファ機能はオフになります。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
37
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.2
P R O G R A M M I N G
M A N U A L
FRWTR (Flash Read Wait Register) フラッシュ・リードウェイト・レジスタ
FRWTR について説明します。
ASZ=0b10 (32 ビットリードモード)のときに有効なレジスタです。
フラッシュメモリに対するアクセス方法を設定します。
bit
7
6
5
4
3
2
1
予約
Field
0
RWT
属性
RW
RW
初期値
1
1
[bit7:2] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit1:0] RWT: Read Wait Cycle
フラッシュメモリのアクセス方法を指定します。
名称
説明
bit
Read Wait Cycle
00: 0 サイクルウェイトモード(0 レイテンシ)
HCLK が 72MHz 以下の場合に設定可能です。
01: 設定禁止
RWT
1:0
10: フラッシュアクセラレータモード 0
HCLK が 160MHz 以下の場合に設定可能です。
HCLK が 72MHz を超える場合には必ず設定してください。
11: フラッシュアクセラレータモード 1 (初期値)
HCLK が 160MHz を超える場合には必ず設定してください。
フラッシュアクセラレータモードの場合、フラッシュアクセラレータのプリフェッチバッファ機能が動作し、
高速周波数(最大 160 MHz)の 0Wait 動作を可能にします。
フラッシュアクセラレータのプリフェッチバッファ機能を有効にした後、トレースバッファ機能(「4.5
FBFCR (Flash Buffer Control Register) フラッシュ・バッファコントロール・レジスタ」を参照)を動作させる
ことによりさらにパフォーマンスが向上します。
72MHz 以下の場合はレイテンシの発生しない 0 サイクルウェイトモード(RWT=0b00) を推奨します。
フラッシュアクセラレータモードの場合、D-Code bus のデータバッファ(「3.6 データバッファ」を参照)が
有効になります。
<注意事項>
−
HCLK が 72 MHz を超える場合は RWT=0b00 (0 サイクルウェイトモード)での使用は禁止です。
RWT=0b00 の間、HCLK が一瞬でも 72 MHz を超えないようにしてください。
−
HCLK が 160MHz を超える場合は RWT=0b10 (フラッシュアクセラレータモード 0)での使用は禁止
です。RWT=0b10 の間、HCLK が一瞬でも 160 MHz を超えないようにしてください。
−
本レジスタを変更後、必ずレジスタに対してダミーリードを行ってください。
38
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.3
P R O G R A M M I N G
M A N U A L
FSTR (Flash Status Register) フラッシュ・ステータス・レジスタ
FSTR について説明します。
フラッシュメモリのステータスを示すレジスタです。
bit
7
6
5
4
3
予約
Field
2
1
0
RDY
ERR
HNG
属性
RW
R
R
初期値
0
0
X
[bit7:3] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit2] ERR : Flash ECC Error
ECC エラー訂正が発生すると本ビットは"1"になります。
名称
説明
bit
Flash ECC Error
リード時
0: ECC エラーによる訂正は発生していません。
ERR
1: ECC エラーによる訂正が発生しています。
2
ライト時
0:本ビットをクリアします。
1:無視されます。
[bit1] HNG : Flash Hang
フラッシュメモリの HANG 状態を示します。タイミング超過(「[bit5] TLOV : タイミングリミット超過フラ
グビット」参照) すると HANG 状態になります。本ビットが"1"になった場合はリセットコマンド(「3.2.1 コ
マンドシーケンス」参照) を発行してください。
自動アルゴリズムのコマンド発行直後は正しい値を読み出せない場合があるため、コマンド発行後 1 回目
の本ビット読出し値は無視してください。
名称
説明
bit
Flash Hang
HNG
0: フラッシュメモリの HANG 状態を検出していません。
1
1: フラッシュメモリの HANG 状態を検出しました。
[bit0] RDY : Flash Rdy
自動アルゴリズムでフラッシュメモリの書込み/ 消去動作が実行中か完了しているかを示します。動作中の
場合、フラッシュメモリへデータの書込みや消去はできません。
名称
説明
bit
Flash Rdy
RDY
0
0: 動作中(書込み/消去不可)
1: 動作完了(書込み/消去可能)
自動アルゴリズムのコマンド発行直後は正しい値を読み出せない場合があるため、コマンド発行後 1 回目の
本ビット読出し値は無視してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
39
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.4
P R O G R A M M I N G
M A N U A L
FSYNDN (Flash Sync Down Register) フラッシュ・シンクダウン・レジスタ
FSYNDN について説明します。
CPU ROM モード時、フラッシュメモリへのリードアクセスに対し、ウェイトサイクルを挿入します。これ
によりフラッシュへのアクセスを低速化することで、消費電流を減らすことができます。
bit
7
6
5
4
3
2
予約
Field
1
0
SD
属性
RW
RW
RW
初期値
0
0
0
[bit7:3] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit2:0] SD: Sync Down
フラッシュメモリのリードアクセスに対してウェイトサイクルを挿入します。
名称
説明
bit
000: 0(初期値)
001: +1 ウェイト
010: 設定禁止
SD
2:0
011: +3 ウェイト
100: 設定禁止
101: +5 ウェイト
110: 設定禁止
111: +7 ウェイト
本ビットで設定したウェイト数はフラッシュ・リードウェイト・レジスタ(FRWTR)の RWT ビットに対して
追加されます。
例)
RWT=0b00 (0 サイクルウェイト), SD=0b011 の場合、 0+3=3 ウェイト
<注意事項>
−
本レジスタは FRWTR レジスタの RWT が"00"の場合のみ有効です。フラッシュアクセラレータ
モード時(RWT=0b10/RWT=0b11)は本レジスタの値は無視されます。
−
本レジスタを変更後、必ずレジスタに対してダミーリードを行ってください。
40
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.5
P R O G R A M M I N G
M A N U A L
FBFCR (Flash Buffer Control Register) フラッシュ・バッファコントロー
ル・レジスタ
FBFCR について説明します。
フラッシュアクセラレータモード時(FRWTR レジスタの RWT=0b10/RWT=0b11 設定時)、本レジスタにより
フラッシュアクセラレータのトレースバッファ機能を動作許可することで、パフォーマンスがさらに向上し
ます。
bit
7
6
5
4
3
2
1
0
BS
BE
属性
R
RW
初期値
0
0
予約
Field
[bit7:2] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit1] BS: Buffer Status
名称
説明
bit
Buffer Status
BS
0: トレースバッファ機能は停止、または初期化中です。(初期値)
1
1: トレースバッファ機能は動作状態です。
[bit0] BE: Buffer Enable
名称
説明
bit
Buffer Enable
BE
0
0: トレースバッファ機能を停止します。(初期値)
1: トレースバッファ機能を動作許可します。
トレースバッファ機能を動作許可にした後(BE ビットに 1 を書込み後)、トレースバッファの初期化が開始
されます。HCLK×1025 サイクル後、初期化が完了し、トレースバッファは動作状態になります。このとき
BS ビットは 1 に設定されます。
トレースバッファ初期化中(BE=1 かつ BS=0)もプリフェッチバッファは機能しているため、フラッシュメモ
リへのアクセスは行えます。BS=1 に変化しトレースバッファが動作状態になると自動的にトレースバッ
ファはトレースを開始します。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
41
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.6
P R O G R A M M I N G
M A N U A L
FICR (Flash Interrupt Control Register) フラッシュ・割込み制御・レジスタ
FICR について説明します。
フラッシュメモリの割込み許可の設定を行うレジスタです。
bit
7
6
5
4
3
予約
Field
2
1
0
ERRIE
HNGIE
RDYIE
属性
RW
RW
RW
初期値
0
0
0
[bit7:3] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit2] ERRIE : Flash ECC Error Interrupt Enable
ECC エラー訂正割込みを許可するビットです。FISR レジスタの ERRIF ビットが"1"で本ビットが 1 の時、
CPU に対して割込みを発生します。
名称
説明
bit
Flash ECC Error Interrupt Enable
ERRIE
0: ECC エラー訂正割込み禁止。(初期値)
2
1: ECC エラー訂正割込み許可。
[bit1] HNGIE : Flash HANG Interrupt Enable
フラッシュ HANG 状態割込みを許可するビットです。FISR レジスタの HNGIF ビットが 1 で本ビットが
1 の時、CPU に対して割込みを発生します。
名称
説明
bit
Flash HANG Interrupt Enable
HNGIE
0: フラッシュ HANG 割込み禁止。(初期値)
1
1: フラッシュ HANG 割込み許可。
[bit0] RDYIE : Flash RDY Interrupt Enable
フラッシュ RDY 状態割込みを許可するビットです。FISR レジスタの RDYIF ビットが 1 で本 ビットが
1 の時、CPU に対して割込みを発生します。
名称
説明
bit
Flash RDY Interrupt Enable
RDYIE
0
0: フラッシュ RDY 割込み禁止。(初期値)
1: フラッシュ RDY 割込み許可。
42
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.7
P R O G R A M M I N G
M A N U A L
FISR (Flash Interrupt Status Register) フラッシュ・割込みステータス・レ
ジスタ
FISR について説明します。
フラッシュメモリの割込み状態を示すレジスタです。
bit
7
6
5
4
3
2
1
0
ERRIF
HNGIF
RDYIF
属性
R
R
R
初期値
0
0
0
予約
Field
[bit7:3] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit2] ERRIF : Flash ECC Error Interrupt Flag
フラッシュリードデータの ECC エラー訂正の発生を検出した場合 1 にセットされます。ERR 信号の立上り
エッジでセットされます。FICLR レジスタの ERRIC ビットへの 1 書込みでクリアされます。
名称
説明
bit
Flash ECC Error Interrupt Flag
ERRIF
0: ECC エラー訂正の発生を検出していない。(初期値)
2
1: ECC エラー訂正の発生を検出。
[bit1] HNGIF : Flash HANG Interrupt Flag
フラッシュ HANG 状態を検出した場合 1 にセットされます。HNG 信号の立上りエッジでセットされます。
FICLR レジスタの HNGIC ビットへの 1 書込みでクリアされます。
名称
説明
bit
Flash HANG Interrupt Flag
HNGIF
0: フラッシュ HANG 状態を検出していない。(初期値)
1
1: フラッシュ HANG 状態を検出。
[bit0] RDYIF : Flash RDY Interrupt Flag
フラッシュ RDY 状態を検出した場合 1 にセットされます。RDY 信号の立上りエッジでセットされます。
FICLR レジスタの RDYIC ビットへの 1 書込みでクリアされます。
名称
説明
bit
Flash RDY Interrupt Flag
RDYIF
0
0: フラッシュ RDY 状態を検出していない。(初期値)
1: フラッシュ RDY 状態を検出。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
43
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.8
P R O G R A M M I N G
M A N U A L
FICLR (Flash Interrupt Clear Register) フラッシュ・割込みクリア・レジス
タ
FICLR について説明します。
フラッシュメモリの割込み状態をクリアするレジスタです。
bit
7
6
5
4
3
2
1
0
ERRIC
HNGIC
RDYIC
属性
RW
RW
RW
初期値
0
0
0
予約
Field
[bit7:3] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit2] ERRIC : Flash ECC Error Interrupt Clear
ERR 割込みフラグのクリアビットです。本ビットへ 1 を書き込むことで FISR レジスタの ERRIF ビット
を"0"にクリアします。
名称
説明
bit
Flash ECC Error Interrupt Clear
ライト時
ERRIC
0: ECC エラー訂正割込みフラグ(ERRIF)は変化しない。
2
1: ECC エラー訂正割込みフラグ(ERRIF)をクリア。
リード時
0 が読み出されます。
[bit1] HNGIC : Flash HANG Interrupt Clear
HNG 割込みフラグのクリアビットです。本ビットへ 1 を書き込むことで FISR レジスタの HNGIF ビット
を 0 にクリアします。
名称
説明
bit
Flash HANG Interrupt Clear
ライト時
HNGIC
0: フラッシュ HANG 割込みフラグ(HNGIF)は変化しない。
1
1: フラッシュ HANG 割込みフラグ(HNGIF)をクリア。
リード時
0 が読み出されます。
[bit0] RDYIC : Flash RDY Interrupt Clear
RDY 割込みフラグのクリアビットです。本ビットへ 1 を書き込むことで FISR レジスタの RDYIF ビット
を 0 にクリアします。
名称
説明
bit
Flash RDY Interrupt Clear
ライト時
RDYIC
0
0: フラッシュ RDY 割込みフラグ(RDYIF)は変化しない。
1: フラッシュ RDY 割込みフラグ(RDYIF)をクリア。
リード時
0 が読み出されます。
44
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
4.9
P R O G R A M M I N G
M A N U A L
CRTRMM (CR Trimming Data Mirror Register) CR トリミングデータ・ミ
ラー・レジスタ
CRTRMM について説明します。
このレジスタは CR トリミングデータのミラーレジスタです。
ユーザモード, シリアルライタモードで本レジスタの値を使用できます。
bit
31
20
予約
Field
16
9
予約
TTRMM
0
TRMM
属性
R
R
初期値
*
*
[bit31:21] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit20:16] TTRMM : Temperature CR Trimming Data Mirror
リセット解除後、フラッシュメモリ領域のアドレス”0x0040_2002”番地の bit[4:0](CR 温度トリミングデー
タ)が本ビットに格納されます。
CR 温度トリミングデータの詳細は、
『FM4 ファミリ ペリフェラルマニュアル』の『高速 CR トリミング機
能』の章を参照してください。
名称
TTRMM
説明
bit
20:16
*:アドレス 0x0040_2002 番地の bit[4:0]が読み出されます。
[bit15:10] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit9:0] TRMM : CR Trimming Data Mirror
リセット解除後、フラッシュメモリ領域のアドレス 0x0040_2000 番地の bit[9:0](CR 周波数トリミングデー
タが本レジスタに格納されます。
CR 周波数トリミングデータの詳細は、
『FM4 ファミリ ペリフェラルマニュアル』の『高速 CR トリミング
機能』の章を参照してください。
名称
TRMM
bit
9:0
説明
*:アドレス”0x0040_2000”番地の bit[9:0]が読み出されます。
<注意事項>
−
フラッシュメモリのデータを消去した後、チップ内部にリセットが発行されると本レジスタはクリ
アされます。このとき、格納されている CR トリミングデータは消失します。そのため、本レジス
タがクリアされる前にレジスタに格納されている CR トリミングデータを RAM などに退避してく
ださい。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
45
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
P R O G R A M M I N G
M A N U A L
4.10 FGPDM1 (Flash General Purpose Data Mirror Register1) フラッシュ・汎用
データ・ミラー・レジスタ 1
FGPDM1 について説明します。
このレジスタは汎用データ 1 のミラーレジスタです。
bit
31
0
Field
GPD1
属性
R
初期値
*
[bit31:0] GPD1 : General Purpose Data1
リセット解除後、フラッシュメモリ領域のアドレス 0x0040_4000 番地の bit[31:0](汎用データ 1)が本ビッ
トに格納されます。
名称
GPD1
bit
31:0
説明
*:アドレス 0x0040_4000 番地の bit[31:0]が読み出されます。
<注意事項>
フラッシュメモリのデータを消去した後、チップ内部にリセットが発行されると本レジスタはクリ
−
アされます。このとき、格納されている汎用データ 1 は消失します。そのため、本レジスタがクリ
アされる前にレジスタに格納されている汎用データ 1 を RAM などに退避してください。
46
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
P R O G R A M M I N G
M A N U A L
4.11 FGPDM2 (Flash General Purpose Data Mirror Register2) フラッシュ・汎用
データ・ミラー・レジスタ 2
FGPDM2 について説明します。
このレジスタは汎用データ 2 のミラーレジスタです。
bit
31
0
Field
GPD2
属性
R
初期値
*
[bit31:0] GPD2 : General Purpose Data2
リセット解除後、フラッシュメモリ領域のアドレス 0x0040_4004 番地の bit[31:0](汎用データ 2)が本ビッ
トに格納されます。
名称
GPD2
bit
31:0
説明
*:アドレス 0x0040_4004 番地の bit[31:0]が読み出されます。
<注意事項>
フラッシュメモリのデータを消去した後、チップ内部にリセットが発行されると本レジスタはクリ
−
アされます。このとき、格納されている汎用データ 2 は消失します。そのため、本レジスタがクリ
アされる前にレジスタに格納されている汎用データ 2 を RAM などに退避してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
47
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
P R O G R A M M I N G
M A N U A L
4.12 FGPDM3 (Flash General Purpose Data Mirror Register3) フラッシュ・汎用
データ・ミラー・レジスタ 3
FGPDM3 について説明します。
このレジスタは汎用データ 3 のミラーレジスタです。
bit
31
0
Field
GPD3
属性
R
初期値
*
[bit31:0] GPD3 : General Purpose Data3
リセット解除後、フラッシュメモリ領域のアドレス 0x0040_4008 番地の bit[31:0](汎用データ 3)が本ビッ
トに格納されます。
名称
GPD3
bit
31:0
説明
*:アドレス 0x0040_4008 番地の bit[31:0]が読み出されます。
<注意事項>
フラッシュメモリのデータを消去した後、チップ内部にリセットが発行されると本レジスタはクリ
−
アされます。このとき、格納されている汎用データ 3 は消失します。そのため、本レジスタがクリ
アされる前にレジスタに格納されている汎用データ 3 を RAM などに退避してください。
48
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
P R O G R A M M I N G
M A N U A L
4.13 FGPDM4 (Flash General Purpose Data Mirror Register4) フラッシュ・汎用
データ・ミラー・レジスタ 4
FGPDM4 について説明します。
このレジスタは汎用データ 4 のミラーレジスタです。
Bit
31
0
Field
GPD3
属性
R
初期値
*
[bit31:0] GPD4 : General Purpose Data4
リセット解除後、フラッシュメモリ領域のアドレス 0x0040_400C 番地の bit[31:0](汎用データ 4)が本ビッ
トに格納されます。
名称
GPD4
bit
31:0
説明
*:アドレス 0x0040_400C 番地の bit[31:0]が読み出されます。
<注意事項>
フラッシュメモリのデータを消去した後、チップ内部にリセットが発行されると本レジスタはクリ
−
アされます。このとき、格納されている汎用データ 4 は消失します。そのため、本レジスタがクリ
アされる前にレジスタに格納されている汎用データ 4 を RAM などに退避してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
49
CHAPTER 1: フラッシュメモリ
4. レジスタ
F L A S H
P R O G R A M M I N G
M A N U A L
4.14 FERRAD (Flash ECC ERR Address Capture Register) フラッシュ・ECC
ERR アドレス・キャプチャ・レジスタ
FERRAD について説明します。
フラッシュメモリのリードデータの ECC エラー訂正発生時のアドレスを格納するレジスタです。
bit
31
22
予約
Field
0
ERRAD
属性
R
初期値
0
[bit31:23] 予約ビット
読出し値は不定です。書込み時は無視されます。
[bit22:0] ERRAD : Flash ECC Error Address Capture
フラッシュメモリのリードデータの ECC エラー訂正発生時のアドレスが格納されます。
名称
ERRAD
bit
22:0
説明
ECC エラー訂正発生時のアドレスが格納されます。
<注意事項>
一度格納したアドレスは次に FSTR レジスタの ERR ビットが再度"1"にセットされるまで保持され
−
ます。すなわち、FSTR.ERR ビットをクリアしない限り、連続で ERR が発生しても最初に取り
込んだアドレスを保持します。
50
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
VFLASH メモリの機能と動作について説明します。
1.
2.
3.
4.
5.
概要
構成
レジスタ
コマンド
動作説明
管理コード: 9BFADCTOP_FM4-J01.0
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
51
CHAPTER 2: VFLASH メモリ
1. 概要
F L A S H
1.
P R O G R A M M I N G
M A N U A L
概要
本シリーズはオンチップで搭載されているフラッシュメモリに加えて、データ格納用の 2 M バイトの領域
で構成される HS_SPI フラッシュメモリ(以降 VFLASH メモリと記載します)が搭載されています。
VFLASH メモリは、データが記録されるメモリ領域と、メモリの状態及び制御を行うレジスタから構成さ
れます。
CPU から HS_SPI コントローラを制御し、コマンドを発行することで、Cortex-M4 CPU によるページ(256
バイト)単位の書込み、セクタ(4 K バイト)単位、ブロック(64 K バイト)単位、または VFLASH メモ
リ全体のデータ消去を行うことができます。
また Cortex-M4 CPU および DMA コントローラ等のペリフェラルによるバイト、ハーフワード、ワード単位
の読出しを行うことができます。
VFLASH メモリの特長
 動作モード
− CPU ライトモード
HS_SPI コントローラをダイレクトモードに設定し、CPU から VFLASH メモリへのページ(256 バ
イト)単位のデータ書き込み、およびセクタ(4 K バイト)単位、ブロック(64 K バイト)単位、
又は全体の消去を行うことができるモードです。
− リードモード
HS_SPI コントローラをコマンドシーケンサモードに設定し、CPU および DMA コントローラ等のペ
リフェラルからバイト、ハーフワード、ワード単位の読出しができるモードです。
− ROM ライタモード
ROM ライタからフラッシュメモリのデータ読出し, 書込みおよび消去を行うことができるモード
です。
<注意事項>
−
本書では、VFLASH メモリを CPU ライトモードおよびリードモードで利用する方法について記載
します。
ROM ライタから VFLASH メモリにアクセスする方法については、ご利用の ROM ライタの取扱い
説明書を参照してください。
52
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
2. 構成
F L A S H
2.
P R O G R A M M I N G
M A N U A L
構成
本シリーズに搭載されている VFLASH メモリの容量と製品型格の対応、並びにメイン領域のアドレス,
ページ, セクタ, ブロックの構成を説明します。
 容量と製品型格の対応
 メモリ領域の構成
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
53
CHAPTER 2: VFLASH メモリ
2. 構成
F L A S H
2.1
P R O G R A M M I N G
M A N U A L
容量と製品型格の対応
Table 2-1 対象型格一覧 (TYPE4-M4 製品)
タイプ名*
VFLASH メモリサイズ
2 MByte
S6E2D35GJAMV20
TYPE4-M4
S6E2D55GJAMV20
S6E2DF5GJAMV20
S6E2DH5GJAMV20
*: ペリフェラルマニュアルにおいて製品を分類するために使用している表記です。
54
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
2. 構成
F L A S H
2.2
P R O G R A M M I N G
M A N U A L
メモリ領域の構成
メモリ領域のアドレス, ページ、セクタ、ブロックの構成を示します。
Figure 2-1 メモリ領域 2 M バイトのメモリマップ
0x1F_FFFF
セクタ 511 (4KB)
セクタ 510 (4KB)
セクタ 509 (4KB)
セクタ 508 (4KB)
セクタ 507 (4KB)
セクタ 506 (4KB)
セクタ 505 (4KB)
セクタ 504 (4KB)
ブロック 31 (64KB)
セクタ 503 (4KB)
セクタ 502 (4KB)
セクタ 501 (4KB)
セクタ 500 (4KB)
セクタ 499 (4KB)
セクタ 498 (4KB)
セクタ 497 (4KB)
セクタ 496 (4KB)
…
ブロック 0 (64KB)
0x00_0000
セクタ 15 (4KB)
ページ 15 (256B)
セクタ 14 (4KB)
ページ 14 (256B)
セクタ 13 (4KB)
ページ 13 (256B)
セクタ 12 (4KB)
ページ 12 (256B)
セクタ 11 (4KB)
ページ 11 (256B)
セクタ 10 (4KB)
ページ 10 (256B)
セクタ 9 (4KB)
ページ 9 (256B)
セクタ 8 (4KB)
ページ 8 (256B)
セクタ 7 (4KB)
ページ 7 (256B)
セクタ 6 (4KB)
ページ 6 (256B)
セクタ 5 (4KB)
ページ 5 (256B)
セクタ 4 (4KB)
ページ 4 (256B)
セクタ 3 (4KB)
ページ 3 (256B)
セクタ 2 (4KB)
ページ 2 (256B)
セクタ 1 (4KB)
ページ 1 (256B)
セクタ 0 (4KB)
ページ 0 (256B)
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
55
CHAPTER 2: VFLASH メモリ
3. レジスタ
F L A S H
3.
P R O G R A M M I N G
M A N U A L
レジスタ
VFLASH メモリのレジスタについて説明します。
Table 3-1 レジスタ一覧
レジスタ略称
SR1
56
CONFIDENTIAL
レジスタ名
ステータス・レジスタ1
参照先
3.1
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
3. レジスタ
F L A S H
3.1
P R O G R A M M I N G
M A N U A L
ステータス・レジスタ1(SR1)
SR1 レジスタは、VFLASH メモリの動作状態を示します。
bit
7
6
5
4
3
2
1
0
Field
予約
予約
予約
予約
予約
予約
WEL
BUSY
属性
-
-
-
-
-
-
R/W
R
初期値
0
0
0
0
0
0
0
0
[bit7:2] 予約ビット
書込み時は初期値を指定してください。
[bit1] WEL:Write Enable Latch
レジスタ及び VFLASH メモリに対する書込みの可否状態を示します。
WREN(0x06)コマンドを発行して WEL=1 に設定することで、レジスタへの書込み、メモリ領域への書
込みおよび消去のコマンドが有効となります。
書込みおよび消去のコマンドが完了すると WEL=0 となります。
bit
説明
0
レジスタの書込み、メモリ領域のプログラム及び消去は無効です。
1
レジスタの書込み、メモリ領域のプログラム及び消去は有効です。
[bit0] BUSY: Embedded Operation Status
VFLASH メモリの動作状態を示します。
レジスタへの書込み、メモリ領域への書込みおよび消去のコマンドを発行すると BUSY=1 となり、それ
らの動作が完了すると BUSY=0 となります。
bit
説明
0
レジスタ及びメモリ領域への書込みまたは消去動作中ではありません。
1
レジスタ及びメモリ領域への書込みまたは消去動作中です。
<注意事項>
−
WEL を 1 にするには VFLASH メモリに WREN(0x06)コマンドを送信します。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
57
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.
P R O G R A M M I N G
M A N U A L
コマンド
VFLASH メモリの制御コマンドについて説明します。
コマンドは制御命令単体、または制御命令に続くアドレスやデータ等のパラメータによって構成されます。
Table 4-1 制御命令一覧
制御命令名
制御命令
VFLASH メモリの制御内容
参照先
RDSR1
0x05
ステータス・レジスタ1を読み出す
4.1
WREN
0x06
ステータス・レジスタ1の WEL ビットを1に設定する
4.2
WSR
0x01
ステータス・レジスタ1に書き込む
4.3
PP
0x02
メモリ領域にページ書込みを行う
4.4
SE
0x20
メモリ領域のセクタ単位消去を行う
4.5
BE
0xD8
メモリ領域のブロック単位消去を行う
4.6
CE
0xC7
メモリ領域の全消去を行う
4.7
FRQIO
0xEB
メモリ領域の読出しを行う
4.8
表記について
 本書のレジスタ説明中のビット構成図では以下のように表記しています。
− 番号:
シーケンス番号
− コマンド:
ビットフィールド名
− 送受信方向:
HS_SPI コントローラに対するコマンドのリード、ライト属性
−
−
58
CONFIDENTIAL
R:
HS_SPI コントローラから読出し
W:
HS_SPI コントローラへの書込み
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.1
P R O G R A M M I N G
M A N U A L
RDSR1(Read Status Register-1)
RDSR1 コマンドは、ステータス・レジスタ1の内容を読み出します。
 コマンド送受信シーケンス
番号
1
2
コマンド
0x05
SR1
送受信方向
W
R
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)にステータス・レジスタ1の読出しコマンド(0x05)を書
き込みます。
シーケンス番号 2
VFLASH メモリから出力されたステータス・レジスタ 1 の内容が HS_SPI コントローラの受信 FIFO
(RX_FIFO)へ自動的に格納されます。
FIFO を読み出すことでステータス・レジスタ1の内容を得ることができます。
 タイミング・ダイアグラム
Figure 4-1 RDSR1 コマンド実行時のタイミング
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
59
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.2
P R O G R A M M I N G
M A N U A L
WREN(Write Enable)
WREN コマンドは、ステータス・レジスタ1の WEL ビットを 1 に設定します。
 コマンド送受信シーケンス
番号
1
コマンド
0x06
送受信方向
W
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)にステータス・レジスタ1の WEL を 1 に設定するコマン
ド(0x06)を書き込みます。
 タイミング・ダイアグラム
Figure 4-2 WREN コマンド実行時のタイミング
60
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.3
P R O G R A M M I N G
M A N U A L
WSR(Write Status Register)
WSR コマンドは、ステータス・レジスタ 1(SR1)の初期化を行います。
 コマンド送受信シーケンス
番号
1
2
3
4
コマンド
0x01
0x00
0x06
0x76
送受信方向
W
W
W
W
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)にステータス・レジスタ 1(SR1)の初期化を行うコマン
ド(0x01)を書き込みます。
シーケンス番号 2,3,4
HS_SPI コントローラの送信 FIFO(TX_FIFO)に 0x00, 0x06, 0x76 を書き込みます。
 タイミング・ダイアグラム
Figure 4-3 WSR コマンド実行時のタイミング
<注意事項>
−
WSR コマンドを発行する際は、ステータス・レジスタ 1 の WEL ビットを 1 に設定してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
61
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.4
P R O G R A M M I N G
M A N U A L
PP(Page Program)
PP コマンドは、指定した 24 ビットのメモリ領域のページアドレスから、指定した 256 バイトのデータを書
き込みます。
 コマンド送受信シーケンス
番号
1
コマンド
0x02
送受信方向
W
2
3
4
5~260
WA
WA
WA
WD0~
[7:0]
[15:8]
[23:16]
WD255
W
W
W
W
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)にシーケンス番号 2, 3, 4 で指定するページアドレスから、
WD0~WD255 で指定したデータをメモリ領域に書き込むコマンド(0x02)を書き込みます。
シーケンス番号 2,3,4
HS_SPI コントローラの送信 FIFO(TX_FIFO)に、書込みを行うメモリ領域のページアドレスを書き込み
ます。
ページアドレスは、24 ビットを下位から順に 8 ビットずつ書き込みます。
シーケンス番号 5~260
HS_SPI コントローラの送信 FIFO(TX_FIFO)にメモリ領域に書き込むデータを書き込みます。
 タイミング・ダイアグラム
Figure 4-4 PP コマンド実行時のタイミング
<注意事項>
−
PP コマンドを発行する際は、ステータス・レジスタ 1 の WEL ビットを 1 に設定してください。
−
メモリ領域への書込みはページ(256 バイト)単位に行われますので WD0~WD255 を省略するこ
とはできません。
−
メモリ領域のページアドレスの下位 8 ビットは 0 を指定してください。
−
PP コマンド実行開始時にステータス・レジスタ1の BUSY ビットが 1 となり、コマンド完了時に
0 となります。
−
BUSY ビットが 1 の間は次のコマンドを送信することはできません。
62
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.5
P R O G R A M M I N G
M A N U A L
SE(Sector Erase)
SE コマンドは、指定した 24 ビットのメモリ領域のセクタアドレスから、1 セクタ(4 K バイト)の領域を
消去します。
 コマンド送受信シーケンス
番号
1
コマンド
0x20
送受信方向
W
2
3
4
WA
WA
WA
[7:0]
[15:8]
[23:16]
W
W
W
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)に 1 セクタ(4 K バイト)の領域を消去するコマンド(0x20)
を書き込みます。
シーケンス番号 2,3,4
HS_SPI コントローラの送信 FIFO(TX_FIFO)に、消去を行うメモリ領域のセクタアドレスを書き込みま
す。
セクタアドレスは、24 ビットを下位から順に 8 ビットずつ書き込みます。
 タイミング・ダイアグラム
Figure 4-5 SE コマンド実行時のタイミング
<注意事項>
−
SE コマンドを発行する際は、ステータス・レジスタ 1 の WEL ビットを 1 に設定してください。
−
メモリ領域のセクタアドレスの下位 12 ビットは 0 を指定してください。
−
SE コマンド実行開始時にステータス・レジスタ1の BUSY ビットが 1 となり、コマンド完了時に
0 となります。
−
BUSY ビットが 1 の間は次のコマンドを送信することはできません。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
63
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.6
P R O G R A M M I N G
M A N U A L
BE(Block Erase)
BE コマンドは、指定した 24 ビットのメモリ領域のブロックアドレスから、1 ブロック(64 K バイト)の領
域を消去します。
 コマンド送受信シーケンス
番号
1
コマンド
0xD8
送受信方向
W
2
3
4
WA
WA
WA
[7:0]
[15:8]
[23:16]
W
W
W
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)に 1 ブロック(64 K バイト)の領域を消去するコマンド
(0xD8)を書き込みます。
シーケンス番号 2,3,4
HS_SPI コントローラの送信 FIFO(TX_FIFO)に、消去を行うメモリ領域のブロックアドレスを書き込み
ます。
ブロックアドレスは、24 ビットを下位から順に 8 ビットずつ書き込みます。
 タイミング・ダイアグラム
Figure 4-6 BE コマンド実行時のタイミング
<注意事項>
−
BE コマンドを発行する際は、ステータス・レジスタ 1 の WEL ビットを 1 に設定してください。
−
メモリ領域のセクタアドレスの下位 16 ビットは 0 を指定してください。
−
BE コマンド実行開始時にステータス・レジスタ1の BUSY ビットが 1 となり、コマンド完了時に
0 となります。
−
BUSY ビットが 1 の間は次のコマンドを送信することはできません。
64
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.7
P R O G R A M M I N G
M A N U A L
CE(Chip Erase)
CE コマンドは、メモリ領域の全消去を行います。
 コマンド送受信シーケンス
番号
1
コマンド
0xC7
送受信方向
W
2
3
4
5
6
7
8
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)にメモリ領域を全消去するコマンド(0xC7)を書き込みま
す。
 タイミング・ダイアグラム
Figure 4-7 CE コマンド実行時のタイミング
<注意事項>
−
CE コマンドを発行する際は、ステータス・レジスタ 1 の WEL ビットを 1 に設定してください。
−
CE コマンド実行開始時にステータス・レジスタ1の BUSY ビットが 1 となり、コマンド完了時に
0 となります。
−
BUSY ビットが 1 の間は次のコマンドを送信することはできません。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
65
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
4.8
P R O G R A M M I N G
M A N U A L
FRQIO(First Read Quad I/O)
FRQIO コマンドは、メモリ領域の読出しを行います。
 コマンド送受信シーケンス
番号
1
コマンド
0xEB
送受信方向
W
2
3
4
RA
RA
RA
[7:0]
[15:8]
[23:16]
W
W
W
5
6
7
8~
0xA0
Dummy
Dummy
RD0~
W
R
R
R
シーケンス番号 1
HS_SPI コントローラの送信 FIFO(TX_FIFO)にメモリ領域を読み出すコマンド(0xEB)を書き込みま
す。
FRQIO コマンドを連続して実行する場合、2 回目以降はシーケンス番号1を省略することが出来ます。
シーケンス番号 2,3,4
HS_SPI コントローラの送信 FIFO(TX_FIFO)に、読出しを行うメモリ領域のアドレスを書き込みます。
アドレスは 24 ビットを下位から順に 8 ビットずつ書き込みます。
シーケンス番号 5
HS_SPI コントローラの送信 FIFO(TX_FIFO)に、0xA0 を書き込みます。
シーケンス番号 6,7
HS_SPI コントローラの受信 FIFO(RX_FIFO)から Dummy 読出しを行います。
読み出したデータは無効なデータとなります。
シーケンス番号 8~
VFLASH メモリから出力されたメモリ領域に記録されたデータが HS_SPI コントローラの受信 FIFO
(RX_FIFO)へ格納されます。
FIFO を読み出すことでメモリ領域に記録されたデータを得ることができます。
VFLASH メモリ内部で自動的にアドレスが+1 されるため、次のアドレスのメモリ領域データを得る場合、
続けて FIFO を読み出すことでデータを得ることができます。
66
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
4. コマンド
F L A S H
P R O G R A M M I N G
M A N U A L
 タイミング・ダイアグラム
Figure 4-8 FRQIO コマンド実行時のタイミング
Figure 4-9 シーケンス番号 1 を省略した FRQIO コマンド実行時のタイミング
<注意事項>
−
他のコマンドを実行した後に FRQIO コマンドを実行する場合、シーケンス番号 1 を省略すること
はできません。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
67
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
5.
P R O G R A M M I N G
M A N U A L
動作説明
HS_SPI コントローラおよび VFLASH メモリの動作について説明します。
 初期化
 CPU ライトモード
 リードモード
68
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
5.1
P R O G R A M M I N G
M A N U A L
初期化
I/O ポート、HS_SPI コントローラおよび VFLASH メモリの初期化方法について説明します。
I/O ポートの初期化
HS_SPI コントローラを VFLASH メモリに接続するために I/O ポートを設定します。
PFR7, PDOR7, DDR7, EPFR26 の各レジスタに対して下記の設定を行ってください。
−
−
−
−
PFR7:0x003F
PDOR7:bit6=0, bit10=0
DDR7:bit6=1, bit10=1
EPFR26:0x00015555
HS_SPI コントローラの初期化
HS_SPI コントローラを初期化するには、HS_SPI ペリフェラル通信設定レジスタ(HSSPIn_PCC0~3)に対
して下記の設定を行い、HS_SPI 制御レジスタの CSEN ビットを 1 に設定して、HS_SPI コントローラをダイ
レクトモードに設定します。
−
−
−
−
−
クロック分周比設定ビット(CDRS)
:1 以上(動作クロックに応じて 1 以上に設定してください)
エンディアン設定ビット(SENDIAN):1
シリアルデータ送受信タイミング設定ビット(ACES)
:0
シリアルクロック極性設定ビット(CPOL)
:0
クロック位相設定ビット(CPHA):0
VFLASH メモリの初期化
WREN コマンドを実行した後、WSR コマンドを実行します。RDSR コマンドでステータス・レジスタ 1 を
監視して BUSY ビットが 0 になれば初期化が完了します。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
69
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
Figure 5-1 初期化 フローチャート
<注意事項>
−
I/O ポート、HS_SPI コントローラの設定について詳しくはペリフェラルマニュアルを参照してくだ
さい。
70
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
5.2
P R O G R A M M I N G
M A N U A L
CPU ライトモード
CPU ライトモードの設定と、このモード上で実行する VFLASH の消去/書込み方法について説明します。
HS_SPI コントローラの設定
HS_SPI コントローラおよび VFLASH メモリの初期化が完了した時点では、HS_SPI コントローラはダイレ
クトモードに設定されているため、改めて設定を行う必要はありません。
リードモードを使用した後に CPU ライトモードに設定する場合は、5.1 初期化の HS_SPI コントローラの初
期化に従って設定を行ってください。
<注意事項>
−
HS_SPI コントローラの設定について詳しくはペリフェラルマニュアルを参照してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
71
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
VFLASH メモリの消去
5.2.1
VFLASH メモリの消去方法について説明します。
Figure5-2 VFLASH メモリの消去 フローチャート
1.
2.
3.
4.
5.
6.
消去を始める前に CPU ライトモードに設定します。
WREN コマンドを実行してステータス・レジスタ 1 の WEL ビットを 1 に設定します。
消去を行う単位(セクタ/ブロック/領域全体)に応じたコマンドを実行します。
RDSR1 コマンドを実行してステータス・レジスタ 1 の値を読み出します。
ステータス・レジスタ 1 の BUSY ビットが 0 になるまで 4.に戻って繰り返します。
引き続き他の領域の消去を行う場合、2.に戻って繰り返します。
<注意事項>
−
消去コマンドを実行するとステータス・レジスタ 1 の WEL ビットは 0 に戻るため、消去コマンド
実行ごとに WREN コマンドを実行してください。
72
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
P R O G R A M M I N G
M A N U A L
VFLASH メモリの書込み
5.2.2
VFLASH メモリの書込み方法について説明します。
Figure5-3 VFLASH メモリの書き込み フローチャート
1.
2.
3.
4.
5.
6.
書込みを始める前に CPU ライトモードへ移行します。
WREN コマンドを実行してステータス・レジスタ 1 の WEL ビットを 1 に設定します。
PP コマンドを実行します。
RDSR1 コマンドを実行してステータス・レジスタ 1 の値を読み出します。
ステータス・レジスタ 1 の BUSY ビットが 0 になるまで 4.に戻って繰り返します。
引き続き他の領域の書込みを行う場合、2.に戻って繰り返します。
<注意事項>
−
PP コマンドを実行するとステータス・レジスタ 1 の WEL ビットは 0 に戻るため、PP コマンド実
行ごとに WREN コマンドを実行してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
73
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
5.3
P R O G R A M M I N G
M A N U A L
リードモード
リードモードの設定と、このモード上で実行する VFLASH の読出し方法について説明します
HS_SPI コントローラの設定
HS_SPI コントローラをリードモードに設定するには、HS_SPI ペリフェラル通信設定レジスタ
(HSSPIn_PCC0~3)に対して下記の設定を行い、HS_SPI 制御レジスタの CSEN ビットを 0 に設定して、
HS_SPI コントローラをコマンドシーケンサモードに設定します。
−
−
−
−
−
クロック分周比設定ビット(CDRS)
:1 以上(動作クロックに応じて 1 以上に設定してください)
エンディアン設定ビット(SENDIAN):1
シリアルデータ送受信タイミング設定ビット(ACES)
:1
シリアルクロック極性設定ビット(CPOL)
:0
クロック位相設定ビット(CPHA):0
次に HS_SPI コマンドシーケンサ設定レジスタ(HSSPIn_RDCSDC0~7)に対して、FRQIO コマンドのコ
マンド送受信シーケンスを元に設定を行います。
<注意事項>
−
HS_SPI コントローラの設定について詳しくはペリフェラルマニュアルを参照してください。
74
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
5.3.1
P R O G R A M M I N G
M A N U A L
VFLASH メモリの消去
VFLASH メモリの読出し方法について説明します。
Figure5-4 VFLASH メモリの消去 フローチャート
1. 読出しを始める前にリードモードに設定します。
2. VFLASH メモリが割り当てられているアドレスに対し、CPU や DMA コントローラ等のペリフェラルか
ら読出しアクセスを行います。
3. 引き続き他の領域の読出しを行う場合、2.に戻って繰り返します。
<注意事項>
−
VFLASH メモリが割り当てられているアドレスについては、データシートを参照してください。
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
75
CHAPTER 2: VFLASH メモリ
5. 動作説明
F L A S H
76
CONFIDENTIAL
P R O G R A M M I N G
M A N U A L
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 3: フラッシュセキュリティ
フラッシュセキュリティ機能によりフラッシュメモリのデータを保護できます。
フラッシュセキュリティの概要, 動作について説明します。
1. 概要
2. 動作説明
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
77
CHAPTER 3: フラッシュセキュリティ
1. 概要
F L A S H
1.
P R O G R A M M I N G
M A N U A L
概要
フラッシュセキュリティの概要を説明します。
フラッシュメモリのセキュリティコード領域に保護コード 0x0001 を書き込むと、フラッシュメモリへのア
クセスを制限できます。フラッシュメモリを一度保護すると、フラッシュメモリの消去を行うまで保護され
た状態は解除できません。保護された状態を解除しない限り、外部端子からフラッシュメモリのデータを読
出し/書込みをすることはできません。
この機能はフラッシュメモリに格納される自己完結型プログラムやデータのセキュリティを必要とするア
プリケーションに適しています。
Table 1-1 にセキュリティコードのアドレスと保護コードを示します。
Table 1-1 セキュリティコードのアドレスと保護コード
78
CONFIDENTIAL
アドレス
保護コード
0x0040_0000
0x0001
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 3: フラッシュセキュリティ
2. 動作説明
F L A S H
2.
P R O G R A M M I N G
M A N U A L
動作説明
フラッシュセキュリティの動作を説明します。
セキュリティのかけ方
セキュリティコードのアドレスに保護コード 0x0001 を書き込みます。すべてのリセット要因または電源再
投入後に有効となりセキュリティがかかります。
セキュリティの解除
1. フラッシュのフラッシュマクロに対してフラッシュ消去コマンドを発行します。
2. フラッシュ消去実行後のすべてのリセット要因または電源再投入で、セキュリティは解除されます。
セキュリティ有効時の動作
セキュリティ有効時の動作は、各モードにより動作が異なります。
Table 2-1 に各モードにおけるセキュリティ動作について示します。
Table 2-1 セキュリティ有効時のフラッシュ動作
フラッシュへのアクセス
モード
モード
JTAG
端子
フラッシュ
その他の
MD[1:0]
消去
コマンド
ユーザモード
00
可能
可能
有効データ
不可能
シリアルライタモード
01
可能
不可能
無効データ
不可能
読出し
端子からの
アクセス
<注意事項>
−
保護コードは、フラッシュプログラミングの最後に書き込むことを推奨します。
これは、プログラミング中、不意に保護されてしまうことを防ぐためです。
−
ユーザモード時は、セキュリティ有効時でもフラッシュメモリに対して制限はありません。
しかし、セキュリティ有効時は JTAG 端子から内部へアクセスできないように JTAG 端子は固定さ
れます。セキュリティ解除は JTAG 端子を通して行えないため、解除を行う場合はシリアルライタ
を使用してフラッシュ消去を行ってください。
−
セキュリティをかけた状態でのフラッシュメモリ障害解析は一切行えません。
−
VFLASH メモリにはセキュリティ機能はありません。
February 2, 2015, S5E2DH_MN709-00013-1v0-J
CONFIDENTIAL
79
CHAPTER 3: フラッシュセキュリティ
2. 動作説明
F L A S H
80
CONFIDENTIAL
P R O G R A M M I N G
M A N U A L
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 4: シリアル書込み接続
本シリーズは、フラッシュメモリ及び VFLASH メモリのシリアルオンボード書込み(Spansion 標準)に対応し
ています。本章では、フラッシュメモリ及び VFLASH メモリのシリアル書込みについて、Spansion 製シリ
アルプログラマを用いた場合の基本構成を説明します。
1. シリアルプログラマ
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
81
CHAPTER 4: シリアル書込み接続
1. シリアルプログラマ
F L A S H
1.
P R O G R A M M I N G
M A N U A L
シリアルプログラマ
Spansion 製シリアルプログラマ(ソフトウェア)は、フラッシュメモリ及び VFLASH メモリ内蔵マイコン全製
品を対象にしたオンボードプログラミングツールです。
本シリアルプログラマは、PC との I/F(RS-232C, USB)により、2 種類のツールを用意していますので、環境
に合わせてご利用いただけます。
なお、USB ファンクションを搭載している品種は USB-シリアル変換をすることなくパソコンとマイコンを
ダイレクトに接続してオンボード書込みができます。
1.1. 基本構成
1.2. 使用端子
82
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 4: シリアル書込み接続
1. シリアルプログラマ
F L A S H
1.1
P R O G R A M M I N G
M A N U A L
基本構成
基本構成について説明します。
SPANSION MCU Programmer(クロック非同期シリアル書込み)の基本構成
SPANSION MCU Programmer は、パソコンとユーザシステムを RS-232C ケーブルで接続することで、クロッ
ク非同期シリアル通信によりユーザシステムに実装されているマイコンに内蔵されているフラッシュメモ
リ及び VFLASH メモリへデータを書き込みます。
本シリーズでは水晶振動子、または内蔵高速 CR 発振器を使用してシリアル書込み(UART 通信モード)する
ことが可能です。
SPANSION MCU Programmer の基本構成を Figure 1-1、システム構成を Table 1-1 に示します。
Figure 1-1 SPANSION MCU Programmer の基本構成
ユーザシステム
※
RS-232C
※RS-232C のドライバ IC が別途必要です。
Table 1-1 SPANSION MCU Programmer のシステム構成
名称
ソフトウェア
MCU Programmer
(入手方法は弊社営業部門までお問い合わせください。)
RS-232C ケーブル
市販品
February 2, 2015, S6E2D_MN709-00013-1v0-J
CONFIDENTIAL
仕様
SPANSION
83
CHAPTER 4: シリアル書込み接続
1. シリアルプログラマ
F L A S H
P R O G R A M M I N G
M A N U A L
SPANSION MCU Programmer の接続例
SPANSION MCU Programmer の接続例について説明します。
 原発振に水晶振動子を使用する場合
原発振に水晶振動子を使用する場合の SPANSION MCU Programmer 接続例を Figure 1-2 に、入力可能な周波
数と対応する通信ボーレートを Table 1-2 に示します。
Figure 1-2 水晶振動子を使用する場合の接続例
ユーザシステム
VCC
原発振
MD1
シリアル書込み時"0"
10kΩ
シリアル書込み時"1"
●
●
X0
●
X1
●
MD0
●
本シリーズ
10kΩ
INITX
10kΩ
シリアル書込み
UART 通信モード時"0"
10kΩ
RS-232C
ドライバ
DNU0
●
●
●
●
P60
DNU1
*1
10kΩ
●
P22/SIN0_0
P23/SOT0_0
RS-232C
VSS
(注意事項)プルアップ抵抗値は一例です。システムごとに最適な抵抗値を選択してください。
*1:VFLASH メモリ搭載品のみの対応となります。
Table 1-2 クロック非同期シリアル通信時の入力可能な発振周波数と通信ボーレート
原発振周波数
84
CONFIDENTIAL
通信ボーレート
4 MHz
9600 bps
8 MHz
19200 bps
16 MHz
38400 bps
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 4: シリアル書込み接続
1. シリアルプログラマ
F L A S H
P R O G R A M M I N G
M A N U A L
 原発振に内蔵高速 CR 発振器を使用する場合
原発振に内蔵高速 CR 発振器を使用する場合の SPANSION MCU Programmer 接続例を Figure 1-3 に示します。
X0/X1 端子に水晶振動子、または外部クロックを接続しない場合に内蔵高速 CR 発振器を使用して通信を行
います。
内蔵高速 CR 発振器を使用した場合の通信ボーレートは 9600[bps]になります。
また、内蔵高速 CR 発振器を使用する場合、以下の制限があります。
− 内蔵高速 CR 発振器の発振周波数は温度/電圧により変動するため、許容ボーレート誤差範囲を超える
場合があります。
− 内蔵高速 CR 発振器を使用する場合は、ご使用する製品の『データシート』の『内蔵 CR 発振規格』
を確認してください。
Figure 1-3 内蔵高速 CR 発振器を使用する場合の接続例
ユーザシステム
VCC
MD1
シリアル書込み時 0
10kΩ
シリアル書込み時 1
●
●
MD0
●
本シリーズ
INITX
10kΩ
10kΩ
シリアル書込み
UART 通信モード時 0
10kΩ
RS-232C
ドライバ
DNU0
●
●
●
●
P60
DNU1
*1
10kΩ
●
P22/SIN0_0
P23/SOT0_0
RS-232C
VSS
(注意事項)プルアップ抵抗値は一例です。システムごとに最適な抵抗値を選択してください。
*1:VFLASH メモリ搭載品のみの対応となります。
February 2, 2015, S6E2D_MN709-00013-1v0-J
CONFIDENTIAL
85
CHAPTER 4: シリアル書込み接続
1. シリアルプログラマ
F L A S H
P R O G R A M M I N G
M A N U A L
SPANSION USB DIRECT Programmer(USB シリアル書込み)の基本構成
SPANSION USB DIRECT Programmer は、パソコンとユーザシステムを USB ケーブルで接続することで、USB
通信モードによりユーザシステムに実装されているマイコンに内蔵されているフラッシュメモリ及び
VFLASH メモリへデータを書き込みます。
SPANSION USB DIRECT Programmer の基本構成を Figure 1-4、システム構成を Table 1-3 に示します。
Figure 1-4 SPANSION USB DIRECT Programmer の基本構成
USB シリアル通信
USB
ユーザシステム
Table 1-3 SPANSION USB DIRECT Programmer のシステム構成
名称
仕様
SPANSION USB DIRECT
ソフトウェア
Programmer
(入手方法は弊社営業部門までお問い合わせください。)
USB ケーブル
市販品
接続例については SPANSION USB DIRECT Programmer のマニュアル(HELP)を確認してください。
86
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015
CHAPTER 4: シリアル書込み接続
1. シリアルプログラマ
F L A S H
P R O G R A M M I N G
M A N U A L
Figure 1-5 SPANSION USB DIRECT Programmer の接続例
ユーザシステム
VCC
MD1
シリアル書込み時 0
4MHz
10kΩ
シリアル書込み時 1
●
●
X0
●
X1
●
MD0
●
本シリーズ
●
シリアル書込み時 0
P23/SOT0_0
●
10kΩ
USB
INITX
10kΩ
コネクタ
レベル
Vbus
DNU0
●
シフタ
●
P60
51kΩ
DNU1
D-
*1
UDM0
27Ω
3.3V
100kΩ
●
1.5kΩ
D+
GND
P61/UHCONX
10Ω
UDP0
●
27Ω
●
VSS
(注意事項) VCC=3.3V 時の接続例です。レベルシフタはシステムごとに適宜挿入願います。
プルアップ・プルダウン抵抗値は一例です。システムごとに最適な抵抗値を選択してください。
*1:VFLASH メモリ搭載品のみの対応となります。
February 2, 2015, S6E2D_MN709-00013-1v0-J
CONFIDENTIAL
87
CHAPTER 4: シリアル書込み接続
1. シリアルプログラマ
F L A S H
1.2
P R O G R A M M I N G
M A N U A L
使用端子
使用端子について説明します。
Table 1-4 シリアル書込みに使用する端子
端子
機能
補足説明
MD0=H, MD1=L に設定した状態で外部リセットまたは電源投入するとシリアル書込み
MD0, MD1
モード端子
モードとなります。
なお、プルアップ/プルダウン抵抗を付ける場合は、配線を引き回さないでください。
シリアル書込みモード時に使用可能な原発振クロック(メインクロック)周波数は対応する
X0, X1
発振用端子
「データシート」を参照してください。
(クロック非同期通信の場合は制限があります。詳細は Table 1-2 を確認してください。)
P23/SOT0_0
P22/SIN0_0
P60
P61/UHCONX
UART シリアル
通信モードを UART とした場合、シリアル書込みモードが起動し、通信が開始された時点
データ出力端子/
でシリアルデータ出力端子となります。
USB 選択端子
通信モードを USB とした場合は、P23=L を設定します。
クロック同期・
通信を開始するまでの本端子の入力レベルを"H"にするとクロック非同期通信モードとな
非同期選択端子/
り、L にするとクロック同期通信モードとなります。通信モードを UART とした場合、シ
UART シリアル
リアル書込みモードが起動し、通信が開始された時点で UART シリアルデータ入力端子と
データ入力端子
して使用できます。
通信モード選択端子
UDP0 用プルアップ制御
端子
シリアル書込みモードに移行するリセット時の本端子の入力レベルにより通信モードを決
定します。H のときは USB 通信モードとなり、L の時は UART 通信モードとなります。
通信モードを USB とした場合、D+側のプルアップを制御します。
UHCONX=L : プルアップ抵抗接続
UHCONX=H : プルアップ抵抗切断
UDP0
USB 入出力端子
通信モードを USB とした場合、D+側の入出力端子となります。
UDM0
USB 入出力端子
通信モードを USB とした場合、D-側の入出力端子となります。
INITX
リセット端子
VCC
電源供給端子
VSS
GND 端子
DNU0,1
-
88
CONFIDENTIAL
書込み時、マイコンの電源はユーザシステムから供給してください。
DNU0,1 は短絡し 10KΩ程度のプルアップを行ってください。
VFLASH メモリ搭載品のみの対応となります。
S6E2DH_MN709-00013-1v0-J, February 2, 2015
F L A S H
P R O G R A M M I N G
M A N U A L
主な変更内容
ページ
-
場所
-
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
変更箇所
Initial release
89
F L A S H
90
CONFIDENTIAL
P R O G R A M M I N G
M A N U A L
S6E2DH_MN709-00013-1v0-J, February 2, 2015
F L A S H
P R O G R A M M I N G
M A N U A L
MN709-00013-1v0-J
Spansion・Controller Manual
S6E2DH/DF/D5/D3 シリーズ
32 ビット・マイクロコントローラ
FM4 ファミリ
フラッシュプログラミングマニュアル
2015 年 2 月
Rev. 1.0
発行:Spansion Inc.
編集:コーポレートコミュニケーション部
February 2, 2015, S6E2DH_MN709-00013-1v0-J
CONFIDENTIAL
91
F L A S H
P R O G R A M M I N G
M A N U A L
免責事項
本資料に記載された製品は、通常の産業用, 一般事務用, パーソナル用, 家庭用などの一般的用途 (ただし、用途の限定はあ
りません) に使用されることを意図して設計・製造されています。(1) 極めて高度な安全性が要求され、仮に当該安全性が
確保されない場合、社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 (原子力施設における
核反応制御, 航空機自動飛行制御, 航空交通管制, 大量輸送システムにおける運行制御, 生命維持のための医療機器, 兵器シ
ステムにおけるミサイル発射制御等をいう) 、ならびに(2) 極めて高い信頼性が要求される用途 (海底中継器, 宇宙衛星等を
いう) に使用されるよう設計・製造されたものではありません。上記の製品の使用法によって惹起されたいかなる請求また
は損害についても、Spansion は、お客様または第三者、あるいはその両方に対して責任を一切負いません。半導体デバイス
はある確率で故障が発生します。当社半導体デバイスが故障しても、結果的に人身事故, 火災事故, 社会的な損害を生じさ
せないよう、お客様において、装置の冗長設計, 延焼対策設計, 過電流防止対策設計, 誤動作防止設計などの安全設計をお願
いします。本資料に記載された製品が、外国為替及び外国貿易法、米国輸出管理関連法規などの規制に基づき規制されてい
る製品または技術に該当する場合には、本製品の輸出に際して、同法に基づく許可が必要となります。
商標および注記
このドキュメントは、断りなく変更される場合があります。本資料には Spansion が開発中の Spansion 製品に関する情報が
記載されている場合があります。Spansion は、それらの製品に対し、予告なしに仕様を変更したり、開発を中止したりする
権利を有します。このドキュメントに含まれる情報は、現状のまま、保証なしに提供されるものであり、その正確性, 完全
性, 実施可能性および特定の目的に対する適合性やその市場性および他者の権利を侵害しない事を保証するものでなく、ま
た、明示, 黙示または法定されているあらゆる保証をするものでもありません。Spansion は、このドキュメントに含まれる
情報を使用することにより発生したいかなる損害に対しても責任を一切負いません。
Copyright © 2015 Spansion All rights reserved.
商標:Spansion®, Spansion ロゴ (図形マーク), MirrorBit®, MirrorBit® Eclipse™, ORNAND™, Easy DesignSim™, Traveo™及びこれら
の組合せは、米国・日本ほか諸外国における Spansion LLC の商標です。第三者の社名・製品名等の記載はここでは情報提
供を目的として表記したものであり、各権利者の商標もしくは登録商標となっている場合があります。
92
CONFIDENTIAL
S6E2DH_MN709-00013-1v0-J, February 2, 2015