PLEASE REFER TO THE APPLICATION NOTE FOR THIS MODULE FOR MORE INFORMATION r_flash_rx ================= Document Number --------------- r01an2184ej0450 r01an2184jj0450 Version ------- v4.50 Overview -------- A simple Application Program Interface (API) has been created to allow users of flash based RX700, RX600, RX200 and RX100 Series devices to easily integrate reprogramming abilities into their applications using User Mode programming. User Mode programming is the term used to describe a Renesas MCU's ability to reprogram its own internal flash memory while running in its normal operational mode. Features -------- * Data Flash and ROM Erase * Data Flash and ROM Blank Check * Data Flash and ROM Write * Supports background operations (BGO) on ROM and data flash. * ROM Area Protection support * ROM Start-Up Program Protection support * ROM Cache Supported MCUs -------------- * RX110 Group * RX111 Group * RX113 Group * RX130 Group * RX13T Group * RX230 Group * RX231 Group * RX23E-A Group * RX23T Group * RX23W Group * RX24T Group * RX24U Group * RX64M Group * RX651, RX65N Group * RX66N Group * RX66T Group * RX71M Group * RX72M Group * RX72N Group * RX72T Group Boards Tested On ---------------- * RSKRX110 * RSKRX111 * RSKRX113 * RSKRX130 * RX13T CPU Card * RSKRX231 * RSSKRX23E-A * RSKRX23T * RSSKRX23W * RSKRX24T * RSKRX24U * RSKRX64M * RSKRX65N * RSKRX65N-2MB * RSKRX66T * RSKRX71M * RSKRX72M * RSKRX72N * RSKRX72T Limitations ----------- * This code is not re-entrant and protects against multiple concurrent function calls. * During ROM operations neither ROM nor dataflash (DF) can be accessed. If using ROM with BGO, then make sure the code runs from RAM. * During DF operations, the DF cannot be accessed but ROM can be accessed normally. Peripherals Used Directly ------------------------- * Flash Control Unit (FCU) - RX200, RX600, and RX700 Required Packages ----------------- * r_bsp V5.50 How to add to your project -------------------------- * Add the r_flash_rx and r_config folders to your project. * Add a project include path for the 'r_flash_rx' directory. * Add a project include path for the 'r_flash_rx\src' directory. * Add a project include path for the 'r_flash_rx\src\targets' directory. * Add a project include path for the 'r_flash_rx\src\flash_type_x' directory, where "x" is 1, 3, or 4 (see app note for MCU flash type assignments). Adding all 3 flash type paths will not cause a build issue. * Add a project include path for the 'r_config' directory. * Copy the reference configuration file from the '\r_flash_rx\ref' directory into the 'r_config' directory and rename it to 'r_flash_rx_config.h'. * Open "r_config\r_flash_rx_config.h" file and configure the driver for your project. * Add a #include for r_flash_rx_if.h to any source files that need to use the API functions. * (The following steps are only required if you are programming or erasing ROM. If you are only operating on data flash, then these steps can be ignored. These steps are discussed with more detail in the app note.) * Make a linker ROM section named 'PFRAM'. * Make a linker RAM section named 'RPFRAM'. * Configure your linker such that code in the 'FRAM' section will be executed in RAM (see app note PFRAM=RPFRAM in linker output). Toolchain(s) Used ----------------- * Renesas RXC 3.01.00 * GNU GNURX 4.08.04.201902 * IAR ICCRX 4.12.01 File Structure -------------- r_flash_rx | +-- readme.txt | +-- r_flash_rx_if.h | +---doc | +-- en | | +-- r01an2184ej0450-rx-flash.pdf | +-- ja | +-- r01an2184jj0450-rx-flash.pdf | +---ref | +-- r_flash_rx_config_reference.h | +---src +-- r_flash_rx.c +-- r_flash_rx.h +-- r_flash_group.c +-- r_flash_group.h +-- r_flash_fcu.c +-- r_flash_fcu.h | +-- flash_type_1 | +-- r_codeflash_extra.c +-- r_codeflash_extra.h +-- r_codeflash.c +-- r_codeflash.h +-- r_dataflash.c +-- r_dataflash.h +-- r_flash_common.h +-- r_flash_type1.c +-- r_flash_type1_if.h +-- r_flash_utils.c | +-- flash_type_3 | +--r_flash_type3.c +--r_flash_type3_if.h | +-- flash_type_4 | +--r_flash_type4.c +--r_flash_type4_if.h | +-- targets | +--rx110 +-- r_flash_rx110.h | +--rx111 +-- r_flash_rx111.h | +--rx113 +-- r_flash_rx113.h | +--rx130 +-- r_flash_rx130.h | +--rx13t +-- r_flash_rx13t.h | +--rx231 +-- r_flash_rx231.h | +--rx23e-a +-- r_flash_rx23e-a.h | +--rx23t +-- r_flash_rx23t.h | +--rx23w +-- r_flash_rx23w.h | +--rx24t +-- r_flash_rx24t.h | +--rx24u +-- r_flash_rx24u.h | +--rx64m +-- r_flash_rx64m.h | +--rx65n +-- r_flash_rx65n.h | +--rx66n +-- r_flash_rx66n.h | +--rx66t +-- r_flash_rx66t.h | +--rx71m +-- r_flash_rx71m.h | +--rx72m +-- r_flash_rx72m.h | +--rx72n +-- r_flash_rx72n.h | +--rx72t +-- r_flash_rx72t.h r_config r_flash_rx_config.h