MINI51DE_BSP V3.02.004
The Board Support Package for Mini51DE Series MCU
Macros | Functions
Collaboration diagram for FMC Exported Functions:

Macros

#define FMC_SET_APROM_BOOT()   (FMC->ISPCON &= ~FMC_ISPCON_BS_Msk)
 
#define FMC_SET_LDROM_BOOT()   (FMC->ISPCON |= FMC_ISPCON_BS_Msk)
 
#define FMC_DISABLE_AP_UPDATE()   (FMC->ISPCON &= ~FMC_ISPCON_APUEN_Msk)
 
#define FMC_DISABLE_CFG_UPDATE()   (FMC->ISPCON &= ~FMC_ISPCON_CFGUEN_Msk)
 
#define FMC_DISABLE_LD_UPDATE()   (FMC->ISPCON &= ~FMC_ISPCON_LDUEN_Msk)
 
#define FMC_DISABLE_ISP()   (FMC->ISPCON &= ~FMC_ISPCON_ISPEN_Msk)
 
#define FMC_ENABLE_AP_UPDATE()   (FMC->ISPCON |= FMC_ISPCON_APUEN_Msk)
 
#define FMC_ENABLE_LD_UPDATE()   (FMC->ISPCON |= FMC_ISPCON_LDUEN_Msk)
 
#define FMC_ENABLE_CFG_UPDATE()   (FMC->ISPCON |= FMC_ISPCON_CFGUEN_Msk)
 
#define FMC_ENABLE_ISP()   (FMC->ISPCON |= FMC_ISPCON_ISPEN_Msk)
 
#define FMC_GET_FAIL_FLAG()   ((FMC->ISPCON & FMC_ISPCON_ISPFF_Msk) ? 1 : 0)
 
#define FMC_CLR_FAIL_FLAG()   (FMC->ISPCON |= FMC_ISPCON_ISPFF_Msk)
 

Functions

void FMC_Close (void)
 Disable all FMC functions. More...
 
int32_t FMC_Erase (uint32_t u32PageAddr)
 Erase a 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)
 Read a word from specified flash address. 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...
 
uint32_t 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...
 
uint32_t FMC_Write (uint32_t u32Addr, uint32_t u32Data)
 Writes a word data to specified flash address. More...
 
int32_t FMC_ReadConfig (uint32_t *u32Config, uint32_t u32Count)
 Read the User Configuration words. More...
 
int32_t FMC_WriteConfig (uint32_t *u32Config, uint32_t u32Count)
 Write User Configuration. More...
 

Detailed Description

Macro Definition Documentation

◆ FMC_CLR_FAIL_FLAG

#define FMC_CLR_FAIL_FLAG ( )    (FMC->ISPCON |= FMC_ISPCON_ISPFF_Msk)

Clear ISP fail flag

Definition at line 76 of file fmc.h.

◆ FMC_DISABLE_AP_UPDATE

#define FMC_DISABLE_AP_UPDATE ( )    (FMC->ISPCON &= ~FMC_ISPCON_APUEN_Msk)

Disable APROM update

Definition at line 67 of file fmc.h.

◆ FMC_DISABLE_CFG_UPDATE

#define FMC_DISABLE_CFG_UPDATE ( )    (FMC->ISPCON &= ~FMC_ISPCON_CFGUEN_Msk)

Disable User Config update

Definition at line 68 of file fmc.h.

◆ FMC_DISABLE_ISP

#define FMC_DISABLE_ISP ( )    (FMC->ISPCON &= ~FMC_ISPCON_ISPEN_Msk)

Disable ISP function

Definition at line 70 of file fmc.h.

◆ FMC_DISABLE_LD_UPDATE

#define FMC_DISABLE_LD_UPDATE ( )    (FMC->ISPCON &= ~FMC_ISPCON_LDUEN_Msk)

Disable LDROM update

Definition at line 69 of file fmc.h.

◆ FMC_ENABLE_AP_UPDATE

#define FMC_ENABLE_AP_UPDATE ( )    (FMC->ISPCON |= FMC_ISPCON_APUEN_Msk)

Enable APROM update

Definition at line 71 of file fmc.h.

◆ FMC_ENABLE_CFG_UPDATE

#define FMC_ENABLE_CFG_UPDATE ( )    (FMC->ISPCON |= FMC_ISPCON_CFGUEN_Msk)

Enable User Config update

Definition at line 73 of file fmc.h.

◆ FMC_ENABLE_ISP

#define FMC_ENABLE_ISP ( )    (FMC->ISPCON |= FMC_ISPCON_ISPEN_Msk)

Enable ISP function

Definition at line 74 of file fmc.h.

◆ FMC_ENABLE_LD_UPDATE

#define FMC_ENABLE_LD_UPDATE ( )    (FMC->ISPCON |= FMC_ISPCON_LDUEN_Msk)

Enable LDROM update

Definition at line 72 of file fmc.h.

◆ FMC_GET_FAIL_FLAG

#define FMC_GET_FAIL_FLAG ( )    ((FMC->ISPCON & FMC_ISPCON_ISPFF_Msk) ? 1 : 0)

Get ISP fail flag

Definition at line 75 of file fmc.h.

◆ FMC_SET_APROM_BOOT

#define FMC_SET_APROM_BOOT ( )    (FMC->ISPCON &= ~FMC_ISPCON_BS_Msk)

Select booting from APROM

Definition at line 65 of file fmc.h.

◆ FMC_SET_LDROM_BOOT

#define FMC_SET_LDROM_BOOT ( )    (FMC->ISPCON |= FMC_ISPCON_BS_Msk)

Select booting from LDROM

Definition at line 66 of file fmc.h.

Function Documentation

◆ FMC_Close()

void FMC_Close ( void  )

Disable all FMC functions.

Definition at line 34 of file fmc.c.

◆ FMC_Erase()

int32_t FMC_Erase ( uint32_t  u32PageAddr)

Erase a page. The page size is 512 bytes.

Parameters
u32PageAddrFlash page address. Must be a 512-byte aligned address.
Return values
0Success
-1Erase failed

Definition at line 46 of file fmc.c.

Here is the caller graph for this function:

◆ FMC_GetBootSource()

int32_t FMC_GetBootSource ( void  )

get the current boot source

Return values
0This chip is currently booting from APROM
1This chip is currently booting from LDROM

Definition at line 70 of file fmc.c.

◆ FMC_GetVectorPageAddr()

uint32_t FMC_GetVectorPageAddr ( void  )

Obtain the current vector page address setting.

Returns
The vector page address.

Definition at line 229 of file fmc.c.

◆ FMC_Open()

void FMC_Open ( void  )

Enable FMC ISP function.

Definition at line 82 of file fmc.c.

◆ FMC_Read()

uint32_t FMC_Read ( uint32_t  u32Addr)

Read a word from specified flash address.

Parameters
u32AddrFlash word address. Must be a word aligned address.
Returns
The word data stored in the flash address "u32Addr".

Definition at line 93 of file fmc.c.

Here is the caller graph for this function:

◆ FMC_ReadCID()

uint32_t FMC_ReadCID ( void  )

Read company ID.

Returns
The company ID.

Definition at line 115 of file fmc.c.

◆ FMC_ReadConfig()

int32_t FMC_ReadConfig ( uint32_t *  u32Config,
uint32_t  u32Count 
)

Read the User Configuration words.

Parameters
u32ConfigThe word array to store data.
u32CountMaximum length of "u32Config".
Return values
0Success
-1Failed

Definition at line 264 of file fmc.c.

Here is the call graph for this function:

◆ FMC_ReadDataFlashBaseAddr()

uint32_t FMC_ReadDataFlashBaseAddr ( void  )

Get the base address of Data Flash if enabled.

Returns
The base address of Data Flash

Definition at line 199 of file fmc.c.

◆ FMC_ReadPID()

uint32_t FMC_ReadPID ( void  )

Read product ID.

Returns
The product ID.

Definition at line 135 of file fmc.c.

◆ FMC_ReadUCID()

uint32_t FMC_ReadUCID ( uint32_t  u32Index)

This function reads one of the four UCID.

Parameters
u32Indexindex of the UCID to read. u32Index must be 0, 1, 2, or 3.
Returns
The UCID.

Definition at line 156 of file fmc.c.

◆ FMC_ReadUID()

uint32_t FMC_ReadUID ( uint32_t  u32Index)

This function reads one of the three UID.

Parameters
u32Indexindex of the UID to read. u32Index must be 0, 1, or 2.
Returns
The UID.

Definition at line 178 of file fmc.c.

◆ FMC_SetVectorPageAddr()

uint32_t FMC_SetVectorPageAddr ( uint32_t  u32PageAddr)

This function will force re-map assigned flash page to CPU address 0x0.

Parameters
u32PageAddraddress of the page to be mapped to CPU address 0x0.

Definition at line 209 of file fmc.c.

◆ FMC_Write()

uint32_t FMC_Write ( uint32_t  u32Addr,
uint32_t  u32Data 
)

Writes a word data to specified flash address.

Parameters
u32Addrdestination address
u32Dataword data to be written

Definition at line 240 of file fmc.c.

Here is the caller graph for this function:

◆ FMC_WriteConfig()

int32_t FMC_WriteConfig ( uint32_t *  u32Config,
uint32_t  u32Count 
)

Write User Configuration.

Parameters
u32ConfigThe word array to store data.
u32CountMaximum length of "u32Config".
Return values
0Success
-1Failed

Definition at line 281 of file fmc.c.

Here is the call graph for this function: