アプリケーションノート

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L

R01AN0567JJ0106
Rev.1.06
2016.03.31
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア

要旨
本アプリケーションノートでは、ルネサス エレクトロニクス製 MCU を使用した Micron Technology, Inc.
社製 M45PE シリーズの SPI Serial Flash memory 制御方法とサンプルコードの使用方法を説明します。
なお、本サンプルコードは、スレーブデバイスとしての Serial Flash memory を制御するための上位層に位置するソフトウェアです。
別途、マスタデバイスとしての各 MCU 個別の SPI モードを制御するための下位層に位置するソフトウェア（クロック同期式シングルマスタ制御ソフトウェア）を用意していますので、以下から入手してください。なお、クロック同期式シングルマスタ制御ソフトウェアにおいて、新規 MCU が対応可能になった場合でも、本アプリケーションノートの更新が間に合わないことがあります。最新のサポート MCU とその制御ソフト
ウェアの情報は、以下の URL のページに記載されている「クロック同期式シングルマスタドライバ（下位層ソフトウェア）」を参照してください。
 SPI/QSPI シリアルフラッシュメモリ制御、QSPI シリアル相変化メモリ制御
http://japan.renesas.com/driver/spi_serial_flash

動作確認デバイス
Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

Serial Flash memory
動作確認に使用した MCU
RX600 シリーズ

：RX610, RX62N, RX63N, RX63T（SCI を使用）
：RX62N, RX63N, RX63T（RSPI を使用）

RX200 シリーズ

：RX210，RX21A，RX220（SCI を使用）
：RX210，RX21A，RX220（RSPI を使用）

RX100 シリーズ

：RX111（SCI を使用）
：RX111（RSPI を使用）

78K0R/Kx：78K0R/KE3-L（SAU を使用）

RL78/G1x：RL78/G14，RL78/G1C（SAU を使用）

RL78/L1x：RL78/L12，RL78/L13C，RL78/L1C（SAU を使用）

本アプリケーションノートを他のマイコンや他メモリへ適用する場合、そのマイコンやメモリの仕様に合わせて変更し、十分評価してください。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 1 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
目次
1.

仕様 .................................................................................................................................. 4

2.

動作確認条件 .................................................................................................................... 5

2.1

RX ファミリ .................................................................................................................................. 5

2.2

RL78 ファミリ、78K0R/Kx3-L ................................................................................................... 13

3.

関連アプリケーションノート ......................................................................................... 21

4.

ハードウェア説明........................................................................................................... 22

4.1

使用端子一覧 ............................................................................................................................... 224.2

参考回路 ...................................................................................................................................... 22

ソフトウェア説明........................................................................................................... 23

5.
5.1

動作概要 ...................................................................................................................................... 23

5.1.1

クロック同期式モードで発生させるタイミング .................................................................. 24

5.1.2

Serial Flash memory の S#端子制御 ..................................................................................... 24

5.1.3

Serial Flash memory 命令コード .......................................................................................... 25

5.1.4

Serial Flash memory ステータスレジスタ............................................................................ 25

5.2

ソフトウェア制御概要 ................................................................................................................ 26

5.2.1

ソフトウェア構成 ................................................................................................................. 26

5.2.2

チップセレクト端子初期化（R_SPI_FLASH_Init_Port()） ................................................. 27

5.2.3

チップセレクト端子制御（FLASH_SET_CS ()） ................................................................ 27

5.2.4

ソフトウェア・ウェイト（mtl_wait_lp()） ........................................................................... 275.2.5

シリアル許可（R_SIO_Enable()） ....................................................................................... 27

5.2.6

コマンド送信（R_SPI_FLASH_Send_Cmd ()）.................................................................. 28

5.2.7

データ送信（R_SIO_Tx_Data ()） ....................................................................................... 28

5.2.8

データ受信（R_SIO_Rx_Data ()）....................................................................................... 28

5.2.9

シリアル禁止（R_SIO_Disable ()） ..................................................................................... 28

5.3

必要メモリサイズ ....................................................................................................................... 29

5.3.1

RX ファミリ .......................................................................................................................... 29

5.3.2

RL78 ファミリ、78K0R/Kx3-L ............................................................................................. 37

5.4

ファイル構成 ............................................................................................................................... 425.5

定数一覧 ...................................................................................................................................... 435.5.1

戻り値 ................................................................................................................................... 43

5.5.2

コマンド定義......................................................................................................................... 43

5.5.3

各種定義 ................................................................................................................................ 44

5.6

構造体／共用体一覧 .................................................................................................................... 45

5.7

変数一覧 ...................................................................................................................................... 45

5.8

関数一覧 ...................................................................................................................................... 46

5.9関数の詳細 .................................................................................................................................. 47

5.9.1

ドライバ初期化処理 .............................................................................................................. 47

5.9.2

ステータス読み出し処理 ...................................................................................................... 48

5.9.3

データ読み出し処理 .............................................................................................................. 49

5.9.4

データ書き込み処理 .............................................................................................................. 50

5.9.5

ページ消去処理 ..................................................................................................................... 51

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 2 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.6

セクタ消去処理 ..................................................................................................................... 52

5.9.7

ディープパワーダウン処理 ................................................................................................... 53

5.9.8

ディープパワーダウン解除処理............................................................................................ 54

5.9.9

ID 読み出し処理 .................................................................................................................... 55

5.9.10 ポート初期化処理（内部関数）............................................................................................ 56
5.9.11 コマンド送信処理（内部関数）............................................................................................ 57
5.9.12 書き込み許可コマンド処理（内部関数） ............................................................................. 58
5.9.13 書き込み禁止コマンド処理（内部関数） ............................................................................. 59
5.9.14 ステータスレジスタ読み出しコマンド処理（内部関数） .................................................... 60
5.9.15 ビジーウェイト処理（内部関数） ........................................................................................ 61
5.9.16 ページ書き込みコマンド処理（内部関数） ......................................................................... 62
5.9.17 読み出しコマンド処理（内部関数） .................................................................................... 64
5.9.18 消去コマンド処理（内部関数）............................................................................................ 65
5.9.19 ディープパワーダウンコマンド処理（内部関数） ............................................................... 66
5.9.20 ディープパワーダウン解除コマンド処理（内部関数） ....................................................... 67
5.9.21 ID 読み出しコマンド処理（内部関数） ................................................................................ 68
5.9.22 コマンド設定処理（内部関数）............................................................................................ 69

応用例 ............................................................................................................................ 70

6.
6.1

Serial Flash memory 制御ソフトウェアの設定 .......................................................................... 71

6.1.1

R_SPI_FLASH_M45PE.h ..................................................................................................... 71

6.1.2

R_SPI_FLASH_sfr.h ............................................................................................................. 72

6.1.3

R_SPI_FLASH_m45pe_io.h ................................................................................................. 74

6.1.4

R_SPI_FLASH_m45Pe_io.c ................................................................................................. 75

7.

使用上の注意事項........................................................................................................... 76

7.1

組み込み時の注意事項 ................................................................................................................ 76

7.2

キャッシュ搭載の MCU を使用する場合 .................................................................................... 76

7.3

同一シリーズの他容量に対応する場合 ....................................................................................... 76

7.4

他スレーブデバイスを使用する場合........................................................................................... 76

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 3 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
1.

仕様

ルネサス エレクトロニクス製 MCU を使用し、Micron Technology, Inc.社製 M45PE シリーズの SPI SerialFlash memory を制御します。
別途、MCU 個別のクロック同期式シングルマスタ制御ソフトウェアが必要です。
表 1-1 に使用する周辺機器と用途を、図 1-1 に使用例を示します。
以下に、機能概略を示します。
 マスタデバイスをルネサス エレクトロニクス製 MCU、スレーブデバイスを Micron Technology, Inc.社製
M45PE シリーズの SPI Serial Flash memory としたデバイスドライバです。
 MCU 内蔵のシリアル通信機能（クロック同期式モード）を使用し、SPI モードで制御します。また、ユーザ設定したシリアル I/O 1 チャネルの使用が可能です。複数チャネルの使用は、できません。
 同一型名、かつ最大 2 個の SPI Serial Flash memory の制御が可能です。
 通信速度レートは、ユーザ設定可能です。（固定値）
 ビッグエンディアン／リトルエンディアンでの動作が可能です。（使用 MCU 依存）

表 1-1 使用する周辺機器と用途
周辺機器
MCU 内蔵のシリアル通信機能（クロック同期式モード）
Port

用途
シリアル通信機能（クロック同期式モード）による
SPI スレーブデバイスとの通信
1ch（必須）SPI スレーブデバイスセレクト制御信号用
使用デバイス数分のポートが必要（必須）

ルネサス
エレクロトニクス
MCU
Port
クロック同期式シリアルスレーブデバイスセレクト制御信号
クロッ ク同期式（３線式）シリアル

Micron Technology,
Inc.社製M45PE
シリーズSPI
Serial Flash memory

図 1-1 使用例

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 4 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
2.

動作確認条件本アプリケーションノートのサンプルコードは、以下の動作条件で動作を確認しています。

2.1

RX ファミリ(1)

RX610 SCI の場合
表 2-1 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX610 グループ（プログラム ROM 2MB/RAM 128KB）

動作周波数（マイコン）

ICLK：100MHz、PCLK：50MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.07.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラパッケージ （ツールチェーン 1.0.0.0）
コンパイルオプション
統合開発環境のデフォルト設定を使用しています。
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.00

評価に使用したソフトウェア

RX610 用 SCI を使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN0534JJ) Ver.2.00
Renesas Starter Kit for RX610

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 5 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(2)

RX62N RSPI の場合
表 2-2 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX62N グループ（プログラム ROM 512KB RAM 96KB）

動作周波数

ICLK：96MHz、PCLK：48MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.0.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX62N グループ RSPI を使ったクロック同期式シングルマスタ制御ソ
フトウェア(R01AN0322JJ) Ver.2.04
Renesas Starter Kit for RX62N

Ｃコンパイラ

評価に使用したボード(3)

RX62N SCI の場合
表 2-3 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX62N グループ（プログラム ROM 512KB RAM 96KB）

動作周波数

ICLK：96MHz、PCLK：48MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.0.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX62N グループ SCI を使ったクロック同期式シングルマスタ制御ソフ
トウェア(R01AN1088JJ) Ver.2.01
Renesas Starter Kit for RX62N

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 6 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(4)

RX63N RSPI の場合
表 2-4 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX63N グループ（プログラム ROM 1MB RAM 128KB）

動作周波数

ICLK：96MHz、PCLK：48MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ RSPI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1196JJ) Ver.2.04.R01
Renesas Starter Kit for RX63N

Ｃコンパイラ

評価に使用したボード(5)

RX63N SCI の場合
表 2-5 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX63N グループ（プログラム ROM 1MB RAM 128KB）

動作周波数

ICLK：96MHz、PCLK：48MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ SCI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1229JJ) Ver.2.01
Renesas Starter Kit for RX63N

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 7 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(6)

RX63T RSPI の場合
表 2-6 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX63T グループ（プログラム ROM 512KB RAM 48KB）

動作周波数

ICLK：96MHz、PCLK：48MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
CubeSuite+ V2.00.00
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 2.00.00）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ RSPI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1196JJ) Ver.2.04.R01
Renesas Starter Kit for RX63T

Ｃコンパイラ

評価に使用したボード(7)

RX63T SCI の場合
表 2-7 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX63T グループ（プログラム ROM 512KB RAM 48KB）

動作周波数

ICLK：96MHz、PCLK：48MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
CubeSuite+ V2.00.00
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 2.00.00）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ SCI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1229JJ) Ver.2.01.R01
Renesas Starter Kit for RX63T

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 8 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(8)RX210 RSPI の場合
表 2-8 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX210 グループ（プログラム ROM 512KB RAM 64KB）

動作周波数

ICLK：50MHz、PCLK：25MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ RSPI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1196JJ) Ver.2.04.R01
Renesas Starter Kit for RX210

Ｃコンパイラ

評価に使用したボード(9)RX210 SCI の場合
表 2-9 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX210 グループ（プログラム ROM 512KB RAM 64KB）

動作周波数

ICLK：50MHz、PCLK：25MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ SCI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1229JJ) Ver.2.01.R01
Renesas Starter Kit for RX210

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 9 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(10) RX21A RSPI の場合

表 2-10 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX21A グループ（プログラム ROM 512KB RAM 64KB）

動作周波数

ICLK：50MHz、PCLK：25MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ RSPI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1196JJ) Ver.2.04.R01
株式会社北斗電子製 HSBRX21AP-B

Ｃコンパイラ

評価に使用したボード(11) RX21A SCI の場合

表 2-11 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX21A グループ（プログラム ROM 512KB RAM 64KB）

動作周波数

ICLK：50MHz、PCLK：25MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.00.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ SCI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1229JJ) Ver.2.01.R01
株式会社北斗電子製 HSBRX21AP-B

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 10 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(12) RX220 RSPI の場合

表 2-12 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX220 グループ（プログラム ROM 256KB RAM 16KB）

動作周波数

ICLK：32MHz、PCLK：32MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.01.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ RSPI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1196JJ) Ver.2.04.R01
Renesas Starter Kit for RX220

Ｃコンパイラ

評価に使用したボード(13) RX220 SCI の場合

表 2-13 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX220 グループ（プログラム ROM 256KB RAM 16KB）

動作周波数

ICLK：32MHz、PCLK：32MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
High-performance embedded Workshop Version 4.09.01.007
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 1.2.1.0）
コンパイルオプション
統合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T グループ SCI を使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN1229JJ) Ver.2.01.R01
Renesas Starter Kit for RX220

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 11 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(14) RX111 RSPI の場合

表 2-14 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX111 グループ（プログラム ROM 128KB RAM 16KB）

動作周波数

ICLK：32MHz、PCLK：32MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
CubeSuite+ V2.01.00
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 2.01.00）
コンパイルオプション
総合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.02 R01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T, RX111 グループ RSPI を使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1196JJ)
Ver.2.04 R04
Renesas Starter Kit for RX111

Ｃコンパイラ

評価に使用したボード(15) RX111 SCI の場合

表 2-15 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RX111 グループ（プログラム ROM 128KB RAM 16KB）

動作周波数

ICLK：32MHz、PCLK：32MHz

動作電圧

3.3V

統合開発環境エンディアン

ルネサス エレクトロニクス製
CubeSuite+ V2.01.00
ルネサス エレクトロニクス製
RX ファミリ用 C/C++コンパイラケッケージ （ツールチェーン 2.01.00）
コンパイルオプション
総合開発環境のデフォルト設定（※１）を使用しています。
※１：最適化レベル”2”、最適化方法”サイズ優先”
ビッグエンディアン／リトルエンディアン

サンプルコードのバージョン

Ver.2.02 R01

評価に使用したソフトウェア

RX210, RX21A, RX220, RX63N, RX63T, RX111 グループ SCI を使った
クロック同期式シングルマスタ制御ソフトウェア(R01AN1229JJ)
Ver.2.01 R05
Renesas Starter Kit for RX111

Ｃコンパイラ

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 12 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
2.2(1)

RL78 ファミリ、78K0R/Kx3-L
78K0R/Kx3-L SAU の場合
表 2-16 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

78K0R/KE3-L（プログラム ROM 64KB/RAM 3KB）

動作周波数

メイン・システム・クロック：20MHz
CPU／周辺ハードウェア・クロック：20MHz
シリアル・クロック：2.5MHz
3.3V

動作電圧
統合開発環境Ｃコンパイラ、アセンブラ

統合デバッガサンプルコードのバージョン
評価に使用したソフトウェア
評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

ルネサス エレクトロニクス製
プロジェクト・マネージャ(PM+ Ver.6.31)
ルネサス エレクトロニクス製
78K0R 用 C コンパイラ(CC78K0R Ver.2.13)
78K0R 用アセンブラパッケージ(RA78K0R Ver.1.33)
コンパイルオプション
統合開発環境のデフォルト設定（"-a. -zp"）を使用しています。
ルネサス エレクトロニクス製 Integrated Debugger ID78K0R-QB
Ver.3.61
Ver.2.01
78K0R/Kx3-L 用シリアル・アレイ・ユニットの CSI モードを使ったクロッ
ク同期式シングルマスタ制御ソフトウェア(R01AN0708JJ) Ver.2.00
78K0R/KE3-L ターゲット・ボード(QB-78K0RKE3L-TB)

Page 13 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(2)

RL78/G14 SAU 統合開発環境 CubeSuite+の場合（コンパイラ：CA78K0R）
表 2-17 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/G14（プログラム ROM 256KB/RAM 24KB）

動作周波数

動作電圧

メイン・システム・クロック：32MHz
CPU／周辺ハードウェア・クロック：32MHz
シリアル・クロック：4MHz
3.3V

統合開発環境ルネサス エレクトロニクス製 CubeSuite+ V1.01.01a

Ｃコンパイラ、アセンブラ

ルネサス エレクトロニクス製
CubeSuite+ RL78,78K0R コンパイラ CA78K0R V1.30

サンプルコードのバージョン

Ver.2.02

評価に使用したソフトウェア

RL78/G14 シリアル・アレイ・ユニットの CSI モードを使ったクロック
同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.02
Renesas Starter Kit for RL78/G14

評価に使用したボード(3)

RL78/G14 SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）
表 2-18 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/G14（プログラム ROM 256KB/RAM 24KB）

動作周波数

動作電圧

メイン・システム・クロック：32MHz
CPU／周辺ハードウェア・クロック：32MHz
シリアル・クロック：4MHz
3.3V

統合開発環境ルネサス エレクトロニクス製 CS+ V3.02.00

Ｃコンパイラ、アセンブラ

ルネサス エレクトロニクス製 RL78 コンパイラ CC-RL V1.02.00

サンプルコードのバージョン

コンパイルオプション
統合開発環境のデフォルト設定（既定の最適化を行う(なし)）を使用しています。
Ver.2.03

評価に使用したソフトウェア

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

RL78/G14、RL78/G1C、RL78/L12、RL78/L13、RL78/L1C グループ シ
リアル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ) Ver.2.05
Renesas Starter Kit for RL78/G14

Page 14 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(4)

RL78/G14 SAU 統合開発環境 IAR Embedded Workbench の場合
表 2-19 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/G14（プログラム ROM 256KB/RAM 24KB）

動作周波数

メイン・システム・クロック：32MHz
CPU／周辺ハードウェア・クロック：32MHz
シリアル・クロック：4MHz
3.3V

動作電圧
統合開発環境Ｃコンパイラ、アセンブラ

サンプルコードのバージョン
評価に使用したソフトウェア
評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

IAR Systems 製
IAR Embedded Workbench for Renesas RL78（Ver.1.30.2）
IAR Systems 製
IAR Assembler for Renesas RL78 (Ver.1.30.2.50666)
IAR C/C++ Compiler for Renesas RL78（Ver.1.30.2.50666）
コンパイルオプション
統合開発環境のデフォルト設定（"レベル 低"）を使用しています。
Ver.2.02
RL78/G14 シリアル・アレイ・ユニットの CSI モードを使ったクロック
同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0102) Ver.2.03
Renesas Starter Kit for RL78/G14

Page 15 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(5)

RL78/G1C SAU 統合開発環境 CubeSuite+の場合（コンパイラ：CA78K0R）
表 2-20 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/G1C（プログラム ROM 32KB/RAM 5.5KB）

動作周波数

動作電圧

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：12MHz
3.3V

統合開発環境ルネサス エレクトロニクス製 CubeSuite+ V2.01.00

Ｃコンパイラ、アセンブラ

ルネサス エレクトロニクス製
CubeSuite+ RL78,78K0R コンパイラ CA78K0R V1.70

サンプルコードのバージョン

Ver.2.02 R01

評価に使用したソフトウェア

RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas RL78/G1C ターゲット・ボード QB-R5F10JGC-TB

評価に使用したボード(6)

RL78/G1C SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）
表 2-21 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/G1C（プログラム ROM 32KB/RAM 5.5KB）

動作周波数

動作電圧

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：12MHz
3.3V

統合開発環境ルネサス エレクトロニクス製 CS+ V3.02.00

Ｃコンパイラ、アセンブラ

ルネサス エレクトロニクス製 RL78 コンパイラ CC-RL V1.02.00

サンプルコードのバージョン

コンパイルオプション
統合開発環境のデフォルト設定（既定の最適化を行う(なし)）を使用しています。
Ver.2.03

評価に使用したソフトウェア

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

RL78/G14、RL78/G1C、RL78/L12、RL78/L13、RL78/L1C グループ シ
リアル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ) Ver.2.05
Renesas RL78/G1C ターゲット・ボード QB-R5F10JGC-TB

Page 16 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(7)

RL78/G1C SAU 統合開発環境 IAR Embedded Workbench の場合
表 2-22 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/G1C（プログラム ROM 32KB / RAM 5.5KB）

動作周波数

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：12MHz
3.3V

動作電圧
統合開発環境Ｃコンパイラ、アセンブラ

サンプルコードのバージョン
評価に使用したソフトウェア

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

IAR Systems 製
IAR Embedded Workbench for Renesas RL78（Ver.1.30.5）
IAR Systems 製
IAR Assembler for Renesas RL78 (Ver.1.30.4.50715)
IAR C/C++ Compiler for Renesas RL78（Ver.1.30.5.50715)）
コンパイルオプション
統合開発環境のデフォルト設定（"レベル 低"）を使用しています。
Ver.2.02 R01
RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas RL78/G1C ターゲット・ボード QB-R5F10JGC-TB

Page 17 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(8)

RL78/L12 SAU 統合開発環境 CubeSuite+の場合
表 2-23 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/L12（プログラム ROM 32KB / RAM 1.5KB）

動作周波数

動作電圧

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：6MHz
3.3V

統合開発環境ルネサス エレクトロニクス製 CubeSuite+ V2.01.00

Ｃコンパイラ、アセンブラ

ルネサス エレクトロニクス製
CubeSuite+ RL78,78K0R コンパイラ CA78K0R V1.70

サンプルコードのバージョン

Ver.2.02 R01

評価に使用したソフトウェア

RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas Starter Kit for RL78/L12

評価に使用したボード(9)

RL78/L12 SAU 統合開発環境 IAR Embedded Workbench の場合
表 2-24 動作確認条件

項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/L12（プログラム ROM 32KB / RAM 1.5KB）

動作周波数

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：6MHz
3.3V

動作電圧
統合開発環境Ｃコンパイラ、アセンブラ

サンプルコードのバージョン
評価に使用したソフトウェア

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

IAR Systems 製
IAR Embedded Workbench for Renesas RL78（Ver.1.30.5）
IAR Systems 製
IAR Assembler for Renesas RL78 (Ver.1.30.4.50715)
IAR C/C++ Compiler for Renesas RL78（Ver.1.30.5.50715)）
コンパイルオプション
統合開発環境のデフォルト設定（"レベル 低"）を使用しています。
Ver.2.02 R01
RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas Starter Kit for RL78/L12Page 18 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(10) RL78/L13 SAU 統合開発環境 CubeSuite+の場合

表 2-25 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/L13（プログラム ROM 128KB / RAM 8KB）

動作周波数

動作電圧

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：6MHz
3.3V

統合開発環境ルネサス エレクトロニクス製 CubeSuite+ V2.01.00

Ｃコンパイラ、アセンブラ

ルネサス エレクトロニクス製
CubeSuite+ RL78,78K0R コンパイラ CA78K0R V1.70

サンプルコードのバージョン

Ver.2.02 R01

評価に使用したソフトウェア

RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas Starter Kit for RL78/L13

評価に使用したボード(11) RL78/L13 SAU 統合開発環境 IAR Embedded Workbench の場合

表 2-26 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/L13（プログラム ROM 128KB / RAM 8KB）

動作周波数

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：6MHz
3.3V

動作電圧
統合開発環境Ｃコンパイラ、アセンブラ

サンプルコードのバージョン
評価に使用したソフトウェア

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

IAR Systems 製
IAR Embedded Workbench for Renesas RL78（Ver.1.30.5）
IAR Systems 製
IAR Assembler for Renesas RL78 (Ver.1.30.4.50715)
IAR C/C++ Compiler for Renesas RL78（Ver.1.30.5.50715)）
コンパイルオプション
統合開発環境のデフォルト設定（"レベル 低"）を使用しています。
Ver.2.02 R01
RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas Starter Kit for RL78/L13

Page 19 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(12) RL78/L1C SAU 統合開発環境 CubeSuite+の場合

