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

Macros

#define FMC_SET_APROM_BOOT()   (FMC->ISPCTL &= ~FMC_ISPCTL_BS_Msk)
 
#define FMC_SET_LDROM_BOOT()   (FMC->ISPCTL |= FMC_ISPCTL_BS_Msk)
 
#define FMC_ENABLE_AP_UPDATE()   (FMC->ISPCTL |= FMC_ISPCTL_APUEN_Msk)
 
#define FMC_DISABLE_AP_UPDATE()   (FMC->ISPCTL &= ~FMC_ISPCTL_APUEN_Msk)
 
#define FMC_ENABLE_LD_UPDATE()   (FMC->ISPCTL |= FMC_ISPCTL_LDUEN_Msk)
 
#define FMC_DISABLE_LD_UPDATE()   (FMC->ISPCTL &= ~FMC_ISPCTL_LDUEN_Msk)
 
#define FMC_ENABLE_CFG_UPDATE()   (FMC->ISPCTL |= FMC_ISPCTL_CFGUEN_Msk)
 
#define FMC_DISABLE_CFG_UPDATE()   (FMC->ISPCTL &= ~FMC_ISPCTL_CFGUEN_Msk)
 
#define FMC_ENABLE_ISP()   (FMC->ISPCTL |= FMC_ISPCTL_ISPEN_Msk)
 
#define FMC_DISABLE_ISP()   (FMC->ISPCTL &= ~FMC_ISPCTL_ISPEN_Msk)
 
#define FMC_GET_FAIL_FLAG()   ((FMC->ISPCTL & FMC_ISPCTL_ISPFF_Msk) ? 1 : 0)
 
#define FMC_CLR_FAIL_FLAG()   (FMC->ISPCTL |= FMC_ISPCTL_ISPFF_Msk)
 

Functions

void FMC_Close (void)
 Disable all FMC functions. 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...
 
void 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)
 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

Macro Definition Documentation

◆ FMC_CLR_FAIL_FLAG

#define FMC_CLR_FAIL_FLAG ( )    (FMC->ISPCTL |= FMC_ISPCTL_ISPFF_Msk)

Clear ISP fail flag

Definition at line 76 of file fmc.h.

◆ FMC_DISABLE_AP_UPDATE

#define FMC_DISABLE_AP_UPDATE ( )    (FMC->ISPCTL &= ~FMC_ISPCTL_APUEN_Msk)

Disable APROM update

Definition at line 68 of file fmc.h.

◆ FMC_DISABLE_CFG_UPDATE

#define FMC_DISABLE_CFG_UPDATE ( )    (FMC->ISPCTL &= ~FMC_ISPCTL_CFGUEN_Msk)

Disable User Config update

Definition at line 72 of file fmc.h.

◆ FMC_DISABLE_ISP

#define FMC_DISABLE_ISP ( )    (FMC->ISPCTL &= ~FMC_ISPCTL_ISPEN_Msk)

Disable ISP function

Definition at line 74 of file fmc.h.

◆ FMC_DISABLE_LD_UPDATE

#define FMC_DISABLE_LD_UPDATE ( )    (FMC->ISPCTL &= ~FMC_ISPCTL_LDUEN_Msk)

Disable LDROM update

Definition at line 70 of file fmc.h.

◆ FMC_ENABLE_AP_UPDATE

#define FMC_ENABLE_AP_UPDATE ( )    (FMC->ISPCTL |= FMC_ISPCTL_APUEN_Msk)

Enable APROM update

Definition at line 67 of file fmc.h.

◆ FMC_ENABLE_CFG_UPDATE

#define FMC_ENABLE_CFG_UPDATE ( )    (FMC->ISPCTL |= FMC_ISPCTL_CFGUEN_Msk)

Enable User Config update

Definition at line 71 of file fmc.h.

◆ FMC_ENABLE_ISP

#define FMC_ENABLE_ISP ( )    (FMC->ISPCTL |= FMC_ISPCTL_ISPEN_Msk)

Enable ISP function

Definition at line 73 of file fmc.h.

◆ FMC_ENABLE_LD_UPDATE

#define FMC_ENABLE_LD_UPDATE ( )    (FMC->ISPCTL |= FMC_ISPCTL_LDUEN_Msk)

Enable LDROM update

Definition at line 69 of file fmc.h.

◆ FMC_GET_FAIL_FLAG

#define FMC_GET_FAIL_FLAG ( )    ((FMC->ISPCTL & FMC_ISPCTL_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->ISPCTL &= ~FMC_ISPCTL_BS_Msk)

Select booting from APROM

Definition at line 65 of file fmc.h.

◆ FMC_SET_LDROM_BOOT

#define FMC_SET_LDROM_BOOT ( )    (FMC->ISPCTL |= FMC_ISPCTL_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)

Execute ISP command to erase a flash page. The page size is 512 bytes.

Parameters
[in]u32PageAddrAddress of the flash page to be erased. It must be a 512-byte aligned address.
Returns
ISP page erase success or not.
Return values
0Success
-1Erase failed

Definition at line 48 of file fmc.c.

Here is the caller graph for this function:

◆ FMC_GetBootSource()

int32_t FMC_GetBootSource ( void  )

Get the current boot source.

Returns
The current boot source.
Return values
0Is boot from APROM.
1Is boot from LDROM.

Definition at line 71 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 196 of file fmc.c.

◆ FMC_Open()

void FMC_Open ( void  )

Enable FMC ISP function.

Definition at line 83 of file fmc.c.

◆ FMC_Read()

uint32_t FMC_Read ( uint32_t  u32Addr)

Execute ISP command to read a word from flash.

Parameters
[in]u32AddrAddress of the flash location to be read. It must be a word aligned address.
Returns
The word data read from specified flash address.

Definition at line 95 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 111 of file fmc.c.

◆ FMC_ReadConfig()

int32_t FMC_ReadConfig ( uint32_t *  u32Config,
uint32_t  u32Count 
)

Execute ISP command to read User Configuration.

Parameters
[out]u32ConfigA two-word array. u32Config[0] holds CONFIG0, while u32Config[1] holds CONFIG1.
[in]u32CountAvailable word count in u32Config.
Returns
Success or not.
Return values
0Success.
-1Invalid parameter.

Definition at line 226 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 173 of file fmc.c.

◆ FMC_ReadPID()

uint32_t FMC_ReadPID ( void  )

Read product ID.

Returns
The product ID.

Definition at line 125 of file fmc.c.

◆ FMC_ReadUCID()

uint32_t FMC_ReadUCID ( uint32_t  u32Index)

This function reads one of the four UCID.

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

Definition at line 140 of file fmc.c.

◆ FMC_ReadUID()

uint32_t FMC_ReadUID ( uint32_t  u32Index)

This function reads one of the three UID.

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

Definition at line 157 of file fmc.c.

◆ FMC_SetVectorPageAddr()

void FMC_SetVectorPageAddr ( uint32_t  u32PageAddr)

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

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

Definition at line 183 of file fmc.c.

◆ FMC_Write()

void FMC_Write ( uint32_t  u32Addr,
uint32_t  u32Data 
)

Writes a word data to specified flash address.

Parameters
[in]u32Addrdestination address
[in]u32Dataword data to be written

Definition at line 207 of file fmc.c.

Here is the caller graph for this function:

◆ FMC_WriteConfig()

int32_t FMC_WriteConfig ( uint32_t *  u32Config,
uint32_t  u32Count 
)

Execute ISP command to write User Configuration.

Parameters
[in]u32ConfigA two-word array. u32Config[0] holds CONFIG0, while u32Config[1] holds CONFIG1.
[in]u32CountAvailable word count in u32Config.
Returns
Success or not.
Return values
0Success.
-1Invalid parameter.

Definition at line 245 of file fmc.c.

Here is the call graph for this function: