RX600 & RX200シリーズ RX用シンプルフラッシュAPI アプリケーションノート

Similar documents
RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM

スライド 1

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

スライド 1

Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool

fx-9860G Manager PLUS_J

Express5800/R110a-1Hユーザーズガイド

Introduction Purpose This course explains how to use Mapview, a utility program for the Highperformance Embedded Workshop (HEW) development environmen

,,,,., C Java,,.,,.,., ,,.,, i

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」

Express5800/320Fa-L/320Fa-LR

25 II :30 16:00 (1),. Do not open this problem booklet until the start of the examination is announced. (2) 3.. Answer the following 3 proble

Microsoft Word - Win-Outlook.docx

US40cユーザーズガイド

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment


1 138

VE-GP32DL_DW_ZA

EQUIUM EQUIUM S5010 1

Quartus II ハンドブック Volume 5、セクションIV. マルチプロセッサの調整

HA8000シリーズ ユーザーズガイド ~BIOS編~ HA8000/RS110/TS10 2013年6月~モデル

Express5800/320Fa-L/320Fa-LR/320Fa-M/320Fa-MR

HA8000-bdシリーズ RAID設定ガイド HA8000-bd/BD10X2

JAXA key

7 7

AN 100: ISPを使用するためのガイドライン


Web Web Web Web Web, i

N Express5800/R320a-E4 N Express5800/R320a-M4 ユーザーズガイド

Express5800/R320a-E4, Express5800/R320b-M4ユーザーズガイド

Microsoft Word - D JP.docx

Ver.1 1/17/2003 2

GP05取説.indb

For_Beginners_CAPL.indd

【注意事項】RX Driver Package、 RXファミリ RTC モジュール Firmware Integration Technology

joho09.ppt

Express5800/320Fc-MR

Microsoft Word - Meta70_Preferences.doc

HN58V256Aシリーズ/HN58V257Aシリーズ データシート

DocuWide 2051/2051MF 補足説明書

HN58C256A シリーズ/HN58C257A シリーズ データシート

取扱説明書_KX-PW100CL

PFQX2227_ZA

第173回東京エリアDebian勉強会   grml-debootstrapを用いた USB起動メモリの作成

SystemC 2.0を用いた簡易CPUバスモデルの設計

SystemC言語概論

MOTIF XF 取扱説明書

Introduction Purpose The course describes library configuration and usage in the High Performance Embedded Workshop (HEW), which speeds development of

Complex Lab – Operating Systems - Graphical Console

VE-GD21DL_DW_ZB

MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev: PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を

untitled

10ビットPWM機能によるデューティパルス出力

mobicom.dvi

JavaScript の使い方

thesis.dvi


1 124

Express5800/R320a-E4/Express5800/R320b-M4ユーザーズガイド

Nios II 簡易チュートリアル

Condition DAQ condition condition 2 3 XML key value

main01a.dvi


open / window / I / shall / the? something / want / drink / I / to the way / you / tell / the library / would / to / me

2

R1EV5801MBシリーズ データシート

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using con

*Ł\”ƒ‚ä(CV03)

Lab GPIO_35 GPIO

RTX830 取扱説明書

XC9500 ISP CPLD JTAG Port 3 JTAG Controller In-System Programming Controller 8 36 Function Block Macrocells to 8 /GCK /GSR /GTS 3 2 or 4 Blocks FastCO

SHコンパイラ アプリケーションノート 1-導入ガイド: スタートアップルーチンガイド SH-1, SH-2, SH-2A編

Java updated

C H H H C H H H C C CUTION:These telephones are for use in Japan only. They cannot be used in other countries because of differences in voltages, tele

h23w1.dvi

RX62N グループ SCI を使ったクロック同期式シングルマスタ制御ソフトウェア

取説_VE-PV11L(応用編)

MINI2440マニュアル

Axiom_AIR_49_-_UserGuideJP_-_v1.0

1 [1, 2, 3, 4, 5, 8, 9, 10, 12, 15] The Boston Public Schools system, BPS (Deferred Acceptance system, DA) (Top Trading Cycles system, TTC) cf. [13] [

RR-US470 (RQCA1588).indd

L3 Japanese (90570) 2008

橡EN1165.PDF

untitled

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1) * ( /2) * RAID A. SATA B. BIOS SATA ( 1) C. RAID BIOS RAID D. SATA RAID/AHCI 2 SATA M.2 SSD ( 2) ( (

double float

Microsoft Word - PCM TL-Ed.4.4(特定電気用品適合性検査申込のご案内)

29 jjencode JavaScript

OAKS16-FullKit

‚æ4›ñ

i5 Catalyst Case Instructions JP

R1RW0408D シリーズ

C C C - J TH-D TH-D TH-D C C C C C - J TH-D TH-D TH-D C - J TH-D TH-D TH-D C C C C

本機をお使いの方へ

What s your name? Help me carry the baggage, please. politeness What s your name? Help me carry the baggage, please. iii

1 142

内蔵ハードディスクユニット-20GB (PG-HD2E4H) 内蔵ハードディスクユニット-40GB (PG-HD4E4H)取扱説明書 HARD DISK DRIVE 20GB(PG-HD2E4H) HARD DISK DRIVE 40GB(PG-HD4E4H) USER'S GUIDE

ID 3) 9 4) 5) ID 2 ID 2 ID 2 Bluetooth ID 2 SRCid1 DSTid2 2 id1 id2 ID SRC DST SRC 2 2 ID 2 2 QR 6) 8) 6) QR QR QR QR

16 宇 宙 航 空 研 究 開 発 機 構 研 究 開 発 報 告 JAXA-RR

ストラドプロシージャの呼び出し方

Transcription:

R01AN0544JU0240 Rev.2.40 RX600 RX200 API MCU API API RX 0xFF 3.10 API RX610 RX621 RX62N RX62T RX62G RX630 RX631 RX63N RX63T RX210 1.... 2 2. API... 3 3.... 11 4.... 16 5. API... 18 6.... 32 R01AN0544JU0240 Rev.2.40 Page 1 of 29

1. API ROM API ROM ROM RX600 RX200 MCU API ROM ROM 1.1 API ROM ROM ROM ROM R01AN0544JU0240 Rev.2.40 Page 2 of 29

2. API API 2.1 MCU RX600 RX200 MCU 4MHz 2.2 2.2.1 FCU FCU FCU 2.3 2.4 RX v1.02 2.5 r_flash_api_rx_if.h API 2.6 ANSI C99 exact width integer types stdint.h R01AN0544JU0240 Rev.2.40 Page 3 of 29

2.7 r_flash_api_rx_config.h FLASH_API_RX_CFG_ ENABLE_ROM_PROGRAMMING FLASH_API_RX_CFG_FLASH_TO_FL ASH FLASH_API_RX_CFG_DATA_FLASH_ BGO FLASH_API_RX_CFG_ROM_BGO FLASH_API_RX_CFG_FLASH_READY _IPL FLASH_API_RX_CFG_ IGNORE_LOCK_BITS FLASH_API_RX_CFG_ COPY_CODE_BY_API 1 API r_flash_api_rx_config.h ROM RAM ROM ROM ROM API RAM RAM ROM API API ROM ROM API API ROM BGO API API RAM RAM dbsct.c R_FlashCodeCopy() R_FlashCodeCopy() dbsct.c 2.7.1 MCU MCU MCU RX62N ROM FCU API r_bsp API r_bsp RX MCU API r_bsp r_bsp RX R01AN0544JU0240 Rev.2.40 Page 4 of 29