表 2-27 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/L1C（プログラム ROM 256KB / RAM 16KB）

動作周波数

動作電圧

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：6MHz
3.3V

統合開発環境ルネサス エレクトロニクス製 CubeSuite+ V2.01.00

Ｃコンパイラ、アセンブラ

ルネサス エレクトロニクス製
CubeSuite+ RL78,78K0R コンパイラ CA78K0R V1.70

サンプルコードのバージョン

Ver.2.02 R01

評価に使用したソフトウェア

RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas Starter Kit for RL78/L1C

評価に使用したボード(13) RL78/L1C SAU 統合開発環境 IAR Embedded Workbench の場合

表 2-28 動作確認条件
項目
評価に使用したメモリ

内容Micron Technology, Inc.社製 M45PE シリーズ SPI Serial Flash memory

評価に使用したマイコン

RL78/L1C（プログラム ROM 256KB / RAM 16KB）

動作周波数

メイン・システム・クロック：24MHz
周辺ハードウェア・クロック：24MHz
シリアル・クロック：6MHz
3.3V

動作電圧
統合開発環境Ｃコンパイラ、アセンブラ

サンプルコードのバージョン
評価に使用したソフトウェア

評価に使用したボード

R01AN0567JJ0106
2016.03.31

Rev.1.06

IAR Systems 製
IAR Embedded Workbench for Renesas RL78（Ver.1.30.5）
IAR Systems 製
IAR Assembler for Renesas RL78 (Ver.1.30.4.50715)
IAR C/C++ Compiler for Renesas RL78（Ver.1.30.5.50715)）
コンパイルオプション
統合開発環境のデフォルト設定（"レベル 低"）を使用しています。
Ver.2.02 R01
RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリ
アル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0103) Ver.2.03
Renesas Starter Kit for RL78/L1C

Page 20 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
3.

関連アプリケーションノート

本アプリケーションノートに関連するアプリケーションノートを以下に示します。併せて参照してください。
 RX610 グループ SCI を使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN0534JJ) RX62N グループ RSPI を使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN0323JJ)
 78K0R/Kx3-L シリアル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソ
フトウェア(R01AN0708JJ)
 RX62N グループ SCI を使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1088JJ) RX210, RX21A, RX220, RX63N, RX63T, RX111 グループ RSPI を使ったクロック同期式シングルマスタ
制御ソフトウェア(R01AN1196JJ) RX210, RX21A, RX220, RX63N, RX63T, RX111 グループ SCI を使ったクロック同期式シングルマスタ制
御ソフトウェア(R01AN1229JJ) RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C グループ シリアル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ)

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 21 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
4.

ハードウェア説明

4.1

使用端子一覧

表 4-1 に、MCU 側の使用端子と機能を示します。
表 4-1 使用する端子名
端子名
CLK（注１）

入出力
出力

内容
クロック出力

DataOut（注１）

出力

マスタデータ出力

DataIn（注１）入力

マスタデータ入力

Port(CS#)（注１）

出力スレーブデバイスセレクト出力

注１：本アプリケーションノートでは、サンプルコードの記述に合わせて、CLK 端子、DataIn 端子、DataOut
端子、Port(CS#)端子として、表します。

4.2

参考回路

図 4-1 に、接続例を示します。

MCU
CLK：クロック出力端子
DataOut：データ出力端子
DataIn：データ入力端子

Serial

外付け抵抗で、プルアップ処理してく
ださい。

Flash

memoryVcc
CLKC

DataOut

D

DataInQ
外付け抵抗で、プルアップ処理してください。

__________

HOLD
____

W
___

Port(CS#)S・MCU 上のシリアル I/O に使用される端子名は、MCU に依存します。
・本アプリケーションノートでは、サンプルコードの記述に合わせて、CLK 端子、DataIn 端子、DataOut 端子、Port(CS#)端子として、表します。
図 4-1

R01AN0567JJ0106
2016.03.31

Rev.1.06

MCU と SPI スレーブデバイスの接続例

Page 22 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.

ソフトウェア説明

5.1

動作概要

MCU のクロック同期式（３線式）シリアル通信機能を使って、Serial Flash memory 制御を実現します。
本サンプルコードでは、以下の制御を行っています。
 SPI スレーブデバイスの S#端子を MCU の Port に接続し、MCU 汎用ポート出力で、制御する。
（本サンプルコードで制御する。）
 データの入出力を、クロック同期式モード（内部クロック使用）で、制御する。
（本サンプルコードが、MCU 個別のクロック同期式シングルマスタ制御ソフトウェアを使用する。）

本サンプルコードは、以下のように、デバイス上のデータのバイトオフセット値と、転送元／先のメモリのバイトオフセット値が合致するようにしたものです。

デバイスのバイトオフセット値
0

1

・・・

508

509

510

511

508

509

510

511

メモリ上のバイトオフセット値
0

1

・・・

図 5-1 転送データの格納

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 23 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.1.1

クロック同期式モードで発生させるタイミング

Serial Flash memory 制御のため、図 5-2 に示す SPI モード 3（CPOL=1、CPHA=1）のタイミングを発生させ
ます。

…

CLK

DataOut

D7

D6

D5

…

D0

DataIn

D7

D6

D5

…

D0

・MCU->Serial Flash memory の送信時：転送クロックの立ち下がりで送信データ出力開始
・Serial Flash memory->MCU の受信時：転送クロックの立ち上がりで受信データの入力取り込み
・MSB ファーストでの転送転送を行っていないときの CLK 端子のレベルは、”H”です。
図 5-2 クロック同期式モード

タイミング設定

使用可能なシリアル・クロック周波数は、MCU と SPI デバイスの各データシートを参照し、設定してくだ
さい。

5.1.2

Serial Flash memory の S#端子制御

Serial Flash memory の S#端子を MCU の Port に接続し、MCU 汎用ポート出力で、制御します。
Serial Flash memory の S#（MCU の Port(CS#)）信号の立ち下がりから、Serial Flash memory の C（MCU の
CLK）信号の立ち下がりまでの時間は、Serial Flash memory の S#セットアップ時間待ちのために、ソフトウェ
ア・ウェイトで制御しています。
Serial Flash memory の C（MCU の CLK）信号の立ち上がりから、Serial Flash memory の S#（MCU の Port(CS#)）
信号の立ち上がりまでの時間は、Serial Flash memory の S#ホールド時間待ちのために、ソフトウェア・ウェ
イトで制御しています。
Serial Flash memory のデータシートを確認して、システムに応じたソフトウェア・ウェイト時間を設定してください。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 24 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.1.3

Serial Flash memory 命令コード

Serial Flash memory 制御のための以下の命令(Instruction)コードがあり、このコードを使って、コマンド制御を行います。
表 5-1
Instruction
WREN
WRDI
RDID
RDSR
READ
FAST READ
PW
PP
PE
SE
DP
RDP

5.1.4

Instruction Set

Description
Write Enable
Write Disable
Read Identification
Read Status-Register
Read Data Bytes
Read Data Bytes at Higher Speed
Page Write
Page Program
Page Erase
Sector Erase
Deep Power-down
Release from Deep Power-down

Instruction format
0000 0110
0000 0100
1001 1111
0000 0101
0000 0011
0000 1011
0000 1010
0000 0010
1101 1011
1101 1000
1011 1001
1010 1011

Serial Flash memory ステータスレジスタ

Serial Flash memory のステータスレジスタは、専用の命令により、読み出し／書き込みが可能です。また、ステータスレジスタの構成は、使用するメモリ容量に依存します。
各 bit の詳細は、Serial Flash memory データシートを参照してください。

b7
0

b0
0

0

0

0

0

WEL

WIP

Write Enable Latch Bit
Write in Progress Bit

図 5-3 ステータスレジスタの構成図

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 25 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.2

ソフトウェア制御概要

5.2.1

ソフトウェア構成

本サンプルコードは、SPI Serial Flash memory 制御のための上位層に位置する制御ソフトウェア（図 5-4 のFlash memory 制御ソフトウェア）です。

Flash memory制御ソフトウェア

シリアルI/O(SIO)ドライバ
ドライバI/Fレイヤ（MCU／シリアルIP依存）
シリアルドライバ（MCU／シリアルIP依存）

クロック同期式
シングルマスタ
ソフトウェアSerialFlashmemory
図 5-4 ソフトウェア構成
以下に制御手順を示します。
①Port(CS#)信号の立ち下げ②ソフトウェア・ウェイト③クロック同期式シングルマスタソフトウェアを使ったコマンド／データ送受信④ソフトウェア・ウェイト⑤Port(CS#)信号の立ち上げ
本サンプルコードは、以下の 8 つの基本処理で構成しています。


チップセレクト端子初期化
チップセレクト端子制御
ソフトウェア・ウェイト
シリアル許可

コマンド送信データ送信
データ受信
シリアル禁止R01AN0567JJ0106
2016.03.31

Rev.1.06－Port(CS#)端子の”H”出力設定－Port(CS#)端子の”H”/”L”出力設定－ソフトウェア・ウェイトによるタイミング調整－DataIn 端子のポート入力化、DataOut 端子と CLK 端子のポート”H”出力
シリアル I/O 有効化、ビットレート設定－Serial Flash memory へのコマンド送信処理－Serial Flash memory へのデータ送信処理－Serial Flash memory からのレスポンス／データ受信処理－シリアル I/O 無効化、DataIn 端子のポート入力化、DataOut 端子と CLK 端子のポート”H”出力化

Page 26 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.2.2

チップセレクト端子初期化（R_SPI_FLASH_Init_Port()）

スレーブデバイスのチップセレクト信号を”H”出力（動作前に、非アクティブ状態に設定）します。
MCU 毎に制御方法が異なりますが、制御手順は、以下のとおりです。
①ポート出力値を”H”出力に設定する。（②のポートを”出力”に切り替えたときに、”H”出力させるため）②ポートを”出力”に設定する。
③ポート出力値を”H”出力に設定する。

5.2.3

チップセレクト端子制御（FLASH_SET_CS ()）

スレーブデバイスのチップセレクト信号を”H”/”L”出力制御します。

5.2.4

ソフトウェア・ウェイト（mtl_wait_lp()）

ソフトウェア・ループ処理で、ウェイト制御します。

5.2.5

シリアル許可（R_SIO_Enable()）

シリアルを以下の手順で許可設定します。
①シリアル I/O で使用する DataIn 端子をポート入力、DataOut 端子と CLK 端子をポート”H”出力にする。
②シリアル I/O 機能を有効にし、DataIn 端子をデータ入力、DataOut 端子をデータ出力、CLK 端子をクロッ
ク出力に切り替える。
③シリアル I/O で使用する通信速度（ビットレート）を設定する。
R_SIO_Enable()の詳細は、個別のクロック同期式シングルマスタソフトウェアのアプリケーションノートを参照してください。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 27 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.2.6

コマンド送信（R_SPI_FLASH_Send_Cmd ()）

Serial Flash memory に Instruction コード（コマンド）を送信します。
コマンドに対するレスポンス受信は、R_SIO_Rx_Data ()を使用します。

START
R_SPI_FLASH_Cmd_set() コマンド、アドレス、コマンドサイズの設定
R_SIO_Tx_Data() - 指定サイズ分の送信処理
データ転送
指定サイズ分のデータ転送

詳細は、個別のクロッ ク同期式
シングルマスタ
ドライバを参照ください。

データ格納ポインタ更新

END

図 5-5

5.2.7

コマンド送信処理概要（R_SPI_FLASH_Send_Cmd()）

データ送信（R_SIO_Tx_Data ()）

シリアル I/O を使って、データを送信します。Instruction コード、アドレス情報、書き込みデータ、またはステータスレジスタの値を送信します。
詳細は、個別のクロック同期式シングルマスタソフトウェアのアプリケーションノートを参照してくださ
い。

5.2.8

データ受信（R_SIO_Rx_Data ()）

シリアル I/O を使って、データを受信します。読み出しデータまたはステータスレジスタを受信します。
詳細は、個別のクロック同期式シングルマスタソフトウェアのアプリケーションノートを参照してくださ
い。

5.2.9

シリアル禁止（R_SIO_Disable ()）

シリアル I/O で使用する端子をポートに切り替えて、DataIn 端子をポート入力、DataOut 端子と CLK 端子
をポート”H”出力にします。
詳細は、個別のクロック同期式シングルマスタソフトウェアのアプリケーションノートを参照してください。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 28 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
必要メモリサイズ

5.3

以下に、必要とするメモリサイズを示します。

5.3.1
(1)

RX ファミリ

RX610 SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-2 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1010 バイト（リトルエンディアン）
1074 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
5 バイト（リトルエンディアン）
152 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 29 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(2)

RX62N RSPI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-3 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1040 バイト（リトルエンディアン）
1108 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(3)

RX62N SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-4 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1040 バイト（リトルエンディアン）
1108 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 30 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(4)

RX63N RSPI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-5 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1040 バイト（リトルエンディアン）
1108 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
180 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(5)

RX63N SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-6 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1040 バイト（リトルエンディアン）
1108 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 31 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(6)

RX63T RSPI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-7 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1040 バイト（リトルエンディアン）
1108 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
180 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(7)

RX63T SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-8 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1040 バイト（リトルエンディアン）
1108 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 32 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(8)RX210 RSPI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-9 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1037 バイト（リトルエンディアン）
1112 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
180 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(9)

RX210 SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-10 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1037 バイト（リトルエンディアン）
1112 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 33 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(10) RX21A RSPI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-11 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1037 バイト（リトルエンディアン）
1112 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
４+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
180 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(11) RX21A SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-12 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1037 バイト（リトルエンディアン）
1112 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 34 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(12) RX220 RSPI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-13 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1037 バイト（リトルエンディアン）
1112 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
180 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(13) RX220 SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-14 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1037 バイト（リトルエンディアン）
1112 バイト（リトルエンディアン）
0 バイト（リトルエンディアン）
4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 35 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(14) RX111 RSPI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-15 必要メモリサイズ
使用メモリ
ROM

サイズ
2,144 バイト（リトルエンディアン）

最大使用ユーザスタック

4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
180 バイト

最大使用割り込みスタック

－

RAM

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
割り込み未使用【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(15) RX111 SCI の場合

環境は、「2.動作確認条件」を参照してください。
表 5-16 必要メモリサイズ
使用メモリ
ROM

サイズ
2,144 バイト（リトルエンディアン）

最大使用ユーザスタック

4+n バイト（リトルエンディアン）（n は、使用デバイス個数を示す。）
176 バイト

最大使用割り込みスタック

－

RAM

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
割り込み未使用【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
エンディアンにより、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 36 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.3.2

RL78 ファミリ、78K0R/Kx3-L

命令の異なる MCU 毎にメモリサイズを示します。使用 MCU の命令を調査し参考にしてください。

(1)

78K0R/Kx3-L SAU の場合

環境は、「2.動作確認条件」を参照してください。
表 5-17 必要メモリサイズ
使用メモリ

サイズ

最大使用ユーザスタック

1709 バイト
1536 バイト
0 バイト
6 バイト
164 バイト

最大使用割り込みスタック

－

ROM
RAM

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
割り込み未使用【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 37 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(2)

RL78/G14 SAU 統合開発環境 CubSuite+の場合（コンパイラ：CA78K0R）

環境は、「2.動作確認条件」を参照してください。
表 5-18 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ
1480 バイト
1372 バイト
0 バイト
6 バイト
（使用デバイス個数 1 または 2 の場合）
114 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(3)

RL78/G14 SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）

環境は、「2.動作確認条件」を参照してください。
表 5-19 必要メモリサイズ
使用メモリ

サイズ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

1358 バイト
1148 バイト
R_SPI_FLASH_m45pe_usr.c
0 バイト
R_SPI_FLASH_m45pe_io.c
6 バイト（使用デバイス個数 1 または 2 の場合）
102 バイト

最大使用割り込みスタック

－

ROM
RAM

割り込み未使用【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 38 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(4)

RL78/G14 SAU 統合開発環境 IAR Embedded Workbench の場合

環境は、「2.動作確認条件」を参照してください。
表 5-20 必要メモリサイズ
使用メモリ

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

最大使用ユーザスタック

サイズ1725 バイト
1368 バイト
0 バイト
6 バイト
（使用デバイス個数 1 または 2 の場合）
130 バイト

最大使用割り込みスタック－

割り込み未使用ROM
RAM

R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、プロジェクト全体のスタックサイズです。下位層のクロック同期
式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 39 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(5)

RL78/L13 SAU 統合開発環境 CubeSuite+の場合（コンパイラ：CA78K0R）

環境は、「2.動作確認条件」を参照してください。
表 5-21 必要メモリサイズ
使用メモリ

サイズ

最大使用ユーザスタック

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
R_SPI_FLASH_m45pe_usr.c
6 バイト（使用デバイス個数 1 または 2 の場合） R_SPI_FLASH_m45pe_io.c
114 バイト

最大使用割り込みスタック－

2,853 バイト

ROM
RAM

割り込み未使用【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

(6)

RL78/L13 SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）

環境は、「2.動作確認条件」を参照してください。
表 5-22 必要メモリサイズ
使用メモリ

サイズ

ROM

2510 バイトRAM

最大使用ユーザスタック

0 バイト
6 バイト
（使用デバイス個数 1 または 2 の場合）
102 バイト

最大使用割り込みスタック－

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c

割り込み未使用【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、下位層のクロック同期式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 40 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(7)

RL78/L13 SAU 統合開発環境 IAR Embedded Workbench の場合

環境は、「2.動作確認条件」を参照してください。
表 5-23 必要メモリサイズ
使用メモリ

サイズ

最大使用ユーザスタック

備考
R_SPI_FLASH_m45pe_usr.c
R_SPI_FLASH_m45pe_io.c
R_SPI_FLASH_m45pe_usr.c
6 バイト（使用デバイス個数 1 または 2 の場合） R_SPI_FLASH_m45pe_io.c
120 バイト

最大使用割り込みスタック－

2,698 バイト

ROM
RAM

割り込み未使用【注】 必要メモリサイズは、C コンパイラのバージョンやコンパイルオプションにより異なります。
クロック同期式シングルマスタソフトウェアに使用される上記のメモリサイズを含みません。
使用する MCU により、上記のメモリサイズは、異なります。
最大使用ユーザスタックサイズは、プロジェクト全体のスタックサイズです。下位層のクロック同期
式シングルマスタ制御ソフトウェアのスタックも含みます。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 41 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.4

ファイル構成表 5-24 に、サンプルコードで使用するファイルを示します。なお、統合開発環境で自動生成するファイル
は除きます。
表 5-24 ファイル構成¥an_r01an0567jj0106_mcu_serial<DIR>
サンプルコードのフォルダ
r01an0567jj0106_mcu.pdf
アプリケーションノート
¥ source<DIR>
プログラム格納用フォルダ¥r_spi_flash_m45pe<DIR>
Serial Flash memory 制御ソフトウェア用フォルダ
R_SPI_FLASH_m45pe.h
ヘッダファイル
R_SPI_FLASH_m45pe_io.c
I/O モジュール
R_SPI_FLASH_m45pe_io.h
I/O モジュール用共通定義
R_SPI_FLASH_m45pe_usr.c
ユーザ I/F モジュール
R_SPI_FLASH_sfr.h.78k0r
レジスタ用共通定義（78K0R/Kx3-L 用）
R_SPI_FLASH_sfr.h.rl78g14
レジスタ用共通定義（RL78/G14 用）
R_SPI_FLASH_sfr.h.rl78g1c
レジスタ用共通定義（RL78/G1C 用）
R_SPI_FLASH_sfr.h.rl78l1c
レジスタ用共通定義（RL78/L1C 用）
R_SPI_FLASH_sfr.h.rl78l12
レジスタ用共通定義（RL78/L12 用）
R_SPI_FLASH_sfr.h.rl78l13
レジスタ用共通定義（RL78/L13 用）
R_SPI_FLASH_sfr.h.rx21a
レジスタ用共通定義（RX21A 用）
R_SPI_FLASH_sfr.h.rx62n
レジスタ用共通定義（RX62N 用）
R_SPI_FLASH_sfr.h.rx63n
レジスタ用共通定義（RX63N 用）
R_SPI_FLASH_sfr.h.rx63t
レジスタ用共通定義（RX63T 用）
R_SPI_FLASH_sfr.h.rx111
レジスタ用共通定義（RX111 用）
R_SPI_FLASH_sfr.h.rx210
レジスタ用共通定義（RX210 用）
R_SPI_FLASH_sfr.h.rx220
レジスタ用共通定義（RX220 用）
R_SPI_FLASH_sfr.h.rx610
レジスタ用共通定義（RX610 用）¥sample<DIR>
動作確認プログラム格納用フォルダ
testmain.c
動作検証用のサンプルプログラム【注】 別途、MCU 個別のクロック同期式シングルマスタ制御ソフトウェアが必要です。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 42 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.5

定数一覧

5.5.1

戻り値

表 5-25 に、サンプルコードで使用する戻り値を示します。
表 5-25 戻り値
定数名
FLASH_OK

設定値(error_t)( 0)

Successful Operation

FLASH_ERR_PARAM(error_t)(-1)

Parameter Error

FLASH_ERR_HARD(error_t)(-2)

Hardware Error

FLASH_ERR_OTHER(error_t)(-7)

Other Error

5.5.2

内容

コマンド定義表 5-26 に、サンプルコードで使用するコマンド定義を示します。
表 5-26 コマンド定義
定数名
FLASH_CMD_WREN

設定値(uint8_t)0x06

Write Enable

FLASH_CMD_WRDI(uint8_t)0x04

Write Disable

FLASH_CMD_RDSR(uint8_t)0x05

Read Status Register

FLASH_CMD_READ(uint8_t)0x0b

Read for Memory Array at Higher Speed

FLASH_CMD_READ(uint8_t)0x03

Read for Memory Array

FLASH_CMD_WRITE(uint8_t)0x0a

Page Write for Memory Array

FLASH_CMD_WRITE(uint8_t)0x02

Page Program for Memory Array

FLASH_CMD_SE(uint8_t)0xd8

S_Erase for Memory Array

FLASH_CMD_PE(uint8_t)0xdb

P_Erase for Memory Array

FLASH_CMD_DP(uint8_t)0xb9

Deep Power Down

FLASH_CMD_RES(uint8_t)0xab

Release Deep Power Down

FLASH_CMD_RDID(uint8_t)0x9f

Read Identification

R01AN0567JJ0106
2016.03.31

Rev.1.06

内容

Page 43 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.5.3

各種定義

表 5-27 に、サンプルコードで使用する各種定義した値を示します。
表 5-27 各種定義値
定数名
FLASH_LOG_ERR

1

Log Type : Error

FLASH_TRUE(uint8_t)0x01

Flag "ON"FLASH_FALSE(uint8_t)0x00

Flag "OFF"FLASH_WP_NONE(uint8_t)0x00

Write-Protection Status : None setting

FLASH_P_ERASE(uint8_t)0x00

Erasure Type : Page Erase

FLASH_S_ERASE(uint8_t)0x01

Erasure Type : Sector Erase

FLASH_MEM_SIZE(uint32_t)131072

FLASH_PAGE_ADDR(uint32_t) 0xffffff00

FLASH_SECT_ADDR(uint32_t)0xffff0000

FLASH_WPAG_SIZE(uint32_t)256

FLASH_ADDR_SIZE(uint8_t)3

FLASH_CMD_SIZE(uint8_t)1

メモリサイズ（バイト単位）
左記は 1Mbit の場合の値です。
ページ消去時のページアドレスマスク値
左記は、1Mbit の場合の値です。
セクタ消去時のセクタアドレスマスク値
左記は、1Mbit の場合の値です。
ページサイズ（バイト単位）
左記は、1Mbit の場合の値です。
アドレスサイズ（バイト単位）
左記は、1Mbit の場合の値です。
コマンドサイズ（バイト単位）

FLASH_STSREG_SIZE(uint16_t)1

ステータスレジスタサイズ（バイト単位）

FLASH_IDDATA_SIZE(uint16_t)3

ID Data サイズ（バイト単位）

FLASH_SHORT_SIZE(uint32_t)0x0000fff0

FLASH_HI(uint8_t)0x01

下位関数での最大転送サイズの設定（0xFFFF 以
下を設定）
Port "H"FLASH_LOW(uint8_t)0x00

Port "L"FLASH_OUT(uint8_t)0x01

Port Output Setting

FLASH_IN(uint8_t)0x00

Port Input Setting

FLASH_WBUSY_WAIT(uint16_t)18000

FLASH_T_WBUSY_WAIT(uint16_t)MTL_T_1US

Write Busy Waiting Time
18000×1us = 18ms
Write Busy Completion Polling Time

FLASH_T_EBUSY_WAIT(uint16_t)MTL_T_1MS

Erase Busy Completion Polling Time

FLASH_T_DP_WAIT(uint16_t)MTL_T_4US

Deep Standby Completion Waiting Time

FLASH_T_RES_WAIT(uint16_t)MTL_T_30US

Release Deep Standby Completion Waiting Time

FLASH_T_CS_HOLD(uint16_t)MTL_T_1US

CS Stability Waiting Time

FLASH_T_R_ACCESS(uint16_t)MTL_T_1US

Reading Start Waiting Time

FLASH_REG_SRWD(uint8_t)0x80

Status Register Write Disable

FLASH_REG_BP1(uint8_t)0x08

使用しません

FLASH_REG_BP0(uint8_t)0x04

使用しません

FLASH_REG_WEL(uint8_t)0x02

Write Enable Latch Bit

R01AN0567JJ0106
2016.03.31

設定値

Rev.1.06

内容

Page 44 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
FLASH_REG_WIP(uint8_t)0x01

Write In Progress Bit

FLASH_BYTE_READ

2

1 バイト読み出し実行判断バイト数

FLASH_BYTE_WRITE

2

1 バイト書き込み実行判断バイト数

5.6

構造体／共用体一覧

以下に、サンプルコードで使用する構造体を示します。
typedef union {uint32_t ul;
uint8_t uc[4];} FLASH_EXCHG_LONG;

5.7/* total 4byte

*/

変数一覧

表 5-28 に、サンプルコードで使用する変数一覧を示します。
表 5-28 変数一覧
型
STATIC uint8_t

R01AN0567JJ0106
2016.03.31

変数名
gFlash_CmdBuf[5]Rev.1.06

内容
コマンド用バッファ

使用関数
R_SPI_FLASH_Send_Cmd
R_SPI_FLASH_Cmd_set

Page 45 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.8

関数一覧

表 5-29 に、関数を示します。
表 5-29 関数一覧
関数名
R_SPI_FLASH_Init_Driver
R_SPI_FLASH_Read_Status
R_SPI_FLASH_Read_Data
R_SPI_FLASH_Write_Data
R_SPI_FLASH_PageErase
R_SPI_FLASH_SectorErase
R_SPI_FLASH_DeepPDown
R_SPI_FLASH_ReleaseDeepPDown
R_SPI_FLASH_ReadID
R_SPI_FLASH_Init_Port
R_SPI_FLASH_Send_Cmd
R_SPI_FLASH_Write_En
R_SPI_FLASH_Write_Di
R_SPI_FLASH_Read_StsReg
R_SPI_FLASH_Wait_Busy
R_SPI_FLASH_Write_Page
R_SPI_FLASH_Read_Memory
R_SPI_FLASH_Erase
R_SPI_FLASH_DPD
R_SPI_FLASH_ReleaseDPD
R_SPI_FLASH_ID
R_SPI_FLASH_Cmd_set

説明
ドライバ初期化処理
ステータス読み出し処理
データ読み出し処理
データ書き込み処理
ページ消去処理
セクタ消去処理
ディープパワーダウン処理
ディープパワーダウン解除処理
ID 読み出し処理
ポート初期化処理
コマンド送信処理
書き込み許可コマンド処理
書き込み禁止コマンド処理
ステータスレジスタ読み出しコマンド処理
ビジーウェイト処理
ページ書き込みコマンド処理
読み出しコマンド処理
消去コマンド処理
ディープパワーダウンコマンド処理
ディープパワーダウン解除コマンド処理
JEDEC-ID 読み出しコマンド処理
コマンド設定処理

キャッシュ搭載の MCU を使用する場合、読み出し／書き込み用データ格納バッファは、非キャッシュ領域を指定してください。
読み出し／書き込み用データ格納バッファアドレスは、下位層の MCU 個別のクロック同期式シングルマス
タ制御ソフトウェアに依存し、4 バイト境界アドレスを指定する必要がある場合があります。MCU 個別のクロック同期式シングルマスタ制御ソフトウェアのアプリケーションノートを参照してください。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 46 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9
5.9.1

関数の詳細
ドライバ初期化処理

R_SPI_FLASH_Init_Driver概要
ドライバ初期化処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_Init_Driver(void)
宣言
説明・R_SPI_FLASH_Init_Port()関数をコールし、CS#端子の初期化を行います。
・シリアル I/O ドライバの R_SIO_Init_Driver()関数をコールし、I/O ポートの初期化を行います。

引数
リターン値

備考

・システム起動時に一度だけ呼び出してください。
void
・初期化結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_OTHER ;異常終了
R_SIO_Init_Driver()の戻り値を返します。
なし

開始

CS制御関連レジスタの初期化
R_SPI_FLASH_Init_Port()

FLASH_CS_INIT() - CS#端子H出力（ポートH出力）

シリアルI/O関連レジスタの初期化
R_SIO_Init_Driver()

シリアルI/O機能無効化
DataIn端子ポート入力、 DataOut端子ポートH出力、CLK端子ポートH出力

デバイス分繰り返す。

終了

図 5-6 ドライバ初期化処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 47 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.2

ステータス読み出し処理

R_SPI_FLASH_Read_Status
概要
ステータスレジスタ読み出し処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_Read_Status(uint8_t DevNo, uint8_t FAR* pStatus)
宣言
説明・ステータスレジスタを読み出し、pStatus に格納します。
読み出しバッファとして、1 バイトを設定してください。
・読み出しステータス格納バッファ(pStatus)には下記情報が格納されます。
Bit 7 to 2:Reserved (All ”0”)
Bit 1:WEL 1: Internal Write Enable Latch is set
0: Internal Write Enable Latch is reset
Bit 0:WIP 1: Program or Erase cycle is in progress
0: No Program or Erase cycle is in progress
引数
uint8_t
DevNo;
デバイス番号
uint8_t FAR*
pStatus;
読み出しステータス格納バッファポインタ
リターン値
・ステータスレジスタ取得結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#=H
R_SPI_FLASH_Init_Port()
シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)
ステータスレジスタ読み出し
R_SPI_FLASH_Read_StsReg()
シリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()CS#端子H出力（ポートH出力）

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定
ステータスレジスタ読み出し

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力終了

図 5-7 ステータスレジスタ読み出し処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 48 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.3

データ読み出し処理

R_SPI_FLASH_Read_Data
概要
データ読み出し処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_Read_Data(uint8_t DevNo, uint32_t RAddr, uint32_t
宣言
RCnt, uint8_t FAR* pData)
説明・Flash memory から、指定アドレスから指定バイト数分、バイト単位でデータを読み出し、pData に格納します。
引数
uint8_t
DevNo;
デバイス番号
uint32_t
RAddr;
読み出し開始アドレス
uint32_t
RCnt;
読み出しバイト数
uint8_t FAR*
pData;
読み出しデータ格納バッファポインタ
リターン値
・読み出し結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考・最大読み出しアドレスは、Flash memory 容量-1 です。

開始
CS#端子H出力（ポートH出力）

CS#=H
R_SPI_FLASH_Init_Port()
シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定

データ読み出しR_SPI_FLASH_Read_Memory()

データ読み出しシリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力終了

図 5-8 データ読み出し処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 49 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.4

データ書き込み処理

R_SPI_FLASH_Write_Data
概要
データ書き込み処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_Write_Data(uint8_t DevNo, uint32_t WAddr, uint32_t
宣言
WCnt, uint8_t FAR* pData)
説明・pData のデータを Flash memory 上の指定アドレスから指定バイト数分書き込みます。
引数
uint8_t
DevNo;
デバイス番号
uint32_t
WAddr;
書き込み開始アドレス
uint32_t
WCnt;
書き込みバイト数
uint8_t FAR*
pData;
書き込みデータ格納バッファポインタ
リターン値
・書き込み結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考・最大書き込みアドレスは、Flash memory 容量-1 です。

開始
CS#端子H出力（ポートH出力）

CS#=H
R_SPI_FLASH_Init_Port()
シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定

書き込みページ計算
データ書き込み

データ書き込み
R_SPI_FLASH_Write_Page()

指定データ分繰り返す。
シリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力終了

図 5-9 データ書き込み処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 50 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.5

ページ消去処理

R_SPI_FLASH_PageErase
概要
ページ消去処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_PageErase(uint8_t DevNo, uint32_t EAddr))
宣言
説明・メモリの全データを消去します。
引数
uint8_t
DevNo;
デバイス番号
uint32_t
EAddr;
消去アドレス
リターン値
・消去結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#端子H出力（ポートH出力）

CS#=H
R_SPI_FLASH_Init_Port()
シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定

消去アドレス計算
ページ消去

消去 - ページ消去
R_SPI_FLASH_Erase()
シリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力終了

図 5-10 ページ消去処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 51 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.6

セクタ消去処理

R_SPI_FLASH_SectorErase
概要
セクタ消去処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_SectorErase(uint8_t DevNo, uint32_t EAddr)
宣言
説明・指定されたセクタの全データを消去します。
引数
uint8_t
DevNo;
デバイス番号
uint32_t
EAddr;
消去アドレス
リターン値
・消去結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#端子H出力（ポートH出力）

CS#=H
R_SPI_FLASH_Init_Port()
シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定

消去アドレス計算
セクタ消去

消去 - セクタ消去
R_SPI_FLASH_Erase()
シリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力終了

図 5-11 セクタ消去処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 52 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.7

ディープパワーダウン処理

R_SPI_FLASH_DeepPDown
概要
ディープパワーダウン処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_DeepPDown (uint8_t DevNo)宣言
説明・ディープパワーダウンモードをセットします。
引数
uint8_t
DevNo;
デバイス番号リターン値
・処理結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#=H
R_SPI_FLASH_Init_Port()
シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)
ディープパワーダウン設定
R_SPI_FLASH_DPD()
シリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()
ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定
ディープパワーダウン設定コマンド処理

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
ディープパワーダウン遷移待ちのためのソフトウェア・ウェイト（FLASH_T_DP_WAIT）

終了

図 5-12 ディープパワーダウン処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 53 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.8

ディープパワーダウン解除処理

R_SPI_FLASH_ReleaseDeepPDown
概要
ディープパワーダウン解除処理
R_SPI_FLASH_m45pe.h
ヘッダ
error_t R_SPI_FLASH_ReleaseDeepPDown (uint8_t DevNo)宣言
説明・ディープパワーダウンモードを解除します。
引数
uint8_t
DevNo;
デバイス番号リターン値
・処理結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#=H
R_SPI_FLASH_Init_Port()

CS#端子H出力（ポートH出力）

シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定

ディープパワーダウン解除設定
R_SPI_FLASH_ReleaseDPD()

ディープパワーダウン解除コマンド処理

シリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力

ソフトウェア・ウェイト
mtl_wait_lp()

ディープパワーダウン解除遷移待ちのためのソフトウェア・ウェイト（FLASH_T_RES_WAIT）

終了

図 5-13 ディープパワーダウン解除処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 54 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.9

ID 読み出し処理

R_SPI_FLASH_ReadID
概要
ヘッダ
宣言
説明
引数
リターン値

備考

ID 読み出し処理
R_SPI_FLASH_m45pe.h
error_t R_SPI_FLASH_ReadID(uint8_t DevNo, uint8_t FAR* pData)
・Manufacture ID 及び Device ID を読み出し、pData に格納します。読み出しバッ
ファとして、3 バイトを設定してください。
uint8_t
DevNo;
デバイス番号
uint8_t FAR*
pData;
読み出し格納バッファポインタ
・ID 読出し結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_PARAM;
Parameter Error
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
・デバイスにより、サポートしていない場合があります。使用する Flash memoryの仕様を参照してください。

開始
CS#端子H出力（ポートH出力）

CS#=H
R_SPI_FLASH_Init_Port()
シリアルI/O機能有効化、ビットレ
ート設定
R_SIO_Enable(FLASH_BR)

DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力
シリアルI/O機能の初期化、送受信禁止設定、ビットレート設定
ID読み出しコマンド処理

ID読み出し処理
R_SPI_FLASH_ID()
シリアルI/O機能の送受信禁止設
定、ポート初期化
R_SIO_Disable()

シリアルI/O機能の送受信禁止設定
DataIn端子ポート入力、DataOut端子ポートH出力、CLK端子ポートH出力終了

図 5-14

R01AN0567JJ0106
2016.03.31

Rev.1.06

ID 読み出し処理概要

Page 55 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.10

ポート初期化処理（内部関数）

R_SPI_FLASH_Init_Port
概要
ヘッダ
宣言
説明
引数
リターン値
備考

ポート初期化処理（内部関数）
R_SPI_FLASH_m45pe_io.hvoid R_SPI_FLASH_Init_Port(uint8_t DevNo)・指定デバイスのポート（CS#）を初期化し、H 出力します。
uint8_t
DevNo;
デバイス番号
voidなし

開始
CS制御関連レジスタの初期化
FLASH_CS_INIT()

CS#端子H出力（ポートH出力）終了

図 5-15 ポート初期化処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 56 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.11

コマンド送信処理（内部関数）

R_SPI_FLASH_Send_Cmd
概要
コマンド送信処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
STATIC error_t R_SPI_FLASH_Send_Cmd(uint8_t Cmd, uint32_t Addr, uint8_t
宣言
CmdSize)
説明・指定されたコマンドを送信します。
引数
uint8_t
Cmd;
コマンドコード
uint32_t
Addr
;
アドレス
uint8_t
CmdSize;
コマンドサイズ
リターン値・コマンド送信結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
コマンド設定R_SPI_FLASH_Cmd_set()
送信処理
R_SIO_Tx_Data()

コマンドの設定

コマンドの送信処理終了

図 5-16 コマンド送信処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 57 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.12

書き込み許可コマンド処理（内部関数）

R_SPI_FLASH_Write_En
概要
書き込み許可コマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
STATIC error_t R_SPI_FLASH_Write_En(uint8_t DevNo)
宣言
説明・WREN コマンドを送信し、指定されたデバイスを書き込み許可設定（WEL ビットセット）します。
引数
uint8_t
DevNo;
デバイス番号
リターン値・コマンド処理結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）後のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

WRENコマンド送信処理
R_SPI_FLASH_Cmd_WREN()

R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

CS#=H
FLASH_SET_CS()

CS#端子H出力（ポートH出力）終了

図 5-17 書き込み許可コマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 58 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.13

書き込み禁止コマンド処理（内部関数）

R_SPI_FLASH_Write_Di
概要
ヘッダ
宣言
説明
引数
リターン値

備考

書き込み禁止コマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.h
STATIC error_t R_SPI_FLASH_Write_Di(uint8_t DevNo)
・WRDI コマンドを送信し、指定されたデバイスを書き込み禁止設定（WEL ビットクリア）します。
uint8_t
DevNo;
デバイス番号・コマンド処理結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
なし

開始
CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）後のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

WRDIコマンド送信処理
R_SPI_FLASH_Cmd_WRDI()

R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

CS#=H
FLASH_SET_CS()

CS#端子H出力（ポートH出力）終了

図 5-18 書き込み禁止コマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 59 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.14

ステータスレジスタ読み出しコマンド処理（内部関数）

R_SPI_FLASH_Read_StsReg
概要
ステータスレジスタ読み出しコマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
error_t R_SPI_FLASH_Read_StsReg(uint8_t DevNo, uint8_t FAR* pStsReg)
宣言
説明・RDSR コマンド送信し、ステータスレジスタを読み出し、pStsReg に格納します。読み出しバッファとして、1 バイトを設定してください。
・読み出しステータス格納バッファ(pStatus)には下記情報が格納されます。
Bit 7 to 2:Reserved (All ”0”)
Bit 1:WEL
1: Internal Write Enable Latch is set
0: Internal Write Enable Latch is reset
Bit 0:WIP
1: Program or Erase cycle is in progress
0: No Program or Erase cycle is in progress
引数
uint8_t
DevNo;
デバイス番号
uint8_t FAR*
pStsReg;
読み出しステータス格納バッファポインタ
リターン値
・コマンド処理結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）後のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

RDSRコマンド送信処理
R_SPI_FLASH_Cmd_RDSR()
ソフトウェア・ウェイト
mtl_wait_lp()
ステータスレジスタ読み出し
R_SIO_Rx_Data()

R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

送信→受信切り替え後のソフトウェア・ウェイト（FLASH_T_R_ACCESS）
ステータスレジスタ読み出し

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

CS#=H
FLASH_SET_CS()

CS#端子H出力（ポートH出力）終了

図 5-19 ステータスレジスタ読み出しコマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 60 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.15

ビジーウェイト処理（内部関数）

R_SPI_FLASH_Wait_Busy
概要
ビジーウェイト処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
STATIC error_t R_SPI_FLASH_Wait_Busy(uint8_t DevNo, uint16_t BusyTime,宣言
uint16_t BusyCnt)
説明・ステータスレジスタ読み出しコマンド処理を使って、BusyCnt=0 の場合、
BusyTime 時間間隔で、ビジーの期間をウェイトします。
・ステータスレジスタ読み出しコマンド処理を使って、BusyCnt≠0 の場合、
BusyTime 時間間隔で、BusyCnt 回数分、ビジーの期間をウェイトします。
引数
uint8_t
DevNo;
デバイス番号
uint16_t
BusyTime;
ステータス確認用ウェイト時間
uint16_t
BusyCnt
;
カウンタ
リターン値
・結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始

ステータスレジスタリード読み出し
R_SPI_FLASH_Read_StsReg()

Ready?
Yes

ソフトウェア・ウェイト
mtl_wait_lp()No
最大BusyTimeで示される回数分、ループする。

終了

図 5-20 ビジーウェイト処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 61 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.16

ページ書き込みコマンド処理（内部関数）

R_SPI_FLASH_Write_Page
概要
ページ書き込みコマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
error_t R_SPI_FLASH_Write_Page(uint8_t DevNo, uint32_t WAddr, uint32_t
宣言
WCnt, uint8_t FAR* pData)
説明・PP コマンドを使って、pData のデータを Flash memory 上の指定アドレスから
指定バイト数分書き込みます。
引数
uint8_t
DevNo;
デバイス番号
uint32_t
WAddr;
書き込み開始アドレス
uint32_t
WCnt;
書き込みバイト数
uint8_t FAR*
pData;
書き込みデータ格納バッファポインタ
リターン値
・書き込み結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考・ページを超える書き込みは、許可されていません。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 62 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア

開始
書き込み許可設定
R_SPI_FLASH_Write_En()
ステータスレジスタ読み出し処理
R_SPI_FLASH_Read_StsReg()
ステータスレジスタ確認
CS#=L
FLASH_SET_CS()
ソフトウェア・ウェイト
mtl_wait_lp()
PW or PPコマンド送信処理
R_SPI_FLASH_Cmd_WRITE()

WRENコマンド送信による書き込み許可設定

Status Register読み出し

WEL bit=0の場合、FLASH_ERR_OTHERを返す。
CS#端子L出力（ポートL出力）

CS#端子L出力（ポートL出力）後のソフトウェア・ウェイト（FLASH_T_CS_HOLD）
R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

データ送信処理

R_SIO_Tx_Data()/R_SIO_Tx_Data_DMA()によるデータ送信
１バイト送信ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

CS#=H
FLASH_SET_CS()

CS#端子H出力（ポートH出力）

ビジーウェイト処理
R_SPI_FLASH_Wait_Busy()

書き込み完了待ち指定データ分繰り返す。

終了

図 5-21 ページ書き込みコマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 63 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.17

読み出しコマンド処理（内部関数）

R_SPI_FLASH_Read_Memory
概要
読み出しコマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
error_t R_SPI_FLASH_Read_Memory(uint8_t DevNo, uint32_t RAddr, uint32_t
宣言
RCnt, uint8_t FAR* pData)
説明・Read コマンドを使って、Flash memory から、指定アドレスから指定バイト数
分、バイト単位でデータを読み出し、pData に格納します。
引数
uint8_t
DevNo;
デバイス番号
uint32_t
RAddr;
読み出し開始アドレス
uint32_t
RCnt;
読み出しバイト数
uint8_t FAR*
pData;
読み出しデータ格納バッファポインタ
リターン値
・結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考・読み出し最大アドレスは、Flash memory の容量-1 です。

開始
CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）後のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

READコマンド送信処理
R_SPI_FLASH_Cmd_READ()
ソフトウェア・ウェイト
mtl_wait_lp()
データ受信処理

R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

送信→受信切り替え後のソフトウェア・ウェイト（FLASH_T_R_ACCESS）
R_SIO_Rx_Data()/R_SIO_Rx_Data_DMA()によるデータ受信
指定データ分繰り返す。

ソフトウェア・ウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェア・ウェイト（FLASH_T_CS_HOLD）

CS#=H
FLASH_SET_CS()

CS#端子H出力（ポートH出力）終了

図 5-22 読み出しコマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 64 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.18

消去コマンド処理（内部関数）

R_SPI_FLASH_Erase
概要
ヘッダ
宣言
説明

引数

リターン値

備考

消去コマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.herror_t R_SPI_FLASH_Erase(uint8_t DevNo, uint32_t EAddr, uint8_t Etype)・Chip-Erase/ Block-Erase/Sector-Erase コマンドを使って、消去します。
・消去タイプ(Etype)には下記情報を設定してください。
FLASH_P_ERASE :ページ消去
FLASH_S_ERASE :セクタ消去
uint8_t
DevNo;
デバイス番号
uint32_t
EAddr;
消去アドレスuint32_t
Etype
;
消去タイプ
・結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
なし

開始
WRENコマンド送信による書き込み許可設定

書き込み許可設定
R_SPI_FLASH_Write_En()
ステータスレジスタ読み出し処理
R_SPI_FLASH_Read_StsReg()
ステータスレジスタ確認

Status Register読み出し

WEL bit=0の場合、FLASH_ERR_OTHERを返す。

CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェアウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）L後のソフトウェアウェイト（FLASH_T_CS_HOLD）

消去コマンド送信処理

R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

ソフトウェアウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェアウェイト（FLASH_T_CS_HOLD）

CS#=H
FLASH_SET_CS()

CS#端子H出力（ポートH出力）

ビジーウェイト処理
R_SPI_FLASH_Wait_Busy()

消去完了待ち終了

図 5-23 消去コマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 65 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.19ディープパワーダウンコマンド処理（内部関数）

R_SPI_FLASH_DPD
概要
ヘッダ
宣言
説明
引数
リターン値

備考

ディープパワーダウンコマンドコマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.herror_t R_SPI_FLASH_DPD(uint8_t DevNo)
・DP コマンドを使って、ディープパワーダウンをセットします。
uint8_t
DevNo;
デバイス番号・結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
なし

開始
CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェアウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）後のソフトウェアウェイト（FLASH_T_CS_HOLD）

DPコマンド送信処理
R_SPI_FLASH_Cmd_DP()R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

ソフトウェアウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェアウェイト（FLASH_T_CS_HOLD）

CS#=H設定
FLASH_SET_CS()

CS#端子H出力（ポートH出力）終了

図 5-24 ディープパワーダウンコマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 66 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.20

ディープパワーダウン解除コマンド処理（内部関数）

R_SPI_FLASH_ReleaseDPD
概要
ディープパワーダウン解除コマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
error_t R_SPI_FLASH_ReleaseDPD(uint8_t DevNo)
宣言
説明・RES コマンドを使って、ディープパワーダウンを解除します。
引数
uint8_t
DevNo;
デバイス番号
リターン値
・結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
備考
なし

開始
CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェアウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）後のソフトウェアウェイト（FLASH_T_CS_HOLD）

RESコマンド送信処理
R_SPI_FLASH_Cmd_RES()

R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

ソフトウェアウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェアウェイト（FLASH_T_CS_HOLD）

CS#=H設定
FLASH_SET_CS()

CS#端子H出力（ポートH出力）終了

図 5-25 ディープパワーダウン解除コマンド処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 67 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.21

ID 読み出しコマンド処理（内部関数）

R_SPI_FLASH_ID
概要
ヘッダ
宣言
説明

ID 読み出しコマンド処理（内部関数）
R_SPI_FLASH_m45pe_io.herror_t R_SPI_FLASH_ID(uint8_t DevNo, uint8_t FAR* pData)
・RDID コマンドを使って、Manufacture ID 及び Device ID を読み出し、pData に格納します。読み出しバッファとして、3 バイトを設定してください。
uint8_t
DevNo;
デバイス番号
uint8_t FAR*
pData;
読み出しデータ格納バッファポインタ
・結果を返します。
FLASH_OK;
Successful operation
FLASH_ERR_HARD;
Hardware Error
FLASH_ERR_OTHER;
Other Error
なし

引数
リターン値

備考

開始
CS#=L
FLASH_SET_CS()

CS#端子L出力（ポートL出力）

ソフトウェアウェイト
mtl_wait_lp()

CS#端子L出力（ポートL出力）後のソフトウェアウェイト（FLASH_T_CS_HOLD）

RDIDコマンド送信処理
R_SPI_FLASH_Cmd_RDID()

R_SPI_FLASH_Send_Cmd()を使用したコマンド送信

ソフトウェアウェイト
mtl_wait_lp()

送信→受信切り替え後のソフトウェアウェイト（FLASH_T_R_ACCESS）

データ受信処理

R_SIO_Rx_Data()によるデータ受信

ソフトウェアウェイト
mtl_wait_lp()

CS#端子H出力（ポートH出力）前のソフトウェアウェイト（FLASH_T_CS_HOLD）

CS#=H設定
FLASH_SET_CS()

CS#端子H出力（ポートH出力）終了

図 5-26

R01AN0567JJ0106
2016.03.31

Rev.1.06

ID 読み出しコマンド処理概要

Page 68 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
5.9.22

コマンド設定処理（内部関数）

R_SPI_FLASH_Cmd_set
概要
コマンド設定処理（内部関数）
R_SPI_FLASH_m45pe_io.h
ヘッダ
STATIC void R_SPI_FLASH_Cmd_set(uint8_t Cmd, uint32_t Addr, uint8_t
宣言
CmdSize)
説明・コマンドとアドレスを設定します。エンディアンに応じて、変換します。
引数
uint8_t
Cmd;
コマンド（命令コード）
uint32_t
Addr;
アドレス情報uint8_t
CmdSize;
コマンドサイズ
リターン値なし
備考
エンディアンは、MTL_MCU_LITTLE (mtl_com.h)にて、指定してください。

開始
gFlash_CmdBuf設定

コマンドサイズとエンディアンに応じたコマンド変換

終了

図 5-27 コマンド設定処理概要

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 69 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
6.

応用例

Serial Flash memory 制御部分（シリアル I/O 制御部分は、対象外）の設定例を示します。
シリアル I/O 制御部分は、MCU 個別のクロック同期式シングルマスタ制御ソフトウェアのアプリケーショ
ンノートを参照してください。
なお、通信速度は、スレーブデバイス個別の設定が必要なため、本サンプルコードにて設定します。
設定箇所は、各ファイル中の「/** SET **/」というコメントの部分です。
また、共通で使用される関数（mtl_wait_lp()等）は、MCU 個別のクロック同期式シングルマスタ制御ソフ
トウェアに含まれているものを使用してください。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 70 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
Serial Flash memory 制御ソフトウェアの設定

6.1

設定箇所は、各ファイル中の「/** SET **/」というコメントの部分です。

6.1.1

R_SPI_FLASH_M45PE.h

本 Serial Flash memory 用の定義ファイルです。
設定箇所は、各ファイル中の「/** SET **/」というコメントの部分です。

(1)

使用するデバイスの個数とデバイス番号の定義

使用するデバイスの個数を指定し、各デバイスに番号を割り当ててください。
下記は、デバイスを１個使用し、デバイス番号を 0 に割り当てる場合の例です。
最大２個までの制御が可能です。
/*--------------------------------------------------------------------------*//* Define number of required serial FLASH devices.(1~N devices)*//* Define the device number in accordance with the number of serial FLASH devices*//* to be connected.
*//*--------------------------------------------------------------------------*//* Define no. of devices */#define FLASH_DEV_NUM
1/* 1devices*//* Define no. of slots */#define FLASH_DEV0#define FLASH_DEV1

(2)

0
1

/* Device 0/* Device 1*/*/

使用するデバイスの容量の定義

使用するデバイスの容量を指定してください。
下記は、32Mbit デバイスを使用する場合の例です。
/*--------------------------------------------------------------------------*//* Define the serial FLASH device.
*//*--------------------------------------------------------------------------*/#define M45PE10

R01AN0567JJ0106
2016.03.31

Rev.1.06/* 1Mbit ( 128kByte)*/

Page 71 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
6.1.2

R_SPI_FLASH_sfr.h

R_SPI_FLASH_sfr.h.XXX は、各 MCU に評価目的で作成したものです。どれか一つを R_SPI_FLASH_sfr.hにリネームして使用してください。対象 MCU のものが無い場合には、参照して、R_SPI_FLASH_sfr.h を作成
してください。
設定箇所は、各ファイル中の「/** SET **/」というコメントの部分です。

(1)

書き込みコマンドタイプ設定

ページ書き込みコマンド 0x0A を使用したいときに、定義してください。定義されない場合、ページプログ
ラムコマンド 0x02 を使用します。
詳細な違いは、Serial Flash memory のデータシートを確認してください。
以下の例は、ページライトコマンド 0x0A を使用する場合の例です。
/*--------------------------------------------------------------------------*//*
Select the write command type.
*//*
If you want to set the page write command(0x0A),
define FLASH_0A_WRITE_SELECT*//*
Otherwise page program command(0x02)is select.
*//*--------------------------------------------------------------------------*/#define FLASH_0A_WRITE_SELECT(2)

チップセレクト信号設定

使用するチップセレクト信号のポートを定義してください。
2 つ目のデバイスを接続する場合、2 つ目のポートも定義してください。
以下は、ポート 66 を使用する場合での記述例を示しています。
/*--------------------------------------------------------------------------*//*
Define the CS port.
*//*--------------------------------------------------------------------------*/#define FLASH_DR_CS0
PORT6.DR.BIT.B6/* FLASH CS0 (Negative-true logic) */#define FLASH_DDR_CS0
PORT6.DDR.BIT.B6 /* FLASH CS0 (Negative-true logic) */#if (FLASH_DEV_NUM > 1)
#define FLASH_DR_CS1#define FLASH_DDR_CS1#endif/* #if (FLASH_DEV_NUM > 1) */R01AN0567JJ0106
2016.03.31

Rev.1.06/* FLASH CS1 (Negative-true logic) *//* FLASH CS1 (Negative-true logic) */Page 72 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア(3)

通信速度の設定

通信速度を設定してください。単位は、bit/sec です。
設定値は、使用する MCU とシリアル I/O に依存します。
以下は、RX610 の SCI

3.125Mbps(bit/sec)の例です。

/*-------------------------------------------------------------------------- *//* Define the value of the bit rate register according to a communication baud rate.*//* The possible maximum transfer frequency of CLK is depends on hardware circuit *//* and MCU conditions.
*//* Refer to MCU hardware manual/memory card specifications and specify the buad rate. *//* PCLK = 50MHz, n=0 for RX610 SCI */#define FLASH_BR(uint8_t)0x03/* BRR initial setting/*++---------------- 3.125MHz*/*/

設定値は、MCU のハードウェアマニュアルを参考に設定してください。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 73 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
6.1.3

R_SPI_FLASH_m45pe_io.h

設定箇所は、各ファイル中の「/** SET **/」というコメントの部分です。

(1)

消去タイムアウト時間設定

デバイスにより、消去時間が異なる場合、以下の設定を見直してください。
以下は、消去タイムアウト時間を 40s に設定する場合での記述例を示しています。
/*-------------------------------------------------------------------------- *//*Define the software timer value of erase busy waiting.
*//*If you want to wait till the flash comes to ready status without time out, *//*comment the definition FLASH_EBUSY_WAIT_TIME.
*//*-------------------------------------------------------------------------- */#define FLASH_EBUSY_WAIT
1ms =40s */(2)(uint16_t)40000 /* Erase busy waiting time

40000*

書き込みタイムアウト時間設定

デバイスにより、書き込み時間が異なる場合、以下の設定を見直してください。
以下は、書き込みタイムアウト時間を 18ms に設定する場合での記述例を示しています。
/* Transmit&receive waiting time */#define FLASH_WBUSY_WAIT (uint16_t)18000 /* Write busy waiting time
1us = 18ms */R01AN0567JJ0106
2016.03.31

Rev.1.06

18000*

Page 74 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
6.1.4

R_SPI_FLASH_m45Pe_io.c

本 Serial Flash memory 用の I/O モジュールファイルです。
設定箇所は、各ファイル中の「/** SET **/」というコメントの部分です。

(1)

SFR 領域用デファインの設定

RL78 ファミリ、もしくは 78K0R を使用する場合、使用する C コンパイラには、定義済プリプロセッサシ
ンボルがあります。この定義済プリプロセッサシンボルを使用し、プログラムを記述済です。
また、使用する MCU が RL78 ファミリ、もしくは 78K0R であり、かつ、IAR Systems 製の統合開発環境を使用する場合には、使用する MCU の SFR が定義されているヘッダファイルを設定する必要があります。
MCU 個別のクロック同期式シングルマスタ制御ソフトウェアも参照してください。
本設定は、SPI スレーブデバイスセレクト制御信号用に使用します。
表 6-1 MCU と SFR 領域用デファインの設定
統合開発環境CubeSuite+CS+
IAR
Embedded
Workbench

MCU
RL78
78K0R
RX

SFR 設定の要・不要
不要
不要
不要

RL78

要

設定方法
不要
不要
不要
#ifdef __ICCRL78__#include <ior5f104pj.h> ←MCU に合わせて変更#include <ior5f104pj_ext.h> ←MCU に合わせて変更#endif78K0R

要#ifdef __ICC78K__#include <io78f1009_64.h> ←MCU に合わせて変更#include <io78f1009_64_ext.h> ←MCU に合わせて変更#endifRX（本ソフトウェアは未サポート）（本ソフトウェアは未サポート）

以下は、RL78/G14 100pin を使用する場合の例です。
#ifdef __ICCRL78__#include <ior5f104pj.h>#include <ior5f104pj_ext.h>#endif/* __ICCRL78__ */R01AN0567JJ0106
2016.03.31

Rev.1.06/* IAR RL78 Compiler/* for RL78/G14 100pin (R5F104PJ)/* for RL78/G14 100pin (R5F104PJ)

*/
*/
*/

Page 75 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
7.
7.1

使用上の注意事項
組み込み時の注意事項

本サンプルコードを組み込む場合は、R_SPI_FLASH_m45pe.h をインクルードしてください。

7.2

キャッシュ搭載の MCU を使用する場合

読み出し／書き込み用データ格納バッファは、非キャッシュ領域を指定してください。

7.3

同一シリーズの他容量に対応する場合

同一シリーズの他の容量に対応する場合、以下の定義の見直しが必要です。
FLASH_MEM_SIZE
FLASH_SECT_ADDRFLASH_WPAG_ADDRFLASH_ADDR_SIZE
上記以外の定義の見直しが必要になる可能性がありますので、メモリのデータシートを入手し、定義を見直してください。

7.4

他スレーブデバイスを使用する場合

同一 SPI バス上で、他スレーブデバイスを制御することが可能です。
スレーブデバイス制御ソフトウェアを作成する場合は、本サンプルコードを参考にしてください。
また、スレーブデバイス制御ソフトウェア毎に、通信速度設定が可能です。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 76 of 77

RX ファミリ、RL78 ファミリ、78K0R/Kx3-L
Micron Technology 社製 M45PE シリーズ Serial Flash memory 制御ソフトウェア
ホームページとサポート窓口
ルネサス エレクトロニクスホームページ
http://japan.renesas.com/
お問合せ先
http://japan.renesas.com/contact/

すべての商標および登録商標は，それぞれの所有者に帰属します。

R01AN0567JJ0106
2016.03.31

Rev.1.06

Page 77 of 77

改訂記録
Rev.
1.00
1.01

発行日
2011.06.30
2011.08.10

ページ
—
全頁
1
3
4
12
12
13

1.02

2013.11.29

13
48
1
6-12

13

22-28

改訂内容
ポイント
新規作成
ヘッダの対象マイコンを MCU に変更
動作確認に使用した MCU に、78K0R/Kx3-L を追加
2. 動作確認条件 に、(2) 78K0R/Kx3-L の場合 を追加
3. 関連アプリケーションノート に 78K0R/Kx3-L 用アプリ
ケーションノート(R01AN0708JJ) を追加
2. 動作確認条件 (1) RX610 の場合 に、最大使用ユーザス
タックサイズ条件を追加
5.3 必要メモリサイズ に、78K0R/Kx3-L の場合 を追加
5.4 ファイル構成 にて、アプリケーションノートのファイル
名を更新
5.4 ファイル構成 に、R_SPI_FLASH_sfr.h.78k0r を追加
6.1.4 R_SPI_FLASH_m45pe_io.c を追加
対象デバイス に、RX62N、RX63N、RX63T、RX210、RX21A、RX220、RL78/G14 を追加
2. 動作確認条件 に、以下を追加(3) RX62N RSPI の場合(4) RX62N SCI の場合(5) RX63N RSPI の場合(6) RX63N SCI の場合(7) RX63T RSPI の場合(8) RX63T SCI の場合(9) RX210 RSPI の場合(10) RX210 SCI の場合(11) RX21A RSPI の場合(12) RX21ASCI の場合(13) RX220 RSPI の場合(14) RX220 SCI の場合(15) RL78/G14 SAU 総合開発環境 CubeSutie+の場合(16) RL78/G14 SAU 総合開発環境 IAR の場合
3. 関連アプリケーションノート に、以下を追加
RX62N グループ RSPI を使ったクロック同期式シングルマ
スタ制御ソフトウェア（R01AN0323JJ）
RX62N グループ SCI を使ったクロック同期式シングルマス
タ制御ソフトウェア（R01AN1088JJ）
RX210, RX21A, RX220, RX63N, RX63T グループ RSPI を使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1196JJ)
RX210, RX21A, RX220, RX63N, RX63T グループ SCI を使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1229JJ)
RL78/G14 シリアル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ0102)
5.3 必要メモリサイズ に、以下を追加(3) RX62N RSPI の場合(4) RX62N SCI の場合(5) RX63N RSPI の場合
A-1

29

1.05

2014.04.30

59
62
1
1
4,12

11

12
13

13

14-17

18

(6) RX63N SCI の場合(7) RX63T RSPI の場合(8) RX63T SCI の場合(9) RX210 RSPI の場合(10) RX210 SCI の場合(11) RX21A RSPI の場合(12) RX21ASCI の場合(13) RX220 RSPI の場合(14) RX220 SCI の場合(15) RL78/G14 SAU 総合開発環境 CubeSutie+の場合(16) RL78/G14 SAU 総合開発環境 IAR の場合
5.4 ファイル構成
アプリケーションノート番号を変更
ソースのフォルダ名を変更
新規デバイスのレジスタ用共通定義を追加
6.1.2 R_SPI_FLASH_sfr.h 内容を修正した。
6.1.4 R_SPI_FLASH_m45Pe_io.c 内容を修正した。
要旨 にクロック同期式シングルマスタ制御ソフトウェア情
報の URL を追加した。
対象デバイス に、RX111、RL78/G1C、RL78/L1C、RL78/L12、RL78/L13 を追加
2. 動作確認条件
2.1 RX ファミリと 2.2 RL78 ファミリ、78K0R/Kx3-L を追加した。
2.1 RX ファミリに、以下を追加(14) RX111 RSPI の場合(15) RX111 SCI の場合
2.2 RL78 ファミリ、78K0R/Kx3-L (1) 78K0R/Kx3-LSAU の
場合 にて、「エミュレータ Minicube2」を削除した
2.2 RL78 ファミリ、78K0R/Kx3-L (2) RL78/G14 SAU 統合開発環境 CubeSuite+の場合 にて、「エミュレータ Minicube2」を削除した
2.2 RL78 ファミリ、78K0R/Kx3-L (3) RL78/G14 SAU 統合開発環境 IAR Embedded Workbench の場合 にて、「エミュレータ Minicube2」を削除した
2.2 RL78 ファミリ、78K0R/Kx3-L に、以下を追加(4) RL78/G1C SAU 統合開発環境 CubeSuite+の場合(5) RL78/G1C SAU 統合開発環境 IAR Embedded Workbenchの場合(6) RL78/L12 SAU 統合開発環境 CubeSuite+の場合(7) RL78/L12 SAU 統合開発環境 IAR Embedded Workbenchの場合(8) RL78/L13 SAU 統合開発環境 CubeSuite+の場合(9) RL78/L13 SAU 統合開発環境 IAR Embedded Workbenchの場合(10) RL78/L1C SAU 統合開発環境 CubeSuite+の場合(11) RL78/L1C SAU 統合開発環境 IAR Embedded
Workbench の場合
3.関連アプリケーションノート マイコングループ追加によりタイトルを更新した。
RX210, RX21A, RX220, RX63N, RX63T, RX111 グループ
RSPI を使ったクロック同期式シングルマスタ制御ソフトウェ
A-2

26,34

33

36

37

1.06

2016.03.31

14,16

38,40

42

ア(R01AN1196JJ) 元は、RX210, RX21A, RX220, RX63N,
RX63T グループ RSPI を使ったクロック同期式シングルマ
スタ制御ソフトウェア(R01AN1196JJ)であった。
RX210, RX21A, RX220, RX63N, RX63T, RX111 グループ
SCI を使ったクロック同期式シングルマスタ制御ソフトウェ
ア(R01AN1229JJ) 元は、RX210, RX21A, RX220, RX63N,
RX63T グループ SCI を使ったクロック同期式シングルマス
タ制御ソフトウェア(R01AN1229JJ)であった。
RL78/G14, RL78/G1C, RL78/L12, RL78/L13, RL78/L1C シ
リアル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ) 元は、RL78/G14 シリアル・アレイ・ユニットの CSI モードを使ったクロック同期式シングルマスタ制御ソフトウェア(R01AN1195JJ)であった。
5.3 必要メモリサイズ
5.3.1 RX ファミリと 5.3.2 RL78 ファミリ、78K0R/Kx3-L の章を追加し、ファミリ別に分けた。
5.3.1 RX ファミリに、以下を追加(14) RX111 RSPI の場合(15) RX111 SCI の場合
5.3.2 RL78 ファミリ、78K0R/Kx3-L に、以下を追加(4) RL78/L13 SAU 統合開発環境 CubeSuite+の場合(5) RL78/L13 SAU 統合開発環境 IAR Embedded Workbenchの場合
5.4 ファイル構成
アプリケーションノート番号を変更
ソースのフォルダ名を変更
新規デバイスのレジスタ用共通定義を追加
2.2 RL78 ファミリ、78K0R/Kx3-L に、以下を追加(3) RL78/G14 SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）(6) RL78/G1C SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）
5.3.2 RL78 ファミリ、78K0R/Kx3-L に、以下を追加(3) RL78/G14 SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）(6) RL78/L13 SAU 統合開発環境 CS+ for CC の場合（コンパイラ：CC-RL）
5.4 ファイル構成
サンプルコードのフォルダ名を変更
アプリケーションノート番号を変更

A-3

製品ご使用上の注意事項
ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意
事項については、本ドキュメントおよびテクニカルアップデートを参照してください。
1.

未使用端子の処理【注意】未使用端子は、本文の「未使用端子の処理」に従って処理してください。
CMOS製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなっています。未使用端子を開放状態で動作させると、誘導現象により、LSI周辺のノイズが印加され、LSI内部で貫通電流が流れたり、入力信号と認識されて誤動作を起こす恐れがあります。未使用端子は、本文「未使用端子の処理」で説明する指示に従い処理してください。

2.

電源投入時の処置【注意】電源投入時は，製品の状態は不定です。
電源投入時には、LSIの内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定です。
外部リセット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子の状態は保証できません。
同様に、内蔵パワーオンリセット機能を使用してリセットする製品の場合、電源投入からリセットのかかる一定電圧に達するまでの期間、端子の状態は保証できません。

3.

リザーブアドレス（予約領域）のアクセス禁止【注意】リザーブアドレス（予約領域）のアクセスを禁止します。
アドレス領域には、将来の機能拡張用に割り付けられているリザーブアドレス（予約領域）があります。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしないようにしてください。

4.

クロックについて【注意】リセット時は、クロックが安定した後、リセットを解除してください。
プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後に切り替えてください。
リセット時、外部発振子（または外部発振回路）を用いたクロックで動作を開始するシステムでは、クロックが十分安定した後、リセットを解除してください。また、プログラムの途中で外部発振子（または外部発振回路）を用いたクロックに切り替える場合は、切り替え先のクロックが十分安定してから切り替えてください。

