00001
00095 #ifndef _kobanzame_h_
00096 #define _kobanzame_h_
00097
00098
00099 #include "target_def.h"
00100 #include "kzconfig.h"
00101 #include "kernel.h"
00102 #include <stdio.h>
00103 #include "kzstdio.h"
00104 #include "kzdev.h"
00105 #include "kzdsp.h"
00106
00107
00108 #define numof(x) sizeof(x)/sizeof(x[0])
00111 typedef enum {
00112 eKzSW0,
00113 eKzSW1,
00114 numof_KzSW
00115 } KzSW_t;
00116
00118 typedef enum {
00119 eKzLED0,
00120 eKzLED1,
00121 numof_KzLED
00122 } KzLED_t;
00123
00124
00131 typedef int (*KzFnCmd_t)( int argc, char *argv[] );
00132
00140 typedef void (*KzSwCbk_t)( KzSW_t nSw , BOOL bPushed );
00141
00149 typedef void (*KzMemsCbk_t)( int x, int y, int z);
00150
00160 typedef void (*KzAudioCbk_t)( int *in, int *out, int nBlocks, int nChannels);
00161
00162
00164 typedef struct {
00165 KzFnCmd_t mfnExe;
00166 const char* msCmd;
00167 const char* msHelp;
00168 } KzCmdRegist_t;
00169
00170 #define KZ_AUDIOCLUSTAR (4)
00172 #if TARGET_TOOL == TOOL_VS2008
00173 #pragma warning ( disable : 4996 )
00174 #endif
00175
00176
00177 #if TARGET_TOOL == TOOL_VDSP
00178 #define L1DATA_S section("L1_data_s")
00179 #define L1DATA_A section("L1_data_a")
00180 #define L1DATA_B section("L1_data_b")
00181 #define L1CODE section("L1_code")
00182 #define L3DATA section("L3_data")
00183 #define L3CODE section("L3_code")
00185 #elif TARGET_TOOL == TOOL_GCC
00186 #define L1DATA_S section("L1_data_s")
00187 #define L1DATA_A section("L1_data_a")
00188 #define L1DATA_B section("L1_data_b")
00189 #define L1CODE section("L1_code")
00190 #define L3DATA section("L3_data")
00191 #define L3CODE section("L3_code")
00193 #elif TARGET_TOOL == TOOL_VS2008
00194 #define L1DATA_S
00195 #define L1DATA_A
00196 #define L1DATA_B
00197 #define L1CODE
00198 #define L3DATA
00199 #define L3CODE
00201 #else
00202 #error "Please define TARGET_TOOL"
00203 #endif
00204
00205
00207 typedef enum {
00208 KZ_OK = 0,
00209 KZ_ERR = -1,
00210 } KZSTATUS_t;
00211
00212
00213 #ifdef __cplusplus
00214 extern "C" {
00215 #endif
00216
00217
00218 extern KZSTATUS_t KzCmdlineStart(void);
00219 extern KZSTATUS_t KzCmdlineExit(void);
00220 extern KZSTATUS_t KzCmdlineAdd( const KzCmdRegist_t *exe );
00221 extern KZSTATUS_t KzCmdlineAddMany( const KzCmdRegist_t *exes );
00222
00223
00224 extern KZSTATUS_t KzAddCmdDeviceDriver(void);
00225 extern KZSTATUS_t KzSwStart(KzSwCbk_t cbk);
00226 extern KZSTATUS_t KzSwStop(void);
00227 extern KZSTATUS_t KzLedOn(KzLED_t nLedNo);
00228 extern KZSTATUS_t KzLedOff(KzLED_t nLedNo);
00229 extern KZSTATUS_t KzLedBlink(KzLED_t nLedNo,int nOnTime, int nOffTime);
00230 extern KZSTATUS_t KzMemsStart(KzMemsCbk_t cbk);
00231 extern KZSTATUS_t KzMemsStop(void);
00232 extern KZSTATUS_t KzAudioStart(KzAudioCbk_t cbk,long lSampleRate, int nBlocks, int nChannels );
00233 extern KZSTATUS_t KzAudioStop(void);
00234
00235
00236 extern int KzGetVersionMajor(void);
00237 extern int KzGetVersionMinor(void);
00238 extern int KzGetBuildIdx(void);
00239 extern const char *KzGetBuildDate(void);
00240 extern const char *KzGetCopyRight(void);
00242
00243 extern KZSTATUS_t KzFilesystemStart(void);
00244 extern KZSTATUS_t KzAddCmdFilesystem(void);
00245
00246
00247 extern KZSTATUS_t KzAddCmdStdioTest(void);
00248
00249 #ifdef __cplusplus
00250 }
00251 #endif
00252
00253
00254 #include "kzprivate.h"
00255
00256 #endif
00257