2.7.2 DATA_FLASH_OPERATION_PIPL ROM_OPERATION_PIPL 2.00 2 #define API MCU IPL API IPL ROM MCU IPL BGO ISR IPL ISR ISR IPL MCU IPL 2 1 ISR IPL IPL IPL PSW 2.8 API API 2.8.1 MCU g_flash_blockaddresses[] ROM 0x00 0x00FF4000 ROM 0xFF 0xFFFF4000 ROM 0xFF000000 OR ROM ROM ROM /* Data Structure #1 */ const uint32_t g_flash_blockaddresses[86] = { 0x00FFF000, /* EB00 */ 0x00FFE000, /* EB01 */ 0x00FFD000, /* EB02 */ 0x00FFC000, /* EB03 */... }; R01AN0544JU0240 Rev.2.40 Page 5 of 29

2.9 API r_flash_api_rx_if.h 2 /**** Function Return Values ****/ /* Operation was successful */ #define FLASH_SUCCESS (0x00) /* Flash area checked was blank, making this 0x00 as well to keep existing code checking compatibility */ #define FLASH_BLANK (0x00) /* The address that was supplied was not on aligned correctly for ROM or DF */ #define FLASH_ERROR_ALIGNED (0x01) /* Flash area checked was not blank, making this 0x01 as well to keep existing code checking compatibility */ #define FLASH_NOT_BLANK (0x01) /* The number of bytes supplied to write was incorrect */ #define FLASH_ERROR_BYTES (0x02) /* The address provided is not a valid ROM or DF address */ #define FLASH_ERROR_ADDRESS (0x03) /* Writes cannot cross the 1MB boundary on some parts */ #define FLASH_ERROR_BOUNDARY (0x04) /* Flash is busy with another operation */ #define FLASH_BUSY (0x05) /* Operation failed */ #define FLASH_FAILURE (0x06) /* Lock bit was set for the block in question */ #define FLASH_LOCK_BIT_SET (0x07) /* Lock bit was not set for the block in question */ #define FLASH_LOCK_BIT_NOT_SET (0x08) 2.10 1. r_flash_api_rx 2. src r_flash_api_rx.c 3. r_flash_api_rx 4. r_flash_api_rx src 5. ref r_flash_api_rx_config_reference.h r_flash_api_rx_config.h 6. r_flash_api_rx_config.h 7. API r_flash_api_rx_if.h #include ROM 2.12 8. ROM PFRAM 9. RAM RPFRAM 10. FRAM RAM 11. API ROM RAM R_FlashCodeCopy() R01AN0544JU0240 Rev.2.40 Page 6 of 29

2.11 1. 2. ROM ROM ROM BGO RAM 3. DF DF ROM 2.12 API RAM RX600 RX200 MPU ROM API RAM ROM ROM ROM FCU ROM RAM ROM r_flash_api_rx_config.h FLASH_API_RX_CFG_ENABLE_ROM_PROGRAMMING ROM HEW : 1. RAM RPFRAM 2. ROM PFRAM R01AN0544JU0240 Rev.2.40 Page 7 of 29

3. ROM PFRAM RAM RPFRAM 4. API RAM ROM RAM API MCU RAM RAM dbsct.c RAM dbsct.c RAM : -- FILE [dbsct.c] -- #pragma section $DSEC static const struct { _UBYTE *rom_s; /* Initial address on ROM of initialization data section */ _UBYTE *rom_e; /* Final address on ROM of initialization data section */ _UBYTE *ram_s; /* Initial address on RAM of initialization data section */ } DTBL[] = { { sectop("d"), secend("d"), sectop("r") }, { sectop("pfram"), secend("pfram"), sectop("rpfram") } }; R01AN0544JU0240 Rev.2.40 Page 8 of 29

2.20 RAM API R_FlashCodeCopy() API r_flash_api_rx_config.h COPY_CODE_BY_API dbsct.c R_FlashCodeCopy() E2Studio : E2Studio ROM RAM 1. RAM RPFRAM 2. ROM PFRAM 3. -rom,pfram=rpfram ROM PFRAM RAM RPFRAM E2Studio Tool Settings Linker >> User R01AN0544JU0240 Rev.2.40 Page 9 of 29

4. HEW API RAM 2.13 ROM BGO API FCU API 3 flash_api_rx_demo_main.c 3 void FlashEraseDone(void) ROM void FlashWriteDone(void) ROM void FlashBlankCheckDone(uint8_t result) result FLASH_BLANK FLASH_NOT_BLANK void FlashError(void) API FCU R01AN0544JU0240 Rev.2.40 Page 10 of 29

3. 3.1 HEW E1 E20 RAM RX600 RX200 FDT HEW E1/E20 Configuration Properties Internal flash memory overwrite R01AN0544JU0240 Rev.2.40 Page 11 of 29

3.2 HEW HEW Memory HEW CPU E1/E20/JLink Configuration Properties System Debug the program using the CPU re-write mode Memory 3.3 ROM RX600 RX200 ROM MCU 2MB ROM RX63N 4 ROM 0 1 2 3 ROM R_FlashWrite() ROM FENTRY FENTRY 1 R_FlashWrite() R01AN0544JU0240 Rev.2.40 Page 12 of 29

3.4 BGO BGO ROM RAM 3.5 ROM BGO ROM BGO RAM ROM BGO API ROM API ROM ROM ROM ROM ROM INTB 3.6 ROM BGO 3.7 API ROM RAM ROM API RAM RPFRAM PFRAMROM 1. r_flash_api_rx_config.h ENABLE_ROM_PROGRAMMING 2. RPFRAM PFRAM ROM RAM 2.12 3. ROM R_FlashCodeCopy() 3.8 ROM API API RAM ROM BGO RAM API RAM RAM ROM RAM API RAM 1. src/targets/ MCU RX62N MCU src/targets/rx62n/r_flash_api_rx62n.h 2. g_flash_blockaddresses[] extern 2 const RAM R01AN0544JU0240 Rev.2.40 Page 13 of 29

RAM ROM BGO FCU RAM 3.9 R_FlashDataAreaAccess() API 5.4 3.10 RX 0xFF RX 1 2 ROM 1 1 4 0 1 3 RX 0 1 0 1 R_FlashDataAreaBlankCheck() 5.5 RX FCU 3.11 API RX 24 16 24 32 16 24 RX 32 24 1 16 2 24 API 32 API ROM RAM 0xFF800000RAM 0x00000000 0x800000 24 2 RAM 24 RX L2330 (E) Relocation size overflow RX 32 HEW : 1. HEW 2. Build >> RX Standard Toolchain 3. RX Standard Toolchain CPU 4. CPU 5. Details 6. CPU details Width of divergence of function 32 bit R01AN0544JU0240 Rev.2.40 Page 14 of 29

E2Studio : 1. Properties 2. C/C++ Build Settings 3. Tool Settings Compiler >> CPU >> Advanced 4. Width of divergence of function 32 bit R01AN0544JU0240 Rev.2.40 Page 15 of 29

4. RAM 4.1 RX600 RX200 MCU MCU HEW IVT IVT 0xFFFFFFFC 0xFF7FFFFC 0xFF7FFFFC 1. 0xFF7FFFFC BOOTVECT 2. C BootLoader #pragma section C BOOTVECT void* const Boot_Vectors[] = { //0xFF7FFFFC is reset vector in User Boot Mode (void*) BootLoader, } 4.2 RAM RX RAM HEW RAM F (Fixed) MY_APP_RAM FMY_APP_RAM RAM ROM HEW P (Program) MY_APP PMY_APP RX RAM ROM ROM RAM RAM RAM ROM RAM ROM RAM -rom=xxxx=yyyy xxxx ROM yyyy RAM R01AN0544JU0240 Rev.2.40 Page 16 of 29

2.12 3 HEW -rom=pmy_app=fmy_app_ram RAM ROM RAM 2.12 4 dbset.c unsigned char *scr; unsigned char *dst; src = (unsigned char *)( sectop("pmy_app")); dst = (unsigned char *)( sectop("fmy_app_ram")); for( ; src < (unsigned char *)( secend("pmy_app")); src++, dst++) { *dst = *src; } RAM ROM #pragma section MY_APP MY_APP P P #pragma section #pragma section #pragma section RX #pragma section MY_APP void function1( void ) { {THIS FUNCTION WILL BE PLACED IN PMY_APP } } void function2( void ) { {THIS FUNCTION WILL BE PLACED IN PMY_APP } } 1 RAM ROM RAM 1 32 ROM RAM ROM R01AN0544JU0240 Rev.2.40 Page 17 of 29

5. API 5.1 API R_FlashErase() R_FlashEraseRange() R_FlashWrite() R_FlashDataAreaAccess() R_FlashDataAreaBlankCheck() R_FlashProgramLockBit() R_FlashReadLockBit() R_FLashSetLockBitProtection() R_FlashGetStatus() R_FlashCodeCopy() R_FlashGetVersion() 1 ROM ROM ROM API ROM RAM API R01AN0544JU0240 Rev.2.40 Page 18 of 29

5.2 R_FlashErase uint8_t R_FlashErase(uint32_t block); block r_flash_api_rx_if.h RX610 0xFFFFE000 0 BLOCK_0 FLASH_SUCCESS: FLASH_FAILURE: FLASH_BUSY: BGO r_flash_api_rx_if.h r_flash_api_rx.c 1 RX63x MCU RX MCU RX630 RX631 RX63N 32 32KB 1024 : BLOCK_DB0, BLOCK_DB1,, BLOCK_DB1023 2KB 64 R_FlashEraseRange() 32 uint32_t loop; uint8_t ret; /* Search for record */ for (loop = 0; loop < NUM_BLOCKS_TO_ERASE; loop++) { /* Erase block */ ret = R_FlashErase(loop); } /* Check for errors. */ if (FLASH_SUCCESS!= ret) {... } R_FlashDataAreaAccess() R01AN0544JU0240 Rev.2.40 Page 19 of 29

5.3 R_FlashEraseRange RX610 RX62x uint8_t R_FlashEraseRange(uint32_t start_addr, uint32_t bytes); start_addr bytes RX630 32 32 64 96... FLASH_SUCCESS: BGO FLASH_FAILURE: FLASH_BUSY: FLASH_ERROR_BYTES: FLASH_ERROR_ADDRESS: r_flash_api_rx_if.h r_flash_api_rx.c 1 RX63x MCU RX600 MCU #define uint8_t ret; /* Erase 64 bytes. */ ret = R_FlashEraseRange(address, 64); /* Check for errors. */ if (FLASH_SUCCESS!= ret) {... } RX610 RX62x MCU MCU R_FlashErase() ROM R_FlashDataAreaAccess() R01AN0544JU0240 Rev.2.40 Page 20 of 29

5.4 R_FlashWrite uint8_t R_FlashWrite( uint32_t uint32_t uint16_t flash_addr, buffer_addr, bytes); flash_addr buffer_addr bytes buffer_addr FLASH_SUCCESS: BGO FLASH_FAILURE: FLASH_BUSY: FLASH_ERROR_ALIGNED: FLASH_ERROR_BYTES: FLASH_ERROR_ADDRESS: FLASH_ERROR_BOUNDARY: (ROM) ROM r_flash_api_rx_if.h r_flash_api_rx.c MCU ROM 256 B0 B7 0 RX MCU ROM r_flash_api_rx_private.h ROM_AREA_# R01AN0544JU0240 Rev.2.40 Page 21 of 29

uint8_t ret; uint8_t write_buffer[program_size] = Hello World... ; /* Write data to internal memory. */ ret = R_FlashWrite(address, (uint32_t)write_buffer, PROGRAM_SIZE); /* Check for errors. */ if (FLASH_SUCCESS!= ret) {... } RX MCU MCU ROM RX61x RX62x 256 8 128 RX63x 128 2 RX210 2 8 128 2 8 R_FlashDataAreaAccess() R01AN0544JU0240 Rev.2.40 Page 22 of 29

5.5 R_FlashDataAreaAccess void R_FlashDataAreaAccess(uint16_t read_en_mask, uint16_t write_en_mask); read_en_mask MCU '0''1' 0 3 0 3 write_en_mask FCU '0' '1' 0 3 0 3 r_flash_api_rx_if.h r_flash_api_rx.c MCU 1 /* Enable reading, writing, and erasing of all data flash blocks. */ R_FlashDataAreaAccess(0xFFFF, 0xFFFF); R01AN0544JU0240 Rev.2.40 Page 23 of 29

5.6 R_FlashDataAreaBlankCheck 0xFF uint8_t R_FlashDataAreaBlankCheck(uint32_t address, uint8_t size); address 'size' 'BLANK_CHECK_8_BYTE' RX610 RX62x 8 'size' 'BLANK_CHECK_2_BYTE' RX63x 2 'size' 'BLANK_CHECK_ENTIRE_BLOCK' RX600 RX200 'BLOCK_DB0' 'BLOCK_DB1' 'BLOCK_DB2' 'BLOCK_DB3' size 8 2 8KB 'BLANK_CHECK_2_BYTE' 'BLANK_CHECK_8_BYTE' 'BLANK_CHECK_ENTIRE_BLOCK' FLASH_BLANK: FLASH_NOT_BLANK: FLASH_FAILURE: FLASH_BUSY: FLASH_ERROR_ADDRESS: FLASH_ERROR_BYTES: 2 8 BGO BGO size r_flash_api_rx_if.h r_flash_api_rx.c MCU RX600 RX200 0xFF RX600 RX200 RX610 RX62x 8 RX63x 2 R01AN0544JU0240 Rev.2.40 Page 24 of 29

uint8_t ret; /* Blank check an entire data flash block. */ ret = R_FlashDataAreaBlankCheck(address, BLANK_CHECK_ENTIRE_BLOCK); /* Check result. */ if (FLASH_NOT_BLANK == ret) { /* Block is not blank. */... } else if (FLASH_BLANK == ret) { /* Block is blank. */... } RX MCU RX610 RX62x RX63x RX210 MCU 8 8KB 8 2KB 2 2KB 2 2KB R01AN0544JU0240 Rev.2.40 Page 25 of 29

5.7 R_FlashProgramLockBit uint8_t R_FlashProgramLockBit(uint32_t block); block ROM FLASH_SUCCESS: FLASH_FAILURE: FLASH_BUSY: r_flash_api_rx_if.h r_flash_api_rx.c ROM API R_FlashSetLockBitProtection() uint8_t ret; /* Enable lock bit protection (this is default out of reset) */ ret = R_FlashSetLockBitProtection(true); /* Check for errors. */ if (FLASH_SUCCESS!= ret) {... } /* Program lock bits */ ret = R_FlashProgramLockBit(flash_block); /* Check for errors. */ if (FLASH_SUCCESS!= ret) {... } r_flash_api_rx_config.h FLASH_API_RX_CFG_IGNORE_LOCK_BITS R01AN0544JU0240 Rev.2.40 Page 26 of 29

5.8 R_FlashReadLockBit uint8_t R_FlashReadLockBit(uint32_t block); block ROM FLASH_LOCK_BIT_SET: FLASH_LOCK_BIT_NOT_SET: FLASH_FAILURE: FLASH_BUSY: r_flash_api_rx_if.h r_flash_api_rx.c ROM API R_FlashSetLockBitProtection() uint8_t ret; /* Program lock bits */ ret = R_FlashReadLockBit(flash_block); /* Check result. */ if (FLASH_LOCK_BIT_SET == ret) { /* Lock bit is set for this block. */... } else if (FLASH_LOCK_BIT_NOT_SET == ret) { /* Lock bit was not set for this block. */... } r_flash_api_rx_config.h FLASH_API_RX_CFG_IGNORE_LOCK_BITS R01AN0544JU0240 Rev.2.40 Page 27 of 29

5.9 R_FlashSetLockBitProtection uint8_t R_FlashSetLockBitProtection(uint32_t lock_bit); lock_bit 'true' 'false' FLASH_SUCCESS: FLASH_BUSY: r_flash_api_rx_if.h r_flash_api_rx.c ROM uint8_t ret; /* Enable lock bit protection (this is default out of reset) */ ret = R_FlashSetLockBitProtection(true); /* Check for errors. */ if (FLASH_SUCCESS!= ret) {... } r_flash_api_rx_config.h FLASH_API_RX_CFG_IGNORE_LOCK_BITS R01AN0544JU0240 Rev.2.40 Page 28 of 29

5.10 R_FlashGetStatus uint8_t R_FlashGetStatus(void); FLASH_SUCCESS: FLASH_BUSY: r_flash_api_rx_if.h r_flash_api_rx.c BGO uint8_t ret; /* Blank check an entire data flash block. */ ret = R_FlashDataAreaBlankCheck(address, BLANK_CHECK_ENTIRE_BLOCK); while( R_FlashGetStatus() == FLASH_BUSY ) { /* Wait for previous operation to finish. You could also stall this task and do some real work. */ } R01AN0544JU0240 Rev.2.40 Page 29 of 29

5.11 R_FlashCodeCopy API ROM RAM void R_FlashCodeCopy(void); r_flash_api_rx_if.h r_flash_api_rx.c ROM ROM API ROM ROM RAM /* Transfer Flash API code to RAM so that we can program/erase ROM. */ R_FlashCodeCopy(); /* Flash API can now program/erase ROM. */ ROM API ROM 2.12 dbsct.c ROM dbsct.c API API RAM R01AN0544JU0240 Rev.2.40 Page 30 of 29

5.12 R_FlashGetVersion API uint32_t R_FlashGetVersion(void); API r_flash_api_rx_if.h r_flash_api_rx.c API 2 2 4.25 0x00040019 uint32_t cur_version; /* Get version of installed Flash API. */ cur_version = R_FlashGetVersion(); /* Check to make sure version is new enough for this application s use. */ if (MIN_VERSION > cur_version) { /* This Flash API version is not new enough and does not have XXX feature that is needed by this application. Alert user. */... } r_flash_api_rx.c R01AN0544JU0240 Rev.2.40 Page 31 of 29

6. API 7flash_api_rx_demo_main.c main() 6.1 HEW RSKRX62N RSKRX630 YRDKRX63N r_bsp HEW : 1. Flash_API_RX HEW Set as Current Project 2. r_bsp platform.h RSK+RX63N RSKRX63N #include R01AN0544JU0240 Rev.2.40 Page 32 of 29

8Hhttp://japan.renesas.com/ 9Hhttp://japan.renesas.com/inquiry R01AN0544JU0240 Rev.2.40 Page 33 of 29

Rev. 1.00 2010.01.27 1.20 2010.02.11 1.30 2010.03.05 RTE 1.40 2010.05.26 RX62x 1.41 2010.06.11 1.43 2011.02.18 blank check 2.00 2011.04.27 BGO 2.10 2011.07.11 RX630 RX631 RX63N DATA_FLASH_OPERATION_PIPL ROM_OPERATION_PIPL API R_FlashEraseRange() RX610 RS63x ROM 3.4 2.20 2012.03.27 r_bsp API R_FlashCodeCopy() 2.30 2012.09.12 F_FlashGetVersion() API r_bsp r_bsp ROM API R_FlashDataAreaBlankCheck 2.40 RX210 RX62G RX63T RX200 RX600 APIRX API 0xFF API API A-1

1. CMOS LSILSI 2. LSI 3. 4. 5.