MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
The MCUXpresso SDK provides a peripheral driver for the Flexible Serial Peripheral Interface (FLEXSPI) module of MCUXpresso SDK/i.MX devices.
FLEXSPI driver includes functional APIs and interrupt/EDMA non-blocking transactional APIs.
Functional APIs are feature/property target low level APIs. Functional APIs can be used for FLEXSPI initialization/configuration/operation for optimization/customization purpose. Using the functional API requires the knowledge of the FLEXSPI peripheral and how to organize functional APIs to meet the application requirements. All functional API use the peripheral base address as the first parameter. FLEXSPI functional operation groups provide the functional API set.
Transactional APIs are transaction target high level APIs. Transactional APIs can be used to enable the peripheral and in the application if the code size and performance of transactional APIs satisfy the requirements. If the code size and performance are a critical requirement, see the transactional API implementation and write a custom code. All transactional APIs use the flexspi_handle_t/flexspi_edma_handle_t as the second parameter. Initialize the handle for interrupt non-blocking transfer by calling the FLEXSPI_TransferCreateHandle API. Initialize the handle for interrupt non-blocking transfer by calling the FLEXSPI_TransferCreateHandleEDMA API.
Transactional APIs support asynchronous transfer. This means that the functions FLEXSPI_TransferNonBlocking() and FLEXSPI_TransferEDMA() set up data transfer. When the transfer completes, the upper layer is notified through a callback function with the kStatus_FLEXSPI_Idle status.
Data Structures | |
struct | flexspi_config_t |
FLEXSPI configuration structure. More... | |
struct | flexspi_device_config_t |
External device configuration items. More... | |
struct | flexspi_transfer_t |
Transfer structure for FLEXSPI. More... | |
struct | flexspi_handle_t |
Transfer handle structure for FLEXSPI. More... | |
Macros | |
#define | FLEXSPI_LUT_SEQ(cmd0, pad0, op0, cmd1, pad1, op1) |
Formula to form FLEXSPI instructions in LUT table. More... | |
Typedefs | |
typedef void(* | flexspi_transfer_callback_t )(FLEXSPI_Type *base, flexspi_handle_t *handle, status_t status, void *userData) |
FLEXSPI transfer callback function. More... | |
Driver version | |
#define | FSL_FLEXSPI_DRIVER_VERSION (MAKE_VERSION(2, 3, 3)) |
FLEXSPI driver version 2.3.3. More... | |
Initialization and deinitialization | |
uint32_t | FLEXSPI_GetInstance (FLEXSPI_Type *base) |
Get the instance number for FLEXSPI. More... | |
status_t | FLEXSPI_CheckAndClearError (FLEXSPI_Type *base, uint32_t status) |
Check and clear IP command execution errors. More... | |
void | FLEXSPI_Init (FLEXSPI_Type *base, const flexspi_config_t *config) |
Initializes the FLEXSPI module and internal state. More... | |
void | FLEXSPI_GetDefaultConfig (flexspi_config_t *config) |
Gets default settings for FLEXSPI. More... | |
void | FLEXSPI_Deinit (FLEXSPI_Type *base) |
Deinitializes the FLEXSPI module. More... | |
void | FLEXSPI_UpdateDllValue (FLEXSPI_Type *base, flexspi_device_config_t *config, flexspi_port_t port) |
Update FLEXSPI DLL value depending on currently flexspi root clock. More... | |
void | FLEXSPI_SetFlashConfig (FLEXSPI_Type *base, flexspi_device_config_t *config, flexspi_port_t port) |
Configures the connected device parameter. More... | |
static void | FLEXSPI_SoftwareReset (FLEXSPI_Type *base) |
Software reset for the FLEXSPI logic. More... | |
static void | FLEXSPI_Enable (FLEXSPI_Type *base, bool enable) |
Enables or disables the FLEXSPI module. More... | |
Interrupts | |
static void | FLEXSPI_EnableInterrupts (FLEXSPI_Type *base, uint32_t mask) |
Enables the FLEXSPI interrupts. More... | |
static void | FLEXSPI_DisableInterrupts (FLEXSPI_Type *base, uint32_t mask) |
Disable the FLEXSPI interrupts. More... | |
DMA control | |
static void | FLEXSPI_EnableTxDMA (FLEXSPI_Type *base, bool enable) |
Enables or disables FLEXSPI IP Tx FIFO DMA requests. More... | |
static void | FLEXSPI_EnableRxDMA (FLEXSPI_Type *base, bool enable) |
Enables or disables FLEXSPI IP Rx FIFO DMA requests. More... | |
static uint32_t | FLEXSPI_GetTxFifoAddress (FLEXSPI_Type *base) |
Gets FLEXSPI IP tx fifo address for DMA transfer. More... | |
static uint32_t | FLEXSPI_GetRxFifoAddress (FLEXSPI_Type *base) |
Gets FLEXSPI IP rx fifo address for DMA transfer. More... | |
FIFO control | |
static void | FLEXSPI_ResetFifos (FLEXSPI_Type *base, bool txFifo, bool rxFifo) |
Clears the FLEXSPI IP FIFO logic. More... | |
static void | FLEXSPI_GetFifoCounts (FLEXSPI_Type *base, size_t *txCount, size_t *rxCount) |
Gets the valid data entries in the FLEXSPI FIFOs. More... | |
Status | |
static uint32_t | FLEXSPI_GetInterruptStatusFlags (FLEXSPI_Type *base) |
Get the FLEXSPI interrupt status flags. More... | |
static void | FLEXSPI_ClearInterruptStatusFlags (FLEXSPI_Type *base, uint32_t mask) |
Get the FLEXSPI interrupt status flags. More... | |
static flexspi_arb_command_source_t | FLEXSPI_GetArbitratorCommandSource (FLEXSPI_Type *base) |
Gets the trigger source of current command sequence granted by arbitrator. More... | |
static flexspi_ip_error_code_t | FLEXSPI_GetIPCommandErrorCode (FLEXSPI_Type *base, uint8_t *index) |
Gets the error code when IP command error detected. More... | |
static flexspi_ahb_error_code_t | FLEXSPI_GetAHBCommandErrorCode (FLEXSPI_Type *base, uint8_t *index) |
Gets the error code when AHB command error detected. More... | |
static bool | FLEXSPI_GetBusIdleStatus (FLEXSPI_Type *base) |
Returns whether the bus is idle. More... | |
Bus Operations | |
void | FLEXSPI_UpdateRxSampleClock (FLEXSPI_Type *base, flexspi_read_sample_clock_t clockSource) |
Update read sample clock source. More... | |
static void | FLEXSPI_EnableIPParallelMode (FLEXSPI_Type *base, bool enable) |
Enables/disables the FLEXSPI IP command parallel mode. More... | |
static void | FLEXSPI_EnableAHBParallelMode (FLEXSPI_Type *base, bool enable) |
Enables/disables the FLEXSPI AHB command parallel mode. More... | |
void | FLEXSPI_UpdateLUT (FLEXSPI_Type *base, uint32_t index, const uint32_t *cmd, uint32_t count) |
Updates the LUT table. More... | |
static void | FLEXSPI_WriteData (FLEXSPI_Type *base, uint32_t data, uint8_t fifoIndex) |
Writes data into FIFO. More... | |
static uint32_t | FLEXSPI_ReadData (FLEXSPI_Type *base, uint8_t fifoIndex) |
Receives data from data FIFO. More... | |
status_t | FLEXSPI_WriteBlocking (FLEXSPI_Type *base, uint32_t *buffer, size_t size) |
Sends a buffer of data bytes using blocking method. More... | |
status_t | FLEXSPI_ReadBlocking (FLEXSPI_Type *base, uint32_t *buffer, size_t size) |
Receives a buffer of data bytes using a blocking method. More... | |
status_t | FLEXSPI_TransferBlocking (FLEXSPI_Type *base, flexspi_transfer_t *xfer) |
Execute command to transfer a buffer data bytes using a blocking method. More... | |
Transactional | |
void | FLEXSPI_TransferCreateHandle (FLEXSPI_Type *base, flexspi_handle_t *handle, flexspi_transfer_callback_t callback, void *userData) |
Initializes the FLEXSPI handle which is used in transactional functions. More... | |
status_t | FLEXSPI_TransferNonBlocking (FLEXSPI_Type *base, flexspi_handle_t *handle, flexspi_transfer_t *xfer) |
Performs a interrupt non-blocking transfer on the FLEXSPI bus. More... | |
status_t | FLEXSPI_TransferGetCount (FLEXSPI_Type *base, flexspi_handle_t *handle, size_t *count) |
Gets the master transfer status during a interrupt non-blocking transfer. More... | |
void | FLEXSPI_TransferAbort (FLEXSPI_Type *base, flexspi_handle_t *handle) |
Aborts an interrupt non-blocking transfer early. More... | |
void | FLEXSPI_TransferHandleIRQ (FLEXSPI_Type *base, flexspi_handle_t *handle) |
Master interrupt handler. More... | |
struct flexspi_config_t |
Data Fields | |
flexspi_read_sample_clock_t | rxSampleClock |
Sample Clock source selection for Flash Reading. More... | |
bool | enableSckFreeRunning |
Enable/disable SCK output free-running. More... | |
bool | enableCombination |
Enable/disable combining PORT A and B Data Pins (SIOA[3:0] and SIOB[3:0]) to support Flash Octal mode. More... | |
bool | enableDoze |
Enable/disable doze mode support. More... | |
bool | enableHalfSpeedAccess |
Enable/disable divide by 2 of the clock for half speed commands. More... | |
bool | enableSckBDiffOpt |
Enable/disable SCKB pad use as SCKA differential clock output, when enable, Port B flash access is not available. More... | |
bool | enableSameConfigForAll |
Enable/disable same configuration for all connected devices when enabled, same configuration in FLASHA1CRx is applied to all. More... | |
uint16_t | seqTimeoutCycle |
Timeout wait cycle for command sequence execution, timeout after ahbGrantTimeoutCyle*1024 serial root clock cycles. More... | |
uint8_t | ipGrantTimeoutCycle |
Timeout wait cycle for IP command grant, timeout after ipGrantTimeoutCycle*1024 AHB clock cycles. More... | |
uint8_t | txWatermark |
FLEXSPI IP transmit watermark value. More... | |
uint8_t | rxWatermark |
FLEXSPI receive watermark value. More... | |
bool | enableAHBWriteIpTxFifo |
Enable AHB bus write access to IP TX FIFO. More... | |
bool | enableAHBWriteIpRxFifo |
Enable AHB bus write access to IP RX FIFO. More... | |
uint8_t | ahbGrantTimeoutCycle |
Timeout wait cycle for AHB command grant, timeout after ahbGrantTimeoutCyle*1024 AHB clock cycles. More... | |
uint16_t | ahbBusTimeoutCycle |
Timeout wait cycle for AHB read/write access, timeout after ahbBusTimeoutCycle*1024 AHB clock cycles. More... | |
uint8_t | resumeWaitCycle |
Wait cycle for idle state before suspended command sequence resume, timeout after ahbBusTimeoutCycle AHB clock cycles. More... | |
flexspi_ahbBuffer_config_t | buffer [FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT] |
AHB buffer size. More... | |
bool | enableClearAHBBufferOpt |
Enable/disable automatically clean AHB RX Buffer and TX Buffer when FLEXSPI returns STOP mode ACK. More... | |
bool | enableReadAddressOpt |
Enable/disable remove AHB read burst start address alignment limitation. More... | |
bool | enableAHBPrefetch |
Enable/disable AHB read prefetch feature, when enabled, FLEXSPI will fetch more data than current AHB burst. More... | |
bool | enableAHBBufferable |
Enable/disable AHB bufferable write access support, when enabled, FLEXSPI return before waiting for command execution finished. More... | |
bool | enableAHBCachable |
Enable AHB bus cachable read access support. More... | |
flexspi_read_sample_clock_t flexspi_config_t::rxSampleClock |
bool flexspi_config_t::enableSckFreeRunning |
bool flexspi_config_t::enableCombination |
bool flexspi_config_t::enableDoze |
bool flexspi_config_t::enableHalfSpeedAccess |
bool flexspi_config_t::enableSckBDiffOpt |
bool flexspi_config_t::enableSameConfigForAll |
uint16_t flexspi_config_t::seqTimeoutCycle |
uint8_t flexspi_config_t::ipGrantTimeoutCycle |
uint8_t flexspi_config_t::txWatermark |
uint8_t flexspi_config_t::rxWatermark |
bool flexspi_config_t::enableAHBWriteIpTxFifo |
bool flexspi_config_t::enableAHBWriteIpRxFifo |
uint8_t flexspi_config_t::ahbGrantTimeoutCycle |
uint16_t flexspi_config_t::ahbBusTimeoutCycle |
uint8_t flexspi_config_t::resumeWaitCycle |
flexspi_ahbBuffer_config_t flexspi_config_t::buffer[FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT] |
bool flexspi_config_t::enableClearAHBBufferOpt |
bool flexspi_config_t::enableReadAddressOpt |
when enable, there is no AHB read burst start address alignment limitation.
bool flexspi_config_t::enableAHBPrefetch |
bool flexspi_config_t::enableAHBBufferable |
bool flexspi_config_t::enableAHBCachable |
struct flexspi_device_config_t |
Data Fields | |
uint32_t | flexspiRootClk |
FLEXSPI serial root clock. More... | |
bool | isSck2Enabled |
FLEXSPI use SCK2. More... | |
uint32_t | flashSize |
Flash size in KByte. More... | |
flexspi_cs_interval_cycle_unit_t | CSIntervalUnit |
CS interval unit, 1 or 256 cycle. More... | |
uint16_t | CSInterval |
CS line assert interval, multiply CS interval unit to get the CS line assert interval cycles. More... | |
uint8_t | CSHoldTime |
CS line hold time. More... | |
uint8_t | CSSetupTime |
CS line setup time. More... | |
uint8_t | dataValidTime |
Data valid time for external device. More... | |
uint8_t | columnspace |
Column space size. More... | |
bool | enableWordAddress |
If enable word address. More... | |
uint8_t | AWRSeqIndex |
Sequence ID for AHB write command. More... | |
uint8_t | AWRSeqNumber |
Sequence number for AHB write command. More... | |
uint8_t | ARDSeqIndex |
Sequence ID for AHB read command. More... | |
uint8_t | ARDSeqNumber |
Sequence number for AHB read command. More... | |
flexspi_ahb_write_wait_unit_t | AHBWriteWaitUnit |
AHB write wait unit. More... | |
uint16_t | AHBWriteWaitInterval |
AHB write wait interval, multiply AHB write interval unit to get the AHB write wait cycles. More... | |
bool | enableWriteMask |
Enable/Disable FLEXSPI drive DQS pin as write mask when writing to external device. More... | |
uint32_t flexspi_device_config_t::flexspiRootClk |
bool flexspi_device_config_t::isSck2Enabled |
uint32_t flexspi_device_config_t::flashSize |
flexspi_cs_interval_cycle_unit_t flexspi_device_config_t::CSIntervalUnit |
uint16_t flexspi_device_config_t::CSInterval |
uint8_t flexspi_device_config_t::CSHoldTime |
uint8_t flexspi_device_config_t::CSSetupTime |
uint8_t flexspi_device_config_t::dataValidTime |
uint8_t flexspi_device_config_t::columnspace |
bool flexspi_device_config_t::enableWordAddress |
uint8_t flexspi_device_config_t::AWRSeqIndex |
uint8_t flexspi_device_config_t::AWRSeqNumber |
uint8_t flexspi_device_config_t::ARDSeqIndex |
uint8_t flexspi_device_config_t::ARDSeqNumber |
flexspi_ahb_write_wait_unit_t flexspi_device_config_t::AHBWriteWaitUnit |
uint16_t flexspi_device_config_t::AHBWriteWaitInterval |
bool flexspi_device_config_t::enableWriteMask |
struct flexspi_transfer_t |
Data Fields | |
uint32_t | deviceAddress |
Operation device address. More... | |
flexspi_port_t | port |
Operation port. More... | |
flexspi_command_type_t | cmdType |
Execution command type. More... | |
uint8_t | seqIndex |
Sequence ID for command. More... | |
uint8_t | SeqNumber |
Sequence number for command. More... | |
uint32_t * | data |
Data buffer. More... | |
size_t | dataSize |
Data size in bytes. More... | |
uint32_t flexspi_transfer_t::deviceAddress |
flexspi_port_t flexspi_transfer_t::port |
flexspi_command_type_t flexspi_transfer_t::cmdType |
uint8_t flexspi_transfer_t::seqIndex |
uint8_t flexspi_transfer_t::SeqNumber |
uint32_t* flexspi_transfer_t::data |
size_t flexspi_transfer_t::dataSize |
struct _flexspi_handle |
Data Fields | |
uint32_t | state |
Internal state for FLEXSPI transfer. | |
uint32_t * | data |
Data buffer. More... | |
size_t | dataSize |
Remaining Data size in bytes. More... | |
size_t | transferTotalSize |
Total Data size in bytes. More... | |
flexspi_transfer_callback_t | completionCallback |
Callback for users while transfer finish or error occurred. | |
void * | userData |
FLEXSPI callback function parameter. More... | |
uint32_t* flexspi_handle_t::data |
size_t flexspi_handle_t::dataSize |
size_t flexspi_handle_t::transferTotalSize |
void* flexspi_handle_t::userData |
#define FSL_FLEXSPI_DRIVER_VERSION (MAKE_VERSION(2, 3, 3)) |
#define FLEXSPI_LUT_SEQ | ( | cmd0, | |
pad0, | |||
op0, | |||
cmd1, | |||
pad1, | |||
op1 | |||
) |
typedef void(* flexspi_transfer_callback_t)(FLEXSPI_Type *base, flexspi_handle_t *handle, status_t status, void *userData) |
anonymous enum |
anonymous enum |
enum flexspi_pad_t |
enum flexspi_flags_t |
enum flexspi_port_t |
uint32_t FLEXSPI_GetInstance | ( | FLEXSPI_Type * | base | ) |
base | FLEXSPI base pointer. |
status_t FLEXSPI_CheckAndClearError | ( | FLEXSPI_Type * | base, |
uint32_t | status | ||
) |
base | FLEXSPI base pointer. |
status | interrupt status. |
void FLEXSPI_Init | ( | FLEXSPI_Type * | base, |
const flexspi_config_t * | config | ||
) |
This function enables the clock for FLEXSPI and also configures the FLEXSPI with the input configure parameters. Users should call this function before any FLEXSPI operations.
base | FLEXSPI peripheral base address. |
config | FLEXSPI configure structure. |
void FLEXSPI_GetDefaultConfig | ( | flexspi_config_t * | config | ) |
config | FLEXSPI configuration structure. |
void FLEXSPI_Deinit | ( | FLEXSPI_Type * | base | ) |
Clears the FLEXSPI state and FLEXSPI module registers.
base | FLEXSPI peripheral base address. |
void FLEXSPI_UpdateDllValue | ( | FLEXSPI_Type * | base, |
flexspi_device_config_t * | config, | ||
flexspi_port_t | port | ||
) |
base | FLEXSPI peripheral base address. |
config | Flash configuration parameters. |
port | FLEXSPI Operation port. |
void FLEXSPI_SetFlashConfig | ( | FLEXSPI_Type * | base, |
flexspi_device_config_t * | config, | ||
flexspi_port_t | port | ||
) |
This function configures the connected device relevant parameters, such as the size, command, and so on. The flash configuration value cannot have a default value. The user needs to configure it according to the connected device.
base | FLEXSPI peripheral base address. |
config | Flash configuration parameters. |
port | FLEXSPI Operation port. |
|
inlinestatic |
This function sets the software reset flags for both AHB and buffer domain and resets both AHB buffer and also IP FIFOs.
base | FLEXSPI peripheral base address. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
enable | True means enable FLEXSPI, false means disable. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
mask | FLEXSPI interrupt source. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
mask | FLEXSPI interrupt source. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
enable | Enable flag for transmit DMA request. Pass true for enable, false for disable. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
enable | Enable flag for receive DMA request. Pass true for enable, false for disable. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
The | tx fifo address. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
The | rx fifo address. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
txFifo | Pass true to reset TX FIFO. |
rxFifo | Pass true to reset RX FIFO. |
|
inlinestatic |
base | FLEXSPI peripheral base address. | |
[out] | txCount | Pointer through which the current number of bytes in the transmit FIFO is returned. Pass NULL if this value is not required. |
[out] | rxCount | Pointer through which the current number of bytes in the receive FIFO is returned. Pass NULL if this value is not required. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
interrupt | status flag, use status flag to AND flexspi_flags_t could get the related status. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
mask | FLEXSPI interrupt source. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
trigger | source of current command sequence. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
index | Pointer to a uint8_t type variable to receive the sequence index when error detected. |
error | code when IP command error detected. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
index | Pointer to a uint8_t type variable to receive the sequence index when error detected. |
error | code when AHB command error detected. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
true | Bus is idle. |
false | Bus is busy. |
void FLEXSPI_UpdateRxSampleClock | ( | FLEXSPI_Type * | base, |
flexspi_read_sample_clock_t | clockSource | ||
) |
base | FLEXSPI peripheral base address. |
clockSource | clockSource of type flexspi_read_sample_clock_t |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
enable | True means enable parallel mode, false means disable parallel mode. |
|
inlinestatic |
base | FLEXSPI peripheral base address. |
enable | True means enable parallel mode, false means disable parallel mode. |
void FLEXSPI_UpdateLUT | ( | FLEXSPI_Type * | base, |
uint32_t | index, | ||
const uint32_t * | cmd, | ||
uint32_t | count | ||
) |
base | FLEXSPI peripheral base address. |
index | From which index start to update. It could be any index of the LUT table, which also allows user to update command content inside a command. Each command consists of up to 8 instructions and occupy 4*32-bit memory. |
cmd | Command sequence array. |
count | Number of sequences. |
|
inlinestatic |
base | FLEXSPI peripheral base address |
data | The data bytes to send |
fifoIndex | Destination fifo index. |
|
inlinestatic |
base | FLEXSPI peripheral base address |
fifoIndex | Source fifo index. |
status_t FLEXSPI_WriteBlocking | ( | FLEXSPI_Type * | base, |
uint32_t * | buffer, | ||
size_t | size | ||
) |
base | FLEXSPI peripheral base address |
buffer | The data bytes to send |
size | The number of data bytes to send |
kStatus_Success | write success without error |
kStatus_FLEXSPI_SequenceExecutionTimeout | sequence execution timeout |
kStatus_FLEXSPI_IpCommandSequenceError | IP command sequence error detected |
kStatus_FLEXSPI_IpCommandGrantTimeout | IP command grant timeout detected |
status_t FLEXSPI_ReadBlocking | ( | FLEXSPI_Type * | base, |
uint32_t * | buffer, | ||
size_t | size | ||
) |
base | FLEXSPI peripheral base address |
buffer | The data bytes to send |
size | The number of data bytes to receive |
kStatus_Success | read success without error |
kStatus_FLEXSPI_SequenceExecutionTimeout | sequence execution timeout |
kStatus_FLEXSPI_IpCommandSequenceError | IP command sequencen error detected |
kStatus_FLEXSPI_IpCommandGrantTimeout | IP command grant timeout detected |
status_t FLEXSPI_TransferBlocking | ( | FLEXSPI_Type * | base, |
flexspi_transfer_t * | xfer | ||
) |
base | FLEXSPI peripheral base address |
xfer | pointer to the transfer structure. |
kStatus_Success | command transfer success without error |
kStatus_FLEXSPI_SequenceExecutionTimeout | sequence execution timeout |
kStatus_FLEXSPI_IpCommandSequenceError | IP command sequence error detected |
kStatus_FLEXSPI_IpCommandGrantTimeout | IP command grant timeout detected |
void FLEXSPI_TransferCreateHandle | ( | FLEXSPI_Type * | base, |
flexspi_handle_t * | handle, | ||
flexspi_transfer_callback_t | callback, | ||
void * | userData | ||
) |
base | FLEXSPI peripheral base address. |
handle | pointer to flexspi_handle_t structure to store the transfer state. |
callback | pointer to user callback function. |
userData | user parameter passed to the callback function. |
status_t FLEXSPI_TransferNonBlocking | ( | FLEXSPI_Type * | base, |
flexspi_handle_t * | handle, | ||
flexspi_transfer_t * | xfer | ||
) |
base | FLEXSPI peripheral base address. |
handle | pointer to flexspi_handle_t structure which stores the transfer state. |
xfer | pointer to flexspi_transfer_t structure. |
kStatus_Success | Successfully start the data transmission. |
kStatus_FLEXSPI_Busy | Previous transmission still not finished. |
status_t FLEXSPI_TransferGetCount | ( | FLEXSPI_Type * | base, |
flexspi_handle_t * | handle, | ||
size_t * | count | ||
) |
base | FLEXSPI peripheral base address. |
handle | pointer to flexspi_handle_t structure which stores the transfer state. |
count | Number of bytes transferred so far by the non-blocking transaction. |
kStatus_InvalidArgument | count is Invalid. |
kStatus_Success | Successfully return the count. |
void FLEXSPI_TransferAbort | ( | FLEXSPI_Type * | base, |
flexspi_handle_t * | handle | ||
) |
base | FLEXSPI peripheral base address. |
handle | pointer to flexspi_handle_t structure which stores the transfer state |
void FLEXSPI_TransferHandleIRQ | ( | FLEXSPI_Type * | base, |
flexspi_handle_t * | handle | ||
) |
base | FLEXSPI peripheral base address. |
handle | pointer to flexspi_handle_t structure. |