SAMV71 Xplained Ultra Software Package 1.3

flashd.h File Reference

#include <stdint.h>

Go to the source code of this file.

Defines

#define GPNVBit_SecurityBit   0
#define GPNVBit_BootMode   1
#define GPNVBit_TCMBit1   6
#define GPNVBit_TCMBit2   7
#define FLASHD_IsSecurityBitSet()   FLASHD_IsGPNVMSet( 0 )
#define FLASHD_SetSecurityBit()   FLASHD_SetGPNVM( 0 )

Functions

void FLASHD_Initialize (uint32_t dwMCk, uint32_t dwUseIAP)
 Initializes the flash driver.
uint32_t FLASHD_Erase (uint32_t dwAddress)
 Erases the entire flash.
uint32_t FLASHD_EraseSector (uint32_t dwAddress)
 Erases flash by sector.
uint32_t FLASHD_ErasePages (uint32_t dwAddress, uint32_t dwPageNum)
 Erases flash by pages.
uint32_t FLASHD_Write (uint32_t dwAddress, const void *pvBuffer, uint32_t dwSize)
 Writes a data buffer in the internal flash.
uint32_t FLASHD_Lock (uint32_t dwStart, uint32_t dwEnd, uint32_t *pdwActualStart, uint32_t *pdwActualEnd)
 Locks all the regions in the given address range. The actual lock range is reported through two output parameters.
uint32_t FLASHD_Unlock (uint32_t dwStart, uint32_t dwEnd, uint32_t *pdwActualStart, uint32_t *pdwActualEnd)
 Unlocks all the regions in the given address range. The actual unlock range is reported through two output parameters.
uint32_t FLASHD_IsLocked (uint32_t dwStart, uint32_t dwEnd)
 Returns the number of locked regions inside the given address range.
uint32_t FLASHD_SetGPNVM (uint8_t gpnvm)
 Sets the selected GPNVM bit.
uint32_t FLASHD_ClearGPNVM (uint8_t gpnvm)
 Clears the selected GPNVM bit.
uint32_t FLASHD_IsGPNVMSet (uint8_t gpnvm)
 Check if the given GPNVM bit is set or not.
uint32_t FLASHD_ReadUniqueID (uint32_t *pdwUniqueID)

Detailed Description

The flash driver provides the unified interface for flash program operations.

Definition in file flashd.h.


Function Documentation

uint32_t FLASHD_ClearGPNVM ( uint8_t  ucGPNVM  ) 

Clears the selected GPNVM bit.

Parameters:
gpnvm GPNVM bit index.
Returns:
0 if successful; otherwise returns an error code.

Definition at line 520 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_Erase ( uint32_t  dwAddress  ) 

Erases the entire flash.

Parameters:
dwAddress Flash start address.
Returns:
0 if successful; otherwise returns an error code.

Definition at line 173 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_ErasePages ( uint32_t  dwAddress,
uint32_t  dwPageNum 
)

Erases flash by pages.

Parameters:
dwAddress Start address of be erased pages.
dwPageNum Number of pages to be erased with EPA command (4, 8, 16, 32)
Returns:
0 if successful; otherwise returns an error code.

Definition at line 220 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_EraseSector ( uint32_t  dwAddress  ) 

Erases flash by sector.

Parameters:
dwAddress Start address of be erased sector.
Returns:
0 if successful; otherwise returns an error code.

Definition at line 196 of file flashd.c.

Here is the call graph for this function:

void FLASHD_Initialize ( uint32_t  dwMCk,
uint32_t  dwUseIAP 
)

Initializes the flash driver.

Parameters:
dwMCk Master clock frequency in Hz.
dwUseIAP 0: use EEFC controller interface, 1: use IAP interface. dwUseIAP should be set to 1 when running out of flash.

Definition at line 159 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_IsGPNVMSet ( uint8_t  ucGPNVM  ) 

Check if the given GPNVM bit is set or not.

Parameters:
gpnvm GPNVM bit index.
Returns:
1 if the given GPNVM bit is currently set; otherwise returns 0.

Definition at line 479 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_IsLocked ( uint32_t  start,
uint32_t  end 
)

Returns the number of locked regions inside the given address range.

Parameters:
start Start address of range
end End address of range.

Definition at line 430 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_Lock ( uint32_t  start,
uint32_t  end,
uint32_t *  pActualStart,
uint32_t *  pActualEnd 
)

Locks all the regions in the given address range. The actual lock range is reported through two output parameters.

Parameters:
start Start address of lock range.
end End address of lock range.
pActualStart Start address of the actual lock range (optional).
pActualEnd End address of the actual lock range (optional).
Returns:
0 if successful, otherwise returns an error code.

Definition at line 348 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_SetGPNVM ( uint8_t  ucGPNVM  ) 

Sets the selected GPNVM bit.

Parameters:
gpnvm GPNVM bit index.
Returns:
0 if successful; otherwise returns an error code.

Definition at line 503 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_Unlock ( uint32_t  start,
uint32_t  end,
uint32_t *  pActualStart,
uint32_t *  pActualEnd 
)

Unlocks all the regions in the given address range. The actual unlock range is reported through two output parameters.

Parameters:
start Start address of unlock range.
end End address of unlock range.
pActualStart Start address of the actual unlock range (optional).
pActualEnd End address of the actual unlock range (optional).
Returns:
0 if successful, otherwise returns an error code.

Definition at line 391 of file flashd.c.

Here is the call graph for this function:

uint32_t FLASHD_Write ( uint32_t  dwAddress,
const void *  pvBuffer,
uint32_t  dwSize 
)

Writes a data buffer in the internal flash.

Note:
This function works in polling mode, and thus only returns when the data has been effectively written.
Parameters:
address Write address.
pBuffer Data buffer.
size Size of data buffer in bytes.
Returns:
0 if successful, otherwise returns an error code.

Definition at line 270 of file flashd.c.

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines