#ifdef ENABLE_QAC_TEST #pragma PRQA_MESSAGES_OFF 0292 #endif /********************************************************************************************************************* * Library : Data Flash Access Library for Renesas RH850 devices * * File Name : $Source: r_fdl_env.h $ * Lib. Version : $RH850_FDL_LIB_VERSION_T01: V2.11 $ * Mod. Revision : $Revision: 1.21 $ * Mod. Date : $Date: 2016/06/01 12:39:17JST $ * Device(s) : RV40 Flash based RH850 microcontroller * Description : Flash programming hardware related definitions *********************************************************************************************************************/ /********************************************************************************************************************* * DISCLAIMER * This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. * No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all * applicable laws, including copyright laws. * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED * OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS * AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY * REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH * DAMAGES. * Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of * this software. By using this software, you agree to the additional terms and conditions found by accessing the * following link: * http://www.renesas.com/disclaimer * * Copyright (C) 2015-2016 Renesas Electronics Corporation. All rights reserved. *********************************************************************************************************************/ #ifdef ENABLE_QAC_TEST #pragma PRQA_MESSAGES_ON 0292 #endif /********************************************************************************************************************* * MISRA Rule: MISRA-C 2004 rule 3.1 (QAC message 0292) * Reason: To support automatic insertion of revision, module name etc. by the source revision control system * it is necessary to violate the rule, because the system uses non basic characters as placeholders. * Verification: The placeholders are used in commentaries only. Therefore rule violation cannot influence code * compilation. *********************************************************************************************************************/ #ifndef R_FDL_ENV_H #define R_FDL_ENV_H /********************************************************************************************************************* * Global constants (define, const, ...) *********************************************************************************************************************/ /* ---------------- FCU definitions ---------------------------------------- */ #ifdef R_FDL_CPE_SUPPORT #include "r_fdl_env_cpe.h" #else #define R_FCU_BASE (0xFFA10000uL) #define R_FCU_RAM_ADD (0xFFA12000uL) #define R_FCU_DFLASH_CMD_ADD (0xFFA20000uL) #define R_BWCBUF_G3K_ADD (0xFFBC0700uL) #define R_BWCBUF_G3KH_ADD (0xFFC5B000uL) #endif #define R_FCU_REGADD_FASTAT_U08 (R_FCU_BASE + 0x010uL) #define R_FCU_REGBIT_FASTAT_CMDLK (0x10u) #define R_FCU_REGADD_FAEINT_U08 (R_FCU_BASE + 0x014uL) #define R_FCU_REGVAL_FAEINT_DISABLE (0x88u) #define R_FCU_REGVAL_FAEINT_ENABLE (0x99u) #define R_FCU_REGADD_FMATSELC_U16 (R_FCU_BASE + 0x020uL) #define R_FCU_REGBIT_FMATSELC_KEY (0x3B00u) #define R_FCU_REGBIT_FMATSELC_EX3S (0x0004u) /* Select EXA3 */ #define R_FCU_REGBIT_FMATSELC_RESET (0x0000u) #define R_FCU_REGADD_FSADR_U32 (R_FCU_BASE + 0x030uL) #define R_FCU_REGADD_FEADR_U32 (R_FCU_BASE + 0x034uL) #define R_FCU_REGADD_FCURAME_U16 (R_FCU_BASE + 0x054uL) #define R_FCU_REGBIT_FCURAME_KEY (0xC400u) #define R_FCU_REGBIT_FCURAME_FCRME (0x0001u) /* 1: on, 0: off */ #define R_FCU_REGBIT_FCURAME_FRAMTRAN (0x0002u) /* 0: RW, 1: High speed */ #define R_FCU_REGBIT_FCURAME_RESET (0x0000u) #define R_FCU_REGADD_FSTATR_U32 (R_FCU_BASE + 0x080uL) #define R_FCU_REGBIT_FSTATR_FRCRCT (0x00000001uL) #define R_FCU_REGBIT_FSTATR_FRDTCT (0x00000002uL) #define R_FCU_REGBIT_FSTATR_TBLDTCT (0x00000008uL) #define R_FCU_REGBIT_FSTATR_CFGDTCT (0x00000020uL) #define R_FCU_REGBIT_FSTATR_FHVEERR (0x00000040uL) #define R_FCU_REGBIT_FSTATR_FCUERR (0x00000080uL) #define R_FCU_REGBIT_FSTATR_PRGSPD (0x00000100uL) #define R_FCU_REGBIT_FSTATR_ERSSPD (0x00000200uL) #define R_FCU_REGBIT_FSTATR_DBFULL (0x00000400uL) #define R_FCU_REGBIT_FSTATR_SUSRDY (0x00000800uL) #define R_FCU_REGBIT_FSTATR_PRGERR (0x00001000uL) #define R_FCU_REGBIT_FSTATR_ERSERR (0x00002000uL) #define R_FCU_REGBIT_FSTATR_ILGERR (0x00004000uL) #define R_FCU_REGBIT_FSTATR_FRDY (0x00008000uL) #define R_FCU_REGBIT_FSTATR_OTPDTCT (0x00020000uL) #define R_FCU_REGBIT_FSTATR_RESET (0x00000000uL) #define R_FCU_REGADD_FENTRYR_U16 (R_FCU_BASE + 0x084uL) #define R_FCU_REGBIT_FENTRY_FENTRYD (0x0080u) #define R_FCU_REGBIT_FENTRY_FENTRYC (0x0001u) #define R_FCU_REGBIT_FENTRY_KEY (0xAA00u) #define R_FCU_REGBIT_FENTRY_OFF (0x0000u) #define R_FCU_REGBIT_FENTRY_KEYMASK (0x00FFu) #define R_FCU_MODE_PE (R_FCU_REGBIT_FENTRY_FENTRYD) #define R_FCU_MODE_CPE (R_FCU_REGBIT_FENTRY_FENTRYC) #define R_FCU_MODE_USER (R_FCU_REGBIT_FENTRY_OFF) #define R_FCU_REGADD_FBCSTAT_U08 (R_FCU_BASE + 0x0D4uL) #define R_FCU_REGBIT_FBCSTAT_BCST (0x01u) #define R_FCU_REGADD_FPSADDR_U32 (R_FCU_BASE + 0x0D8uL) #define R_FCU_REGADD_PCKAR_U16 (R_FCU_BASE + 0x0E4uL) #define R_FCU_REGBIT_PCKAR_KEY (0x1E00u) #define R_DECC_BASE_E1X (0xFFC62C00uL) #define R_DECC_BASE_F1X (0xFFC66000uL) #define R_DECC_BASE (g_fdl_str.baseAddrECC_u32) #define R_FCU_REGADD_DFERSTR_U32 (R_DECC_BASE + 0x004uL) #define R_FCU_REGBIT_DFERSTR_SEDF (0x00000001u) #define R_FCU_REGBIT_DFERSTR_DEDF (0x00000002u) #define R_FCU_REGVAL_DFERSTR_NOERR (0x00000000u) #define R_FCU_REGADD_DFERSTC_U08 (R_DECC_BASE + 0x008uL) #define R_FCU_REGBIT_DFERSTC_ERRCLR (0x01u) #define R_FCU_REGADD_DFERINT_U08 (R_DECC_BASE + 0x014uL) #define R_FCU_REGVAL_DFERINT_NOINT (0x00u) /* The BFA defines are just dummy defines in order to remember that the values are required. The values are used in in-line assembly code and cannot be derived from this header file */ #define R_CCIB_BASE (0xFFC59000uL) #define R_FCU_REGADD_BFASELR_U08 (R_CCIB_BASE + 0x008uL) #define R_FCU_REGBIT_BFASELR_BFASEL (0x01u) #define R_FCU_REGBIT_BFASELR_RESET (0x00u) /* ---------------- Other Data Flash related defines ----------------------- */ #define R_FCU_RAM_SIZE (0x00001000uL) #ifdef R_FDL_NO_BFA_SWITCH #define R_FCU_RAM_BASE_ADD (0x01037000uL) #define R_FCU_FWPARAM_BASE_ADD (0x01030000uL) #else #define R_FCU_RAM_BASE_ADD (0x00017000uL) #define R_FCU_FWPARAM_BASE_ADD (0x00010000uL) #endif #define R_FCU_RAM_SRC_ADD (R_FCU_RAM_BASE_ADD) #define R_FCU_RAM_ADD_CHKSUM_END (R_FCU_RAM_BASE_ADD + 0x00000FF8uL) #define R_FCU_RAM_ADD_CHKSUM (R_FCU_RAM_BASE_ADD + 0x00000FFCuL) #define R_EXTRA3_FWVER (R_FCU_FWPARAM_BASE_ADD + 0x00000219uL) #define R_EXTRA3_FMAX (R_FCU_FWPARAM_BASE_ADD + 0x00000234uL) #define R_EXTRA3_FMIN (R_FCU_FWPARAM_BASE_ADD + 0x00000238uL) #define R_EXTRA3_FDIV_FWVER_03 (R_FCU_FWPARAM_BASE_ADD + 0x00000264uL) #define R_EXTRA3_FPCLK_FWVER_03 (R_FCU_FWPARAM_BASE_ADD + 0x00000274uL) #define R_EXTRA3_FDIV_FWVER_04 (R_FCU_FWPARAM_BASE_ADD + 0x00000265uL) #define R_EXTRA3_FPCLK_FWVER_04 (R_FCU_FWPARAM_BASE_ADD + 0x00000278uL) #define R_EXTRA3_SCDSADD (R_FCU_FWPARAM_BASE_ADD + 0x00000270uL) #define R_EXTRA3_ECCADDR (R_FCU_FWPARAM_BASE_ADD + 0x00000288uL) #define R_FCU_FWVER_03 (0x03u) #define R_FCU_FWVER_04 (0x04u) #define R_PRDSEL3_OFFSET (0xC8uL) #define R_PRDNAME2_OFFSET (0xD4uL) #define R_PRDNAME_010x (0x00303130u) #define R_FCU_DFLASH_READ_ADD (0xFF200000uL) #define R_FCU_CMD_ERASE (0x20u) /* FCU erase command */ #define R_FCU_CMD_CLEARSTAT (0x50u) /* FCU clear status reg. command */ #define R_FCU_CMD_BLANKCHECK (0x71u) /* FCU BC command */ #define R_FCU_CMD_SUSPEND (0xB0u) /* FCU suspend command */ #define R_FCU_CMD_FORCED_STOP (0xB3u) /* Stop and reset FCU */ #define R_FCU_CMD_WRITE (0xE8u) /* FCU write command */ #define R_FCU_CMD_EXE (0xD0u) /* FCU start execution */ #define R_FCU_DATA_TRANSFERSIZE (0x02uL) #define R_FCU_FMIN (0x0004u) #define R_FCU_FMAX (0x0064u) #define R_BLOCK_SIZE (0x0040u) /* EEP Flash block size in bytes */ #define R_BLOCK_SIZE_2N (0x0006u) /* EEP block size as 2^N Bytes */ #define R_WRITE_SIZE (0x00000004uL) /* Normal write granularity */ #define R_WRITE_SIZE_16B (0x00000010uL) /* 16 bytes write granularity */ #define R_MACROSIZE_MIN (0x00001000uL) /* Minimum Flash macro size */ #define R_SYSTEM_REGISTER_PID 6, 1 /* do not use brackets to access system register */ #define R_PID_CORE_MASK (0x000000E0) #define R_PID_CORE_G3K (0x00000020) #define R_PID_CORE_G3KH (0x000000a0) /* ---------------------------- Other defines ------------------------------ */ #define R_U32_ALIGNED (0x03u) /*********************************************************************************************************************/ #endif /* ifndef R_FDL_ENV_H */