rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Data Structures
fsl_ftfx_flexnvm.h File Reference

Data Structures

struct  _flexnvm_config
 Flexnvm driver state information. More...
 

Functions

Initialization
status_t FLEXNVM_Init (flexnvm_config_t *config)
 Initializes the global flash properties structure members.
 
Erasing
status_t FLEXNVM_DflashErase (flexnvm_config_t *config, uint32_t start, uint32_t lengthInBytes, uint32_t key)
 Erases the Dflash sectors encompassed by parameters passed into function.
 
status_t FLEXNVM_EraseAll (flexnvm_config_t *config, uint32_t key)
 Erases entire flexnvm.
 
status_t FLEXNVM_EraseAllUnsecure (flexnvm_config_t *config, uint32_t key)
 Erases the entire flexnvm, including protected sectors.
 
Programming
status_t FLEXNVM_DflashProgram (flexnvm_config_t *config, uint32_t start, uint8_t *src, uint32_t lengthInBytes)
 Programs flash with data at locations passed in through parameters.
 
status_t FLEXNVM_DflashProgramSection (flexnvm_config_t *config, uint32_t start, uint8_t *src, uint32_t lengthInBytes)
 Programs flash with data at locations passed in through parameters via the Program Section command.
 
status_t FLEXNVM_ProgramPartition (flexnvm_config_t *config, ftfx_partition_flexram_load_opt_t option, uint32_t eepromDataSizeCode, uint32_t flexnvmPartitionCode)
 Prepares the FlexNVM block for use as data flash, EEPROM backup, or a combination of both and initializes the FlexRAM.
 
Reading
status_t FLEXNVM_ReadResource (flexnvm_config_t *config, uint32_t start, uint8_t *dst, uint32_t lengthInBytes, ftfx_read_resource_opt_t option)
 Reads the resource with data at locations passed in through parameters.
 
Verification
status_t FLEXNVM_DflashVerifyErase (flexnvm_config_t *config, uint32_t start, uint32_t lengthInBytes, ftfx_margin_value_t margin)
 Verifies an erasure of the desired flash area at a specified margin level.
 
status_t FLEXNVM_VerifyEraseAll (flexnvm_config_t *config, ftfx_margin_value_t margin)
 Verifies erasure of the entire flash at a specified margin level.
 
status_t FLEXNVM_DflashVerifyProgram (flexnvm_config_t *config, uint32_t start, uint32_t lengthInBytes, const uint8_t *expectedData, ftfx_margin_value_t margin, uint32_t *failedAddress, uint32_t *failedData)
 Verifies programming of the desired flash area at a specified margin level.
 
Security
status_t FLEXNVM_GetSecurityState (flexnvm_config_t *config, ftfx_security_state_t *state)
 Returns the security state via the pointer passed into the function.
 
status_t FLEXNVM_SecurityBypass (flexnvm_config_t *config, const uint8_t *backdoorKey)
 Allows users to bypass security with a backdoor key.
 
FlexRAM
status_t FLEXNVM_SetFlexramFunction (flexnvm_config_t *config, ftfx_flexram_func_opt_t option)
 Sets the FlexRAM function command.
 
status_t FLEXNVM_EepromWrite (flexnvm_config_t *config, uint32_t start, uint8_t *src, uint32_t lengthInBytes)
 Programs the EEPROM with data at locations passed in through parameters.
 
Flash Protection Utilities
status_t FLEXNVM_DflashSetProtection (flexnvm_config_t *config, uint8_t protectStatus)
 Sets the DFlash protection to the intended protection status.
 
status_t FLEXNVM_DflashGetProtection (flexnvm_config_t *config, uint8_t *protectStatus)
 Gets the DFlash protection status.
 
status_t FLEXNVM_EepromSetProtection (flexnvm_config_t *config, uint8_t protectStatus)
 Sets the EEPROM protection to the intended protection status.
 
status_t FLEXNVM_EepromGetProtection (flexnvm_config_t *config, uint8_t *protectStatus)
 Gets the EEPROM protection status.
 
Properties
status_t FLEXNVM_GetProperty (flexnvm_config_t *config, flexnvm_property_tag_t whichProperty, uint32_t *value)
 Returns the desired flexnvm property.
 

Flexnvm version

enum  _flexnvm_property_tag {
  kFLEXNVM_PropertyDflashSectorSize = 0x00U , kFLEXNVM_PropertyDflashTotalSize = 0x01U , kFLEXNVM_PropertyDflashBlockSize = 0x02U , kFLEXNVM_PropertyDflashBlockCount = 0x03U ,
  kFLEXNVM_PropertyDflashBlockBaseAddr = 0x04U , kFLEXNVM_PropertyFlexRamBlockBaseAddr = 0x05U , kFLEXNVM_PropertyFlexRamTotalSize = 0x06U , kFLEXNVM_PropertyEepromTotalSize = 0x07U
}
 Enumeration for various flexnvm properties. More...
 
typedef enum _flexnvm_property_tag flexnvm_property_tag_t
 Enumeration for various flexnvm properties.
 
typedef struct _flexnvm_config flexnvm_config_t
 Flexnvm driver state information.
 

Go to the source code of this file.