nrfxlib API 3.3.99
Loading...
Searching...
No Matches

◆ nrf_semmc_cmd_prepare()

nrf_semmc_error_t nrf_semmc_cmd_prepare ( nrf_semmc_t const * p_semmc,
nrf_semmc_cmd_desc_t * p_cmd,
nrf_semmc_config_t const * p_config,
nrf_semmc_transfer_desc_t * p_transfer,
size_t cmd_count )

#include <softperipheral/sEMMC/include/nrf_semmc.h>

prepare to start an asynchronous command.

This function is an equivalent of nrf_semmc_cmd with NRF_SEMMC_FLAG_HOLD_XFER flag set.

The start of the prepared transfer must be triggered outside of this function.

See also
nrf_semmc_start_task_address_get

If the controller mode transfer is in progress, a new transfer can be requested. If the driver is capable of queueing the requested transfer, the function returns NRF_SEMMC_SUCCESS. If not, it returns NRF_SEMMC_ERROR_BUSY. If the target mode transfer is idle waiting for the remote controller, new transfer requests abort the idling transfer and the nrf_semmc_event_handler_t is called to indicate aborted transfer. If the target mode transfer is activated by the remote controller, a new requested transfer can be queued by the driver. If the driver is capable of queuing the new transfer, the function returns NRF_SEMMC_SUCCESS. Otherwise, it returns NRF_SEMMC_ERROR_BUSY.

Parameters
p_semmcPointer to the eMMC driver instance.
p_cmdPointer to the command descriptor structure.
p_configPointer to the configuration structure.
p_transferPointer to the transfer descriptor structure.
cmd_countNumber of transfers in the array pointed by p_cmd.
Return values
NRF_SEMMC_SUCCESSThe transfer is prepared
NRF_SEMMC_ERROR_BUSYThere is ongoing transfer