5.

製品間の相違について【注意】型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してください。
同じグループのマイコンでも型名が違うと、内部ROM、レイアウトパターンの相違などにより、電気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ輻射量などが異なる場合があります。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。

ご注意書き1. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器・システムの設計において、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因して、お客様または第三者に生じた損害に関し、当社は、一切その責任を負いません。
2. 本資料に記載されている情報は、正確を期すため慎重に作成したものですが、誤りがないことを保証するものではありません。万一、本資料に記載されている情報の誤りに起因する損害がお客様に生じた場合においても、当社は、一切その責任を負いません。
3. 本資料に記載された製品デ−タ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著作権その他の知的財産権に対する侵害に関し、当社は、何らの責任を負うものではありません。当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許諾するものではありません。
4. 当社製品を改造、改変、複製等しないでください。かかる改造、改変、複製等により生じた損害に関し、当社は、一切その責任を負いません。
5. 当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、各品質水準は、以下に示す用途に製品が使用されることを意図しております。
標準水準：

コンピュータ、OA機器、通信機器、計測機器、AV機器、家電、工作機械、パーソナル機器、産業用ロボット等

高品質水準：輸送機器（自動車、電車、船舶等）、交通用信号機器、
防災・防犯装置、各種安全装置等
当社製品は、直接生命・身体に危害を及ぼす可能性のある機器・システム（生命維持装置、人体に埋め込み使用するもの等） 、もしくは多大な物的損害を発生させるおそれのある機器・システム（原子力制御システム、軍事機器等）に使用されることを意図しておらず、使用することはできません。 たとえ、意図しない用
途に当社製品を使用したことによりお客様または第三者に損害が生じても、当社は一切その責任を負いません。 なお、ご不明点がある場合は、当社営業にお問い合わせください。
6. 当社製品をご使用の際は、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他の保証範囲内でご使用ください。当社保証範囲を超えて当社製品をご使用された場合の故障および事故につきましては、当社は、一切その責任を負いません。
7. 当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場合があります。また、当社製品は耐放射線設計については行っておりません。当社製品の故障または誤動作が生じた場合も、人身事故、火災事故、社会的損害等を生じさせないよう、お客様の責任において、冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての出荷保証を行ってください。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってください。
8. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を規制する
RoHS指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。お客様がかかる法令を遵守しないことにより生じた損害に関して、当社は、一切その責任を負いません。
9. 本資料に記載されている当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。また、当社製品および技術を大量破壊兵器の開発等の目的、軍事利用の目的その他軍事用途に使用しないでください。当社製品または技術を輸出する場合は、「外国為替及び外国貿易法」その他輸出関連法令を遵守し、かかる法令の定めるところにより必要な手続を行ってください。
10. お客様の転売等により、本ご注意書き記載の諸条件に抵触して当社製品が使用され、その使用から損害が生じた場合、当社は何らの責任も負わず、お客様にてご負担して頂きますのでご了承ください。
11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。
注1. 本資料において使用されている「当社」とは、ルネサス エレクトロニクス株式会社およびルネサス エレクトロニクス株式会社がその総株主の議決権の過半数を直接または間接に保有する会社をいいます。
注2. 本資料において使用されている「当社製品」とは、注１において定義された当社の開発、製造製品をいいます。

http://www.renesas.com■営業お問合せ窓口※営業お問合せ窓口の住所は変更になることがあります。最新情報につきましては、弊社ホームページをご覧ください。

ルネサス エレクトロニクス株式会社 〒135-0061 東京都江東区豊洲3-2-24（豊洲フォレシア）■技術的なお問合せおよび資料のご請求は下記へどうぞ。
総合お問合せ窓口：http://japan.renesas.com/contact/© 2016 Renesas Electronics Corporation. All rights reserved.
Colophon 4.0