bf0_hal_ezip.h
Header file of EZIP HAL module.
- Author
Sifli software development team
- Attention
Defines
-
HAL_EZIP_MODE_DATA_TYPE_MASK
low 7bit indicates EZIP data type, EZIP, GZIP or LZ4
-
HAL_EZIP_MODE_ADDR_TYPE_MASK
bit7 indicates EZIP data addressing type
-
HAL_EZIP_MODE_ADDR_CONT_TYPE
Continuous Data Addressing Mode
-
EZIP_PARA_OUT_EPIC
-
EZIP_PARA_OUT_AHB
-
EZIP_PARA_MOD_EZIP
-
EZIP_PARA_MOD_GZIP
-
EZIP_PARA_MOD_LZ4
Typedefs
-
typedef struct __FLASH_HandleTypeDef *(*EZIP_FlashHandleQueryCbTypeDef)(uint32_t addr)
-
typedef struct __EZIP_HandleTypeDef EZIP_HandleTypeDef
EZIP handle structure definition
Enums
-
enum HAL_EZIP_StateTypeDef
HAL EZIP State structures definition.
Values:
-
enumerator HAL_EZIP_STATE_RESET
EZIP not yet initialized or disabled
-
enumerator HAL_EZIP_STATE_READY
Peripheral Initialized and ready for use
-
enumerator HAL_EZIP_STATE_BUSY
An internal process is ongoing
-
enumerator HAL_EZIP_STATE_TIMEOUT
Timeout state
-
enumerator HAL_EZIP_STATE_ERROR
EZIP state error
-
enumerator HAL_EZIP_STATE_SUSPEND
EZIP process is suspended
-
enumerator HAL_EZIP_STATE_RESET
Functions
-
HAL_StatusTypeDef HAL_EZIP_Init(EZIP_HandleTypeDef *ezip)
EZIP Init.
- 参数:
ezip – [in] EZIP handle
- 返回值:
HAL – status
-
HAL_StatusTypeDef HAL_EZIP_IRQHandler(EZIP_HandleTypeDef *ezip)
EZIP IRQ Handler.
- 参数:
ezip – EZIP handle
- 返回值:
None –
-
HAL_StatusTypeDef HAL_EZIP_Decode(EZIP_HandleTypeDef *ezip, EZIP_DecodeConfigTypeDef *config)
Start decoding in polling mode.
- 参数:
ezip – [in] EZIP handle
config – [in] decoding configuration
- 返回值:
HAL – status
-
HAL_StatusTypeDef HAL_EZIP_Decode_IT(EZIP_HandleTypeDef *ezip, EZIP_DecodeConfigTypeDef *config)
Start decoding in interrupt mode.
CpltCallback in handle is used to notify the completion
- 参数:
ezip – [in] EZIP handle
config – [in] decoding configuration
- 返回值:
HAL – status
-
HAL_StatusTypeDef HAL_EZIP_DeInit(EZIP_HandleTypeDef *ezip)
EZIP Deinit.
- 参数:
ezip – [in] EZIP handle
- 返回值:
HAL – status
-
HAL_StatusTypeDef HAL_EZIP_CheckReady(EZIP_HandleTypeDef *ezip)
Check if EZIP is idle.
- 参数:
ezip – [in] EZIP handle
- 返回值:
HAL – status
-
HAL_StatusTypeDef HAL_EZIP_DecodeFast_Init(EZIP_HandleTypeDef *hezip)
-
HAL_StatusTypeDef HAL_EZIP_DecodeFast_IT(EZIP_HandleTypeDef *hezip)
-
struct EZIP_DecodeConfigTypeDef
- #include <bf0_hal_ezip.h>
EZIP Decoding Configuration
Public Members
-
uint8_t *input
input data buffer, must be 32bit aligned, for non continuous work_mode, format is EZIP_BlockListTypeDef
-
uint8_t *output
output data buffer, must be 32bit aligned
used if output_mode is HAL_EZIP_OUTPUT_AHB
-
EZIP_WorkModeTypeDef work_mode
work mode
-
EZIP_OutputModeTypeDef output_mode
output mode
-
uint16_t start_x
topleft pixel x coordinate of the interested region
starting from 0
-
uint16_t start_y
topleft pixel y coordinate of the interested region
starting from 0
-
int16_t width
interested region width
set to -1 if all columns are needed
-
int16_t height
interested region height
set to -1 if all rows are needed
-
uint32_t input_data_size
ezip data size in bytes, only valid if data is saved in NAND
-
uint8_t *input
-
struct __EZIP_HandleTypeDef
- #include <bf0_hal_ezip.h>
EZIP handle structure definition
Public Members
-
EZIP_TypeDef *Instance
EZIP register base address.
-
void (*CpltCallback)(struct __EZIP_HandleTypeDef *ezip)
EZIP processing complete callback.
-
HAL_EZIP_StateTypeDef State
EZIP state.
-
uint32_t ErrorCode
EZIP error code.
-
void *user_data
user_data
-
EZIP_FlashHandleQueryCbTypeDef flash_handle_query_cb
flash handle query callback
-
EZIP_TypeDef *RamInstance
EZIP register on RAM.
-
EZIP_TypeDef *HwInstance
Backup of EZIP register base address.
-
uint8_t RamInstance_used
-
EZIP_TypeDef *Instance