NANO100_BSP V3.04.002
The Board Support Package for Nano100BN Series
Macros | Functions
fmc.h File Reference

Nano100B Series Flash Memory Controller Driver Header File. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FMC_APROM_BASE   0x00000000UL
 
#define FMC_APROM_END   0x0001EC00UL
 
#define FMC_LDROM_BASE   0x00100000UL
 
#define FMC_LDROM_END   0x00101000UL
 
#define FMC_CONFIG_BASE   0x00300000UL
 
#define FMC_FLASH_PAGE_SIZE   0x200
 
#define FMC_LDROM_SIZE   0x1000
 
#define FMC_TIMEOUT_READ
 
#define FMC_TIMEOUT_WRITE
 
#define FMC_TIMEOUT_ERASE
 
#define FMC_TIMEOUT_CHKSUM
 
#define FMC_ISPCMD_READ   0x00
 
#define FMC_ISPCMD_PROGRAM   0x21
 
#define FMC_ISPCMD_PAGE_ERASE   0x22
 
#define FMC_ISPCMD_READ_CID   0x0B
 
#define FMC_ISPCMD_READ_PID   0x0C
 
#define FMC_ISPCMD_READ_UID   0x04
 
#define FMC_ISPCMD_VECMAP   0x2E
 
#define IS_BOOT_FROM_APROM   0
 
#define IS_BOOT_FROM_LDROM   1
 
#define FMC_SET_APROM_BOOT()
 This macro selects booting from APROM. More...
 
#define FMC_SET_LDROM_BOOT()
 This macro selects booting from LDROM. More...
 
#define FMC_ENABLE_AP_UPDATE()
 This macro enables APROM update function. More...
 
#define FMC_DISABLE_AP_UPDATE()
 This macro disables APROM update function. More...
 
#define FMC_ENABLE_CFG_UPDATE()
 This macro enables User Configuration update function. More...
 
#define FMC_DISABLE_CFG_UPDATE()
 This macro disables User Configuration update function. More...
 
#define FMC_ENABLE_LD_UPDATE()
 This macro enables LDROM update function. More...
 
#define FMC_DISABLE_LD_UPDATE()
 This macro disables LDROM update function. More...
 
#define FMC_ENABLE_ISP()
 This macro enables ISP function. More...
 
#define FMC_DISABLE_ISP()
 This macro disables ISP function. More...
 
#define FMC_GET_FAIL_FLAG()
 This macro gets ISP fail flag value. More...
 
#define FMC_CLR_FAIL_FLAG()
 This macro clears ISP fail flag. More...
 

Functions

void FMC_Close (void)
 Disable FMC ISP function. More...
 
int32_t FMC_Erase (uint32_t u32PageAddr)
 Execute ISP command to erase a flash page. The page size is 512 bytes. More...
 
int32_t FMC_GetBootSource (void)
 Get the current boot source. More...
 
void FMC_Open (void)
 Enable FMC ISP function. More...
 
uint32_t FMC_Read (uint32_t u32Addr)
 Execute ISP command to read a word from flash. More...
 
uint32_t FMC_ReadCID (void)
 Read company ID. More...
 
uint32_t FMC_ReadPID (void)
 Read product ID. More...
 
uint32_t FMC_ReadUCID (uint32_t u32Index)
 This function reads one of the four UCID. More...
 
uint32_t FMC_ReadUID (uint32_t u32Index)
 This function reads one of the three UID. More...
 
uint32_t FMC_ReadDataFlashBaseAddr (void)
 Get the base address of Data Flash if enabled. More...
 
void FMC_SetVectorPageAddr (uint32_t u32PageAddr)
 This function will force re-map assigned flash page to CPU address 0x0. More...
 
uint32_t FMC_GetVectorPageAddr (void)
 Obtain the current vector page address setting. More...
 
int32_t FMC_Write (uint32_t u32Addr, uint32_t u32Data)
 Execute ISP command to program a word to flash. More...
 
int32_t FMC_ReadConfig (uint32_t *u32Config, uint32_t u32Count)
 Execute ISP command to read User Configuration. More...
 
int32_t FMC_WriteConfig (uint32_t *u32Config, uint32_t u32Count)
 Execute ISP command to write User Configuration. More...
 

Detailed Description

Nano100B Series Flash Memory Controller Driver Header File.

Version
V1.00
Revision
5
Date
15/06/12 2:11p
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2015 Nuvoton Technology Corp. All rights reserved.

Definition in file fmc.h.