![]() |
nrfxlib API 3.3.99
|
| 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.
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.
| p_semmc | Pointer to the eMMC driver instance. |
| p_cmd | Pointer to the command descriptor structure. |
| p_config | Pointer to the configuration structure. |
| p_transfer | Pointer to the transfer descriptor structure. |
| cmd_count | Number of transfers in the array pointed by p_cmd. |
| NRF_SEMMC_SUCCESS | The transfer is prepared |
| NRF_SEMMC_ERROR_BUSY | There is ongoing transfer |