本ドキュメントは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 消去指定の追加が35s以内になされ なかった。 残りをやり直すフラグを立て、いった ん消去を終える。 内部アドレス読出し 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