| PDL for FM0+ Version1.0 Peripheral Driverl Library for FM0+

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

C:/pdl_v10/library/driver/flash/flash.h
Go to the documentation of this file.

    00001 /*******************************************************************************
    00002 * Copyright (C) 2013 Spansion LLC. All Rights Reserved.
    00003 *
    00004 * This software is owned and published by:
    00005 * Spansion LLC, 915 DeGuigne Dr. Sunnyvale, CA  94088-3453 ("Spansion").
    00006 *
    00007 * BY DOWNLOADING, INSTALLING OR USING THIS SOFTWARE, YOU AGREE TO BE BOUND
    00008 * BY ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT.
    00009 *
    00010 * This software contains source code for use with Spansion
    00011 * components. This software is licensed by Spansion to be adapted only
    00012 * for use in systems utilizing Spansion components. Spansion shall not be
    00013 * responsible for misuse or illegal use of this software for devices not
    00014 * supported herein.  Spansion is providing this software "AS IS" and will
    00015 * not be responsible for issues arising from incorrect user implementation
    00016 * of the software.
    00017 *
    00018 * SPANSION MAKES NO WARRANTY, EXPRESS OR IMPLIED, ARISING BY LAW OR OTHERWISE,
    00019 * REGARDING THE SOFTWARE (INCLUDING ANY ACOOMPANYING WRITTEN MATERIALS),
    00020 * ITS PERFORMANCE OR SUITABILITY FOR YOUR INTENDED USE, INCLUDING,
    00021 * WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, THE IMPLIED
    00022 * WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE, AND THE IMPLIED
    00023 * WARRANTY OF NONINFRINGEMENT.
    00024 * SPANSION SHALL HAVE NO LIABILITY (WHETHER IN CONTRACT, WARRANTY, TORT,
    00025 * NEGLIGENCE OR OTHERWISE) FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT
    00026 * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION,
    00027 * LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING FROM USE OR
    00028 * INABILITY TO USE THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ANY DIRECT,
    00029 * INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS OF DATA,
    00030 * SAVINGS OR PROFITS,
    00031 * EVEN IF SPANSION HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    00032 * YOU ASSUME ALL RESPONSIBILITIES FOR SELECTION OF THE SOFTWARE TO ACHIEVE YOUR
    00033 * INTENDED RESULTS, AND FOR THE INSTALLATION OF, USE OF, AND RESULTS OBTAINED
    00034 * FROM, THE SOFTWARE.
    00035 *
    00036 * This software may be replicated in part or whole for the licensed use,
    00037 * with the restriction that this Disclaimer and Copyright notice must be
    00038 * included with each copy of this software, whether used in part or whole,
    00039 * at all times.
    00040 */
    00041
    00042 /******************************************************************************/
    00052 #ifndef _FLASH_H_
    00053 #define _FLASH_H_
    00054
    00085 /*---------------------------------------------------------------------------*/
    00086 /* include files                                                             */
    00087 /*---------------------------------------------------------------------------*/
    00088 #include "mcu.h"
    00089 #include "pdl_user.h"
    00090
    00091 #if defined(PDL_PERIPHERAL_FLASH_ACTIVE)
    00092
    00093 #define     MFLASH_CODE1                 0x0AA8
    00094 #define     MFLASH_CODE2                 0x0554
    00095
    00096 #define     MFLASH_CHK_TOGG_NORMAL       0
    00097 #define     MFLASH_CHK_TOGG_ABNORMAL     1
    00098
    00099 #define     MFLASH_CHK_DPOL_NORMAL       0
    00100 #define     MFLASH_CHK_DPOL_ABNORMAL     1
    00101
    00102 #define     MFLASH_CHK_DPOL_MASK         (uint16_t)0x0080
    00103 #define     MFLASH_CHK_TOGG_MASK         (uint16_t)0x0040
    00104 #define     MFLASH_CHK_TLOV_MASK         (uint16_t)0x0020
    00105
    00106 #define     CR_DATA_ADDR                 (0x00100004)
    00107
    00108 /*---------------------------------------------------------------------------*/
    00109 /* function prototypes                                                       */
    00110 /*---------------------------------------------------------------------------*/
    00111 #ifdef __cplusplus
    00112 extern "C" {
    00113 #endif
    00114 en_result_t MFlash_ChipErase(boolean_t bCrRemain);
    00115 en_result_t MFlash_SectorErase(uint16_t* pu16SecAddr);
    00116 en_result_t MFlash_Write(uint16_t*  pWriteAddr,
    00117                          uint16_t* pWriteData,
    00118                          uint32_t u32Size);
    00119
    00120 #ifdef __cplusplus
    00121 }
    00122 #endif
    00123
    00124 #endif /* PERIPHERAL_AVAILABLE_MAINFLASH */
    00125
    00126 #endif /* _MAINFLASH_FM3_H_ */