rusEFI
The most advanced open source ECU
|
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. | |