LPCOpen Platform for LPC18XX/43XX microcontrollers  18XX43XX
LPCOpen Platform for the NXP LPC18XX/43XX family of Microcontrollers
Data Structures | Macros | Functions
CHIP: LPC18xx/43xx FLASH Memory Controller driver

Detailed Description

Data Structures

struct  LPC_FMC_T
 FLASH Memory Controller Unit register block structure. More...
 

Macros

#define FMC_FLASHSIG_BUSY   (1UL << 17)
 
#define FMC_FLASHSIG_STAT   (1 << 2)
 

Functions

STATIC INLINE void Chip_FMC_ComputeSignature (uint8_t bank, uint32_t start, uint32_t stop)
 Start computation of a signature for a FLASH memory range. More...
 
STATIC INLINE void Chip_FMC_ComputeSignatureBlocks (uint8_t bank, uint32_t start, uint32_t blocks)
 Start computation of a signature for a FLASH memory address and block count. More...
 
STATIC INLINE void Chip_FMC_ClearSignatureBusy (uint8_t bank)
 Clear signature generation completion flag. More...
 
STATIC INLINE bool Chip_FMC_IsSignatureBusy (uint8_t bank)
 Check for signature generation completion. More...
 
STATIC INLINE uint32_t Chip_FMC_GetSignature (uint8_t bank, int index)
 Returns the generated FLASH signature value. More...
 

Macro Definition Documentation

#define FMC_FLASHSIG_BUSY   (1UL << 17)

Definition at line 61 of file fmc_18xx_43xx.h.

#define FMC_FLASHSIG_STAT   (1 << 2)

Definition at line 64 of file fmc_18xx_43xx.h.

Function Documentation

STATIC INLINE void Chip_FMC_ClearSignatureBusy ( uint8_t  bank)

Clear signature generation completion flag.

Parameters
bank: FLASH bank, A = 0, B = 1
Returns
Nothing

Definition at line 105 of file fmc_18xx_43xx.h.

STATIC INLINE void Chip_FMC_ComputeSignature ( uint8_t  bank,
uint32_t  start,
uint32_t  stop 
)

Start computation of a signature for a FLASH memory range.

Parameters
bank: FLASH bank, A = 0, B = 1
start: Starting FLASH address for computation, must be aligned on 16 byte boundary
stop: Ending FLASH address for computation, must be aligned on 16 byte boundary
Returns
Nothing
Note
Only bits 20..4 are used for the FLASH signature computation. Use the Chip_FMC_IsSignatureBusy() function to determine when the signature computation operation is complete and use the Chip_FMC_GetSignature() function to get the computed signature.

Definition at line 77 of file fmc_18xx_43xx.h.

STATIC INLINE void Chip_FMC_ComputeSignatureBlocks ( uint8_t  bank,
uint32_t  start,
uint32_t  blocks 
)

Start computation of a signature for a FLASH memory address and block count.

Parameters
bank: FLASH bank, A = 0, B = 1
start: Starting FLASH address for computation, must be aligned on 16 byte boundary
blocks: Number of 16 byte blocks used for computation
Returns
Nothing
Note
Only bits 20..4 are used for the FLASH signature computation. Use the Chip_FMC_IsSignatureBusy() function to determine when the signature computation operation is complete and the Chip_FMC_GetSignature() function to get the computed signature.

Definition at line 95 of file fmc_18xx_43xx.h.

STATIC INLINE uint32_t Chip_FMC_GetSignature ( uint8_t  bank,
int  index 
)

Returns the generated FLASH signature value.

Parameters
bank: FLASH bank, A = 0, B = 1
index: Signature index to get - use 0 to FMSW0, 1 to FMSW1, etc.
Returns
the generated FLASH signature value

Definition at line 126 of file fmc_18xx_43xx.h.

STATIC INLINE bool Chip_FMC_IsSignatureBusy ( uint8_t  bank)

Check for signature generation completion.

Parameters
bank: FLASH bank, A = 0, B = 1
Returns
true if the signature computation is running, false if finished

Definition at line 115 of file fmc_18xx_43xx.h.