Microchip® Advanced Software Framework

efc.c File Reference

Enhanced Embedded Flash Controller (EEFC) driver for SAM.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include "efc.h"

Macros

#define EEFC_ERROR_FLAGS   (EEFC_FSR_FLOCKE | EEFC_FSR_FCMDE | EEFC_FSR_FLERR)
 
#define EEFC_FCR_FCMD(value)   ((EEFC_FCR_FCMD_Msk & ((value) << EEFC_FCR_FCMD_Pos)))
 
#define EEFC_FCR_FKEY_PASSWD   EEFC_FCR_FKEY(FWP_KEY)
 
#define FWP_KEY   0x5Au
 
#define READ_BUFF_ADDR0   IFLASH0_ADDR
 
#define READ_BUFF_ADDR1   IFLASH1_ADDR
 

Functions

void efc_disable_cloe (Efc *p_efc)
 Disable code loop optimization. More...
 
void efc_disable_frdy_interrupt (Efc *p_efc)
 Disable the flash ready interrupt. More...
 
void efc_disable_write_protection (Efc *p_efc)
 Disable the write protection. More...
 
void efc_enable_cloe (Efc *p_efc)
 Enable code loop optimization. More...
 
void efc_enable_frdy_interrupt (Efc *p_efc)
 Enable the flash ready interrupt. More...
 
void efc_enable_write_protection (Efc *p_efc)
 Enable the write protection. More...
 
uint32_t efc_get_result (Efc *p_efc)
 Get the result of the last executed command. More...
 
uint32_t efc_get_status (Efc *p_efc)
 Get the current status of the EEFC. More...
 
uint32_t efc_get_wait_state (Efc *p_efc)
 Get flash wait state. More...
 
uint32_t efc_init (Efc *p_efc, uint32_t ul_access_mode, uint32_t ul_fws)
 Initialize the EFC controller. More...
 
uint32_t efc_perform_command (Efc *p_efc, uint32_t ul_command, uint32_t ul_argument)
 Perform the given command and wait until its completion (or an error). More...
 
uint32_t efc_perform_fcr (Efc *p_efc, uint32_t ul_fcr)
 Perform command. More...
 
__no_inline RAMFUNC uint32_t efc_perform_read_sequence (Efc *p_efc, uint32_t ul_cmd_st, uint32_t ul_cmd_sp, uint32_t *p_ul_buf, uint32_t ul_size)
 Perform read sequence. More...
 
void efc_set_wait_state (Efc *p_efc, uint32_t ul_fws)
 Set flash wait state. More...
 
void efc_write_fmr (Efc *p_efc, uint32_t ul_fmr)
 Set mode register. More...