SD API#
SD_ConfigureMemSeg()#
Description#
Configures the memory segment where SD module data structures will be allocated.
Files#
sd.h/sd.c
Prototype#
void SD_ConfigureMemSeg (MEM_SEG *p_seg MEM_SEG *p_seg_buf)
Arguments#
p_seg
Pointer to memory segment to use when allocating control data.
Can be the same segment used for p_seg_buf
.
DEF_NULL
means general purpose heap segment.
p_seg_buf
Pointer to memory segment to use when allocating data buffers.
Can be the same segment used for p_seg
.
DEF_NULL
means general purpose heap segment.
Returned Value#
None.
Notes / Warnings#
Calling this function is optional, if it is not called, the default value will be used.
This function MUST be called before the IO SD module is initialized via the
IO_Init()
function.
SD_ConfigureIO_FnctHandleQty()#
Description#
Configures the maximum number of SD IO Functions for all the SD buses.
Files#
sd.h/sd.c
Prototype#
void SD_ConfigureIO_FnctHandleQty (CPU_SIZE_T fnct_handle_qty)
Arguments#
fnct_handle_qty
Max number of SD IO function handles.
Returned Value#
None.
Notes / Warnings#
Calling this function is optional, if it is not called, the default value will be used.
This function MUST be called before the IO SD module is initialized via the
IO_Init()
function.
SD_ConfigureEventQty()#
Description#
Configures the maximum number of events for all the SD buses.
Files#
sd.h/sd.c
Prototype#
void SD_ConfigureEventQty (CPU_SIZE_T event_qty)
Arguments#
event_qty
Quantity of events.
Returned Value#
None.
Notes / Warnings#
Calling this function is optional, if it is not called, the default value will be used.
This function MUST be called before the IO SD module is initialized via the
IO_Init()
function.
SD_ConfigureXferQty()#
Description#
Configures the maximum number of simultaneous transfers for all the SD buses.
Files#
sd.h/sd.c
Prototype#
void SD_ConfigureXferQty (CPU_SIZE_T xfer_qty)
Arguments#
xfer_qty
Quantity of transfers.
Returned Value#
None.
Notes / Warnings#
Calling this function is optional, if it is not called, the default value will be used.
This function MUST be called before the IO SD module is initialized via the
IO_Init()
function.
SD_ConfigureEventFncts()#
Description#
Sets the structure of callback that will be used by the IO SD module to notify the application of certain events.
Files#
sd.h/sd.c
Prototype#
void SD_ConfigureEventFncts (const SD_EVENT_FNCTS *p_event_fncts)
Arguments#
p_event_fncts
Pointer to a structure containing the event functions to call. [Content MUST be persistent]
Returned Value#
None.
Notes / Warnings#
Calling this function is optional, if it is not called, the default value will be used.
This function MUST be called before the IO SD module is initialized via the
IO_Init()
function.
SD_ConfigureCoreTaskStk()#
Description#
Configures the SD core task's stack.
Files#
sd.h/sd.c
Prototype#
void SD_ConfigureCoreTaskStk (CPU_INT32U stk_size_elements,
void *p_stk)
Arguments#
stk_size_elements
Size, in stack elements, of the task's stack.
p_stk
Pointer to base of the task's stack. If DEF_NULL
, stack will be allocated from KAL's memory segment.
Returned Value#
None.
Notes / Warnings#
Calling this function is optional, if it is not called, the default value will be used.
This function MUST be called before the IO SD module is initialized via the
IO_Init()
function.In order to change the priority of the IO SD core task, use the function
SD_CoreTaskPrioSet()
.
SD_ConfigureAsyncTaskStk()#
Description#
Configures the SD async task's stack.
Files#
sd.h/sd.c
Prototype#
void SD_ConfigureAsyncTaskStk (CPU_INT32U stk_size_elements,
void *p_stk)
Arguments#
stk_size_elements
Size, in stack elements, of the task's stack.
p_stk
Pointer to base of the task's stack. If DEF_NULL
, stack will be allocated from KAL's memory segment.
Returned Value#
None.
Notes / Warnings#
Calling this function is optional, if it is not called, the default value will be used.
This function MUST be called before the IO SD module is initialized via the
IO_Init()
function.In order to change the priority of the IO SD core task, use the function
SD_AsyncTaskPrioSet()
.
SD_CoreTaskPrioSet()#
Description#
Assigns a new priority to the IO SD core task.
Files#
sd.h/sd.c
Prototype#
void SD_CoreTaskPrioSet (CPU_INT08U prio,
RTOS_ERR *p_err)
Arguments#
prio
New priority of the the core task.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
RTOS_ERR_INVALID_ARG
Returned Value#
None.
Notes / Warnings#
This function cannot be called before the IO SD module has been initialized via the
IO_Init()
function.
SD_AsyncTaskPrioSet()#
Description#
Assigns a new priority to the IO SD async task.
Files#
sd.h/sd.c
Prototype#
void SD_AsyncTaskPrioSet (CPU_INT08U prio,
RTOS_ERR *p_err)
Arguments#
prio
New priority of the the async task.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
RTOS_ERR_INVALID_ARG
Returned Value#
None.
Notes / Warnings#
This function cannot be called before the IO SD module has been initialized via the
IO_Init()
function.
SD_OperationsTimeoutSet()#
Description#
Assigns a new timeout value for SD operations.
Files#
sd.h/sd.c
Prototype#
void SD_OperationsTimeoutSet (CPU_INT32U timeout_ms,
RTOS_ERR *p_err)
Arguments#
timout_ms
New timeout value, in ms.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
Returned Value#
None.
Notes / Warnings#
This function cannot be called before the IO SD module has been initialized via the
IO_Init()
function.
SD_BusAdd()#
Description#
Adds a SD bus.
Files#
sd.h/sd.c
Prototype#
SD_BUS_HANDLE SD_BusAdd (const CPU_CHAR *name,
RTOS_ERR *p_err)
Arguments#
name
Name of SD bus controller.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
RTOS_ERR_NOT_AVAIL
RTOS_ERR_WOULD_OVF
RTOS_ERR_OS_OBJ_DEL
RTOS_ERR_NOT_FOUND
RTOS_ERR_WOULD_BLOCK
RTOS_ERR_IS_OWNER
RTOS_ERR_SEG_OVF
RTOS_ERR_OS_SCHED_LOCKED
RTOS_ERR_ABORT
RTOS_ERR_TIMEOUT
Returned Value#
None.
Notes / Warnings#
None.
SD_BusHandleGetFromName()#
Description#
Gets SD bus handle from its name.
Files#
sd.h/sd.c
Prototype#
SD_BUS_HANDLE SD_BusHandleGetFromName (const CPU_CHAR *name)
Arguments#
name
Name of SD bus controller.
Returned Value#
Handle to SD bus.
Notes / Warnings#
None.
SD_BusStart()#
Description#
Starts SD bus controller.
Files#
sd.h/sd.c
Prototype#
void SD_BusStart (SD_BUS_HANDLE bus_handle,
RTOS_ERR *p_err)
Arguments#
bus_handle
Handle to SD bus.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
RTOS_ERR_INVALID_HANDLE
Returned Value#
None.
Notes / Warnings#
None.
SD_BusStop()#
Description#
Stops SD bus controller.
Files#
sd.h/sd.c
Prototype#
void SD_BusStop (SD_BUS_HANDLE bus_handle,
RTOS_ERR *p_err)
Arguments#
bus_handle
Handle to SD bus.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
RTOS_ERR_INVALID_HANDLE
Returned Value#
None.
Notes / Warnings#
None.
SD_AlignReqGet()#
Description#
Gets required buffer alignment.
Files#
sd.h/sd.c
Prototype#
CPU_SIZE_T SD_AlignReqGet (SD_BUS_HANDLE bus_handle,
RTOS_ERR *p_err)
Arguments#
bus_handle
Handle to SD bus.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
Returned Value#
Required alignment, in octets.
Notes / Warnings#
None.
SD_CardTypeGet()#
Description#
Gets type of SD card currently connected.
Files#
sd.h/sd.c
Prototype#
SD_CARDTYPE SD_CardTypeGet (SD_BUS_HANDLE bus_handle,
RTOS_ERR *p_err)
Arguments#
bus_handle
Handle to SD bus.
p_err
Pointer to the variable that will receive one of the following error code(s) from this function:
RTOS_ERR_NONE
Returned Value#
Type of SD card.
Notes / Warnings#
None.
SD_BSP_BusCardDetectEvent()#
Description#
Reports card detect event to IO-SD core task.
Files#
sd.h/sd.c
Prototype#
void SD_BSP_BusCardDetectEvent (SD_BUS_HANDLE bus_handle)
Arguments#
bus_handle
Handle to SD bus.
Returned Value#
None.
Notes / Warnings#
None.
SD_BSP_BusCardRemoveEvent()#
Description#
Reports card remove event to IO-SD core task.
Files#
sd.h/sd.c
Prototype#
void SD_BSP_BusCardRemoveEvent (SD_BUS_HANDLE bus_handle)
Arguments#
bus_handle
Handle to SD bus.
Returned Value#
None.
Notes / Warnings#
None.
IO_SD_CARD_CTRLR_REG()#
Description#
Registers a IO SD controller to the platform manager.
Files#
sd.h
Prototype#
IO_SD_CARD_CTRLR_REG (name p_drv_info)
Arguments#
name
Unique name for the IO SD controller. It is recommended to follow the standard "sdX", where X is a digit.
p_drv_info
Pointer to the SD Bus driver hardware information structure of type SD_CARD_CTRLR_DRV_INFO
.
Returned Value#
None.
Notes / Warnings#
This macro should normally be called from the BSP.