dsp.h File Reference

DSP subsystem. More...

#include <gctypes.h>

Data Structures

struct  _dsp_task

Defines

#define DSPTASK_ATTACH   0x00000001
#define DSPTASK_CANCEL   0x00000002
#define DSPTASK_CLEARALL   0x00000000
#define DSPTASK_DONE   3
#define DSPTASK_INIT   0
#define DSPTASK_RUN   1
#define DSPTASK_YIELD   2

Typedefs

typedef void(* DSPCallback )(void)
 function pointer typedef for the user's DSP interrupt callback
typedef struct _dsp_task dsptask_t
 forward typdef to struct _dsp_task. This struture holds certain DSP task information for execution.
typedef void(* DSPTaskCallback )(dsptask_t *task)
 function pointer typedef for the user's DSP task callbacks

Functions

dsptask_tDSP_AddTask (dsptask_t *task)
 Add a DSP task to the tasklist and start executing if necessary.
void DSP_AssertInt ()
 Asserts the processor interface interrupt.
dsptask_tDSP_AssertTask (dsptask_t *task)
void DSP_CancelTask (dsptask_t *task)
u32 DSP_CheckMailFrom ()
 Check for mail from DSP.
u32 DSP_CheckMailTo ()
 Check if mail was sent to DSP.
void DSP_Halt ()
void DSP_Init ()
 Initialize DSP subsystem.
u32 DSP_ReadCPUtoDSP ()
 Read back CPU->DSP mailbox.
u32 DSP_ReadMailFrom ()
 Read mail from DSP.
DSPCallback DSP_RegisterCallback (DSPCallback usr_cb)
 Register an user's interrupt callback. This may be used to handle DSP interrupts on its own. By default a system default callback is installed on DSP_Init().
void DSP_Reset ()
void DSP_SendMailTo (u32 mail)
 Send mail to DSP.
void DSP_Unhalt ()

Detailed Description

DSP subsystem.


Typedef Documentation

forward typdef to struct _dsp_task. This struture holds certain DSP task information for execution.

Parameters:
state current task state set
prio priority of the task
flags currnet task flag(s) set.
init_vec initialization vector. depends on the DSP code to execute.
resume_vec resume vector. depends on the DSP code to execute.
iram_maddr main memory address of i-ram image. NOTE: Has to be aligned on a 32byte boundery!
iram_len size of i-ram image. NOTE: Should be a multiple of 32
iram_addr DSP i-ram address to load the image to.
dram_maddr main memory address of d-ram image. NOTE: Has to be aligned on a 32byte boundery!
dram_len size of d-ram image. NOTE: Should be a multiple of 32
dram_addr DSP d-ram address to load the image to.
init_cb pointer to the user's init callback function. Called durring task initialization.
res_cb pointer to the user's resume callback function. Called when the task should resume.
done_cb pointer to the user's done callback function. Called when the task has finished.
req_cb pointer to the user's request callback function. Used to retrieve data from main application durring execution.
next pointer to the next task in the doubly linked list.
prev pointer to the previous task in the doubly linked list.
void(* DSPTaskCallback)(dsptask_t *task)

function pointer typedef for the user's DSP task callbacks

Parameters:
[in] task pointer to the dsp_task structure.

Function Documentation

dsptask_t * DSP_AddTask ( dsptask_t task  ) 

Add a DSP task to the tasklist and start executing if necessary.

Parameters:
[in] task pointer to a dsptask_t structure which holds all necessary values for DSP task execution.
Returns:
current task
void DSP_AssertInt (  ) 

Asserts the processor interface interrupt.

Returns:
none
u32 DSP_CheckMailFrom (  ) 

Check for mail from DSP.

Returns:
1: has mail, 0: no mail
u32 DSP_CheckMailTo (  ) 

Check if mail was sent to DSP.

Returns:
1: mail sent, 0: mail on route
void DSP_Init (  ) 

Initialize DSP subsystem.

Returns:
none
u32 DSP_ReadCPUtoDSP (  ) 

Read back CPU->DSP mailbox.

Returns:
mail value received
u32 DSP_ReadMailFrom (  ) 

Read mail from DSP.

Returns:
mail value received
DSPCallback DSP_RegisterCallback ( DSPCallback  usr_cb  ) 

Register an user's interrupt callback. This may be used to handle DSP interrupts on its own. By default a system default callback is installed on DSP_Init().

Parameters:
[in] user_cb pointer to the user's interrupt callback function. \
Returns:
pointer to old interrupt callback function.
void DSP_SendMailTo ( u32  mail  ) 

Send mail to DSP.

Parameters:
[in] mail value to send
Returns:
none
 All Data Structures Files Functions Variables Typedefs Defines
Generated on Fri May 28 12:59:43 2010 for libOGC by  doxygen 1.6.3