source: svn/trunk/zasc/app/dst_eroum_interface.h @ 22

Last change on this file since 22 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
File size: 12.4 KB
Line 
1//-----------------------------------------------------------------------------//
2//   dst_eroum_interface.h
3//   V2.23 ÀÌⱸ POWER °ü·Ã Á¤ÀÇ Á¦°Å
4//   V2.22 ÀÌⱸ ¿ÜºÎ ÀÔ·Â °ü·Ã Á¦°Å
5//   V2.20 ÀÌⱸ 2012.02.20 Audio Info Ãß°¡
6//                           Open ÇÔ¼ö¸¦ TV/CVBS ºÐ¸®
7//                           Power Manager ÇÔ¼ö Ãß°¡
8//                           Rear View Detect ÇÔ¼ö Ãß°¡
9//   V1.01 ÀÌⱸ 2012.01.19 Dual Decoding Ãß°¡
10//   V1.00 ÀÌⱸ 2012.01.13 First Draft
11//-----------------------------------------------------------------------------//
12
13#ifndef __DST_EROUM_INTERFACE_H__
14#define __DST_EROUM_INTERFACE_H__
15
16#ifdef DSTAR
17#include <stdlib.h>
18#include <stdio.h>
19#else
20#include <ministd.h>
21#include "DHL_OSAL.h"
22#endif
23
24#include <string.h>
25
26#include "DST_Types.h"
27
28#ifdef DSTAR
29#define DST_Printf printf
30#else
31#define DST_Printf printf
32#endif
33#define T() DST_Printf("[INFO][%d]%s %d\n",__LINE__,__func__, (int)DST_OS_GetTickCount())
34
35
36typedef unsigned int   DHL_HANDLE;
37// ¿¡·¯ ÄÚµå Á¤ÀÇ
38enum DHL_ERROR
39{
40        DHL_OK_,
41        DHL_FAIL_
42};
43
44// ÀԷµǴ ºñµð¿À ¼Ò½ºÀÇ ASPECT
45// ¸í½ÃÀûÀ¸·Î 16:9 ÀÔ·ÂÀÌ ¾Æ´Ï¶ó¸é ¸ðµÎ 4:3À¸·Î ó¸®
46enum DHL_SOURCE_ASEPCT
47{
48        DHL_SOURCE_UNKNOWN,
49        DHL_SOURCE_4x3,
50        DHL_SOURCE_16x9
51};
52
53
54// singal info Äݹé ÇÔ¼öÀÇ prototype
55// TV¿¡¼­ ºñµð¿À µðÄÚµùÀÌ ½ÃÀÛµÈ °æ¿ì È­¸éÇØ»óµµ Á¤º¸¸¦ Äݹé
56// CVBS¿¡¼­ ºñµð¿À ÀÔ·ÂÀÌ ½ÃÀÛµÈ °æ¿ì È­¸éÇØ»óµµ Á¤º¸¸¦ Äݹé
57// CVBS¿¡¼­ ºñµð¿À ÀÔ·ÂÀÌ ¾ø¾îÁø °æ¿ì È­¸é nWidth¿Í nHeight ¸¦ 0À¸·Î Äݹé
58typedef void (*DHL_SignalInfoCallBack)(
59        int nWidth, // ºñµð¿À Æø
60        int nHeight,  // ºñµð¿À ³ôÀÌ
61        int RefreshRate, // Refresh À²
62        bool bInterlaced, // ÀÎÅÍ·¹À̽º ¿©ºÎ true = interlace
63        DHL_SOURCE_ASEPCT); // ºñµð¿À ÀÔ·Â ¼Ò½ºÀÇ ¿ÍÀ̵忩ºÎ
64
65// B-CAS Ä«µå°¡ ²ÈÈ÷°Å³ª Á¦°ÅµÉ ¶§ ¹ß»ý
66// TV°¡ ±¸µ¿µÇ°í CAS°ü·Ã ÃʱâÈ­°¡ ¿Ï·áµÇ¸é È£ÃâµÊ
67// Ä«µå°¡ »ðÀÔ¶Ç´Â Á¦°Å½Ã¸¶´Ù È£ÃâµÊ
68enum DHL_CAS_STATE
69{
70        DHL_CAS_UNKNOWN,
71        DHL_CAS_ERROR,
72        DHL_CAS_INSERTED,
73        DHL_CAS_ACTIVATED,
74        DHL_CAS_REMOVED
75};
76
77// Caption ÄݹéÀÇ prototype
78typedef void (*DHL_CCCallBack) (DS_U8 *buffer, int Context);   
79
80// video start Äݹé ÇÔ¼öÀÇ prototype
81// TV VideoµðÄÚµùÀÌ ½ÃÀ۵Ǿî È­¸éÀÌ ³ª¿À±â ½ÃÀÛÇÏ¸é ¹ß»ýÇÏ´Â Callback
82// Mute Á¦¾î¿¡ »ç¿ëµÊ
83typedef void (*DHL_VideoStartCallBack)();
84
85// SI Äݹé ÇÔ¼öÀÇ prototype
86typedef void (*DHL_SiCallBack)(DS_U32 RF, DS_U32 nRequestID, DS_U8** buff, DS_U32 nBuffLength);
87
88// IR ÄݹéÀÇ ÇÁ·ÎÅäŸÀÔ
89typedef void (*DHL_IrCallBack) (DS_U32 key, DS_U32 repeat, DS_U32 tick);
90
91// ºñµð¿À µðÄÚµù ÄÚµ¦
92enum DHL_VIDEO_TYPE
93{
94        DHL_VIDEO_NONE,
95        DHL_VIDEO_MPEG1,
96        DHL_VIDEO_MPEG2,
97        DHL_VIDEO_MPEG4
98};
99
100// ¿Àµð¿À µðÄÚµù ÄÚµ¦
101enum DHL_AUDIO_TYPE
102{
103        DHL_AUDIO_NONE,
104        DHL_AUDIO_MPEG1,
105        DHL_AUDIO_MPEG2,
106        DHL_AUDIO_AAC_ADTS,
107        DHL_AUDIO_AAC_LATM,
108};
109
110// ¿Àµð¿À LR ¼³Á¤
111// Dual Mono°¡ ¾Æ´Ñ °æ¿ì Ç×»ó DHL_AUDIO_BOTH·Î È£ÃâÇÔ
112enum DHL_AUDIO_LR
113{
114        DHL_AUDIO_BOTH,
115        DHL_AUDIO_LEFT,
116        DHL_AUDIO_RIGHT
117};
118
119// Play ÁßÀÎ ¿Àµð¿ÀÀÇ ¸ðµå¸¦ ¹ÝȯÇÑ´Ù.
120enum DHL_AUDIO_MODE
121{
122        DHL_AUDIO_UNKNOWN, // ¿Àµð¿À ¸ðµå¸¦ ¾Ë ¼ö ¾ø°Å³ª ¿Àµð¿À°¡ ½ÃÀÛÇÏÁö ¾ÊÀº °æ¿ì
123        DHL_AUDIO_DUAL_MONO, 
124        DHL_AUDIO_MONO,
125        DHL_AUDIO_STEREO,
126        DHL_AUDIO_5_1
127};
128
129enum DHL_ASPECT_RATIO
130{
131        DHL_ASPECT_4x3_4x3,               //  4:3 ÀԷ¼ҽº  4:3 Ãâ·Â
132        DHL_ASPECT_16x9_4x3_WIDE,      // 16:9 ÀԷ¼ҽº  4:3 Ãâ·Â wide
133        DHL_ASPECT_16x9_4x3_NORMAL,  // 16:9 ÀԷ¼ҽº 4:3 Ãâ·Â normal
134        DHL_ASPECT_16x9_4x3_ZOOM,     // 16:9 ÀԷ¼ҽº 4:3 Ãâ·Â zoom
135        DHL_ASPECT_4x3_16x9_WIDE,      //   4:3 ÀԷ¼ҽº 16:9 Ãâ·Â wide
136        DHL_ASPECT_4x3_16x9_NORMAL, //   4:3 ÀԷ¼ҽº 16:9 Ãâ·Â normal
137        DHL_ASPECT_4x3_16x9_ZOOM,    //   4:3 ÀԷ¼ҽº 16:9 Ãâ·Â zoom
138        DHL_ASPECT_16x9_16x9_WIDE,     //  16:9 ÀԷ¼ҽº 16:9 Ãâ·Â wide
139        DHL_ASPECT_16x9_16x9_NORMAL //  16:9 ÀԷ¼ҽº 16:9 Ãâ·Â normal
140};
141
142
143
144// audio start Äݹé ÇÔ¼öÀÇ prototype
145// TV AudioµðÄÚµùÀÌ ½ÃÀ۵Ǿî È­¸éÀÌ ³ª¿À±â ½ÃÀÛÇÏ¸é ¹ß»ýÇÏ´Â Callback
146// Mute Á¦¾î¿¡ »ç¿ëµÊ
147typedef void (*DHL_AudioStartCallBack)(DS_U32);
148
149#if 0
150____System___()
151#endif
152
153
154// SYSTEM ÃʱâÈ­
155DHL_ERROR DHL_SYS_Initialize();
156
157// TV ½ÃÀÛ
158DHL_ERROR DHL_SYS_TV_Open(
159                DHL_SignalInfoCallBack, 
160                DHL_VideoStartCallBack, 
161                DHL_AudioStartCallBack, 
162                DHL_SiCallBack,
163                DHL_CCCallBack,
164                DHL_IrCallBack);
165
166// TV Á¾·á
167DHL_ERROR DHL_SYS_TV_Close();
168
169#if 0
170____Video___()
171#endif
172
173// Video ½ÃÀÛ
174DHL_ERROR DHL_VID_Start(DS_U16 VideoPID, DS_U16 PcrPID, DHL_VIDEO_TYPE);
175
176// Dual Decoding Video ½ÃÀÛ
177// Ç®¼¼±×¿Í ¿ø¼¼±× µ¿½Ã¿¡ ºñµð¿À µðÄÚµùÀ» ½ÃÀÛÇÏ´Â ÇÔ¼ö
178// bDisplayFullSeg = true  Ç®¼¼±× ºñµð¿À¸¦ È­¸é¿¡ Ç¥½Ã
179// bDisplayFullSeg = false  ¿ø¼¼±× ºñµð¿À¸¦ È­¸é¿¡ Ç¥½Ã
180// ¾Æ·¡ µî°ú °°ÀÌ ÀÎÀÚÀÇ °ªÀÌ º¯°æµÇ´Â °æ¿ì¿¡µµ Video Stop ¾øÀÌ È£ÃâÀÌ °¡´ÉÇϸç
181// À̶§ ºñµð¿À ²÷±èÀÌ ¾ø¾î¾ß ÇÔ
182// 1. Ç®¼¼±×¿¡¼­ ¿ø¼¼±×·Î º¯°æµÇ´Â °æ¿ìÀÇ È£Ãâ
183// DHL_VID_DualStart(10, 11, DHL_VIDEO_MPEG2, 20,21, DHL_VIDEO_MPEG4, true);
184// DHL_VID_DualStart(10, 11, DHL_VIDEO_MPEG2, 20,21, DHL_VIDEO_MPEG4, false);
185// 2. °°Àº RF³»¿¡¼­ Ç®¼¼±×¸¸ ´Ù¸¥ ä³Î·Î º¯°æµÈ °æ¿ì
186// DHL_VID_DualStart(10, 11, DHL_VIDEO_MPEG2, 20,21, DHL_VIDEO_MPEG4, true);
187// DHL_VID_DualStart(12, 11, DHL_VIDEO_MPEG2, 20,21, DHL_VIDEO_MPEG4, true);
188// 3. ¿ø¼¼±× ä³ÎÀÌ ¾ø´Ù°¡ ³ªÅ¸³­ °æ¿ì
189// DHL_VID_DualStart(10, 11, DHL_VIDEO_MPEG2,  0,  0, DHL_VIDEO_NONE, true);
190// DHL_VID_DualStart(12, 11, DHL_VIDEO_MPEG2, 20, 21, DHL_VIDEO_MPEG4, true);
191DHL_ERROR DHL_VID_DualStart(
192        DS_U16 FullSegVideoPID, DS_U16 FullSegPcrPID, DHL_VIDEO_TYPE typeFullSeg,
193        DS_U16 OneSegVideoPID,  DS_U16 OneSegPcrPID,  DHL_VIDEO_TYPE typeOneSeg,
194        bool bDisplayFullSeg);
195
196// Video Á¾·á
197DHL_ERROR DHL_VID_Stop();
198
199// Video Mute ºñµð¿À È­¸éÀ» °ËÀº»öÀ¸·Î º¸ÀÌÁö ¾Êµµ·Ï ÇÔ. CVBS¿¡¼­µµ µ¿ÀÏ
200// bMute = false --> Video Unmute
201// bMute = true  --> Video Mute
202DHL_ERROR DHL_VID_Mute(bool bMute);
203
204// Video Alive µðÄÚµùµÈ ºñµð¿À°¡ ÀÖ´ÂÁö ¿©ºÎ¸¦ ¾Ë·ÁÁÖ´Â ÇÔ¼ö
205bool DHL_VID_Alive();
206
207// Video Aspect ¼³Á¤
208// ÀÔ·Â ASPECT(4:3 16:9) ¿¡µû¶ó °¢°¢ ³× °¡Áö ¸ðµå°¡ ÀÖÀ½
209//DHL_ERROR DHL_VID_Aspect(DHL_ASPECT_RATIO);
210DHL_ERROR DHL_VID_Aspect(DHL_ASPECT_RATIO ar, DS_U16 w, DS_U16 h);
211
212#if 0
213____Audio___()
214#endif
215
216// Audio ½ÃÀÛ
217// PcrPID == 0 Àΰæ¿ì Audio Only ä³Î
218DHL_ERROR DHL_AUD_Start(DS_U16 AudioPid, DS_U16 PcrPID, DHL_AUDIO_TYPE);
219
220// Audio Á¾·á
221DHL_ERROR DHL_AUD_Stop();
222
223// Audio Volume 0 is mute
224DHL_ERROR DHL_AUD_Volume(DS_U8 nVal);
225
226// Audio Alive µðÄÚµùµÈ ¿Àµð¿À°¡ ÀÖ´ÂÁö ¿©ºÎ¸¦ ¾Ë·ÁÁÖ´Â ÇÔ¼ö
227bool DHL_AUD_Alive();
228
229DHL_AUDIO_MODE DHL_AUD_GetMode();
230
231#if 0
232____SI___()
233#endif
234
235// PAT Monitoring
236// PAT¸¦ ¸ð´ÏÅ͸µ ÇÑ´Ù.
237// CRC º¯°æ½Ã ¸¶´Ù Äݹé
238// PID = 0x00
239DHL_HANDLE DHL_SI_MonitorPAT(DS_U32 RF, DS_U32 nRequestID);
240
241// PMT Monitoring
242// PMT¸¦ ¸ð´ÏÅ͸µ ÇÑ´Ù.
243// RF´ç ÃÖ´ë 16°³±îÁö ¸ð´ÏÅ͸µ ÇÑ´Ù.
244// CRC º¯°æ½Ã ¸¶´Ù Äݹé
245// PID = depend on PAT
246//
247DHL_HANDLE DHL_SI_MonitorPMT(DS_U32 RF, DS_U32 nRequestID, DS_U16 Pid);
248
249// SDT Monitoring
250// SDT¸¦ ¸ð´ÏÅ͸µÇÑ´Ù.
251// CRC º¯°æ½Ã ¸¶´Ù Äݹé
252// PID = 0x11
253DHL_HANDLE DHL_SI_MonitorSDT(DS_U32 RF, DS_U32 nRequestID);
254
255// NIT Monitoring
256// NIT¸¦ ¸ð´ÏÅ͸µÇÑ´Ù.
257// CRC º¯°æ½Ã ¸¶´Ù Äݹé
258// PID = 0x10
259DHL_HANDLE DHL_SI_MonitorNIT(DS_U32 RF, DS_U32 nRequestID);
260
261// CDT Monitoring
262// CDT¸¦ ¸ð´ÏÅ͸µÇÑ´Ù.
263// ¹æ¼Û±¹ ·Î°í¸¦ ¹Þ´Â ±â´ÉÀ¸·Î ¸ÖƼ¼½¼Ç¿¡ ´ëÇÑ Áö¿ø ÇÊ¿ä
264// CRC º¯°æ½Ã ¸¶´Ù Äݹé
265// PID = 0x29
266DHL_HANDLE DHL_SI_MonitorCDT(DS_U32 RF, DS_U32 nRequestID);
267
268// ECM Monitoring
269// CRC º¯°æ½Ã ¸¶´Ù Äݹé
270// PID = depend on PMT
271DHL_HANDLE DHL_SI_MonitorECM(DS_U32 RF, DS_U32 nRequestID, DS_U16 Pid);
272
273// BIT Monitoring
274// CRC º¯°æ½Ã ¸¶´Ù Äݹé
275// PID = 0x24
276DHL_HANDLE DHL_SI_MonitorBIT(DS_U32 RF, DS_U32 nRequestID);
277
278// TOT Monitoring
279// CRC º¯°æ½Ã ¸¶´Ù Äݹé
280// PID = 0x14 TableID = 0x73
281DHL_HANDLE DHL_SI_MonitorTOT(DS_U32 RF, DS_U32 nRequestID);
282
283// TOT Monitoring
284// CRC º¯°æ½Ã ¸¶´Ù Äݹé
285// PID = 0x14 TableID = 0x70
286DHL_HANDLE DHL_SI_MonitorTDT(DS_U32 RF, DS_U32 nRequestID);
287
288// EIT Monitoring
289// HEIT = 0x12 TableID = 0x4E~0x5F SourceID = depend on PMT
290// MEIT = 0x26
291// LEIT - 0x27
292DHL_HANDLE DHL_SI_MonitorEIT(DS_U32 RF, DS_U32 nRequestID, DS_U16 pid, DS_U16 source_id);
293DHL_HANDLE DHL_SI_MonitorETT(DS_U32 RF, DS_U32 nRequestID, DS_U16 pid, DS_U16 source_id);
294DHL_HANDLE DHL_SI_MonitorTVCT(DS_U32 RF, DS_U32 nRequestID);
295DHL_HANDLE DHL_SI_MonitorCVCT(DS_U32 RF, DS_U32 nRequestID);
296DHL_HANDLE DHL_SI_MonitorMGT(DS_U32 RF, DS_U32 nRequestID);
297DHL_HANDLE DHL_SI_MonitorSTT(DS_U32 RF, DS_U32 nRequestID);
298
299DHL_HANDLE DHL_SI_MonitorRFUpdate(DS_U32 RF, DS_U32 nRequestID);
300
301DHL_HANDLE DHL_SI_MonitorSCTE_CVT(DS_U32 RF, DS_U32 nRequestID);
302DHL_HANDLE DHL_SI_MonitorSCTE_DII(DS_U32 RF, DS_U32 nRequestID, DS_U16 pid);
303DHL_HANDLE DHL_SI_MonitorSCTE_DDB(DS_U32 RF, DS_U32 nRequestID, DS_U16 pid);
304
305
306// Monitoring Stop
307DHL_ERROR DHL_SI_MonitorStop(DHL_HANDLE* handle);
308
309#if 0
310____Tuner___()
311#endif
312enum DHL_MODULATION_MODE // A65 Table 6.5 Modulation Modes
313{
314        DHL_MODULATION_NULL,
315        DHL_MODULATION_64QAM = 2,
316        DHL_MODULATION_256QAM = 3,
317        DHL_MODULATION_8VSB = 4,
318        DHL_MODULATION_16VSB =5
319};
320
321// Æ©³Ê ½ÃÀÛ
322DHL_ERROR DHL_TUN_Start(int rf, DHL_MODULATION_MODE nMode = DHL_MODULATION_8VSB);
323
324// Æ©³Ê Á¾·á
325DHL_ERROR DHL_TUN_Stop();
326
327// ½ÅÈ£Á¤º¸
328// °¢ °ªÀÇ ¹üÀ§´Â 0-10000
329// SignalStrength ½ÅÈ£¼¼±â
330// BERA ¿ø¼¼±×ÀÇ Bit Error Rate
331// BERB  Ç®¼¼±×ÀÇ Bir Error Rate
332DHL_ERROR DHL_TUNE_Info(DS_U8 RF, int *SignalStrength, bool *bLock);
333
334#if 0
335____CAS___()
336#endif
337
338// Ä«½º Åë½Å
339DHL_ERROR DHL_CAS_Transaction(DS_U8 Cmd[188], DS_U8 nCmdLen, DS_U8 Ret[188]);
340
341// Multi2 PID ¼³Á¤
342// Video Audio CC PID¸¦ ¼³Á¤ÇÑ´Ù.
343DHL_ERROR DHL_CAS_SetPid(DS_U16 Pid);
344
345// Multi2 PID ÃʱâÈ­
346// DHL_CAS_SetPid·Î ¼³Á¤ÇÑ ¸ðµç °ªÀ» Áö¿ì°í ÃʱâÈ­ÇÑ´Ù.
347DHL_ERROR DHL_CAS_ResetPid();
348
349
350void DHL_GFX_Open();
351void DHL_GFX_Draw(OSD_PIXEL_T *src, int x, int y, int w, int h);
352
353
354#if 0
355____IR___()
356#endif
357
358// ŰÆÐµåÀÇ °ªÀ» °¡Á®¿Â´Ù.
359// 1 : POWER 2:UP 3:DN
360DS_U8 DHL_GetKeyPadGPIO();
361
362void DHL_SetLED(bool bRed, bool bGreen);
363
364void DHL_SetCh34(DS_U8 nVal);
365#if 0
366____OS___()
367#endif
368
369DS_U32 DST_OS_GetTickCount();
370void DST_OS_Delay(DS_U32 Ticks);
371DS_U32 DST_OS_GetTicksPerSecond();
372DS_U32 DST_OS_SpawnTask (void (*func)(void* ), char *name, DS_U16 prio, DS_U16 stacksize, DS_U32 arg);
373
374DS_U32 DST_OS_CreateMessageQueue (const char *name, DS_U32 option, DS_U32 maxMessage, DS_U32 messageLength);
375DS_U32 DST_OS_DeleteMessageQueue(DS_U32 qId);
376DS_U32 DST_OS_ReceiveMessage_Wait(DS_U32 qId, DS_U32 *msgBuf, DS_U32 maxLen, DS_U32 *retLen, DS_U32 timeOut);
377DS_U32 DST_OS_ReceiveMessage_NoWait(DS_U32 qId, DS_U32 *msgBuf, DS_U32 maxLen, DS_U32 *retLen);
378DS_U32 DST_OS_SendMessage (DS_U32 qId, DS_U32 *pBuffer, DS_U32 nBytes);
379
380DS_U32 DST_OS_CreateLock(char *name);
381void DST_OS_Lock(DS_U32 id);
382void DST_OS_Unlock(DS_U32 id);
383
384void *_DST_OS_Malloc(unsigned int size, const char* func, int nLine);
385void *_DST_OS_Calloc(unsigned int count, unsigned int size, const char* func, int nLine);
386void _DST_OS_Free(void *where, const char* func, int nLine);
387
388void DST_OS_PrintMemUnit(void);
389#define DST_OS_Malloc(a)    _DST_OS_Malloc(a, __func__, __LINE__)
390#define DST_OS_Calloc(a, b) _DST_OS_Calloc(a, b, __func__, __LINE__)
391#define DST_OS_Free(block)  {           \
392                                _DST_OS_Free(*(void **)block, __func__, __LINE__);              \
393                                *(void **)block =NULL;          \
394                                                                                                                }
395extern "C" void *DST_OS_MallocDirect(int size); // malloc
396extern "C" void *DST_OS_CallocDirect(int num, int size); // calloc
397extern "C" void *DST_OS_ReallocDirect(void *ptr, int size); // realloc
398extern "C" void DST_OS_FreeDirect( void *ptr); // free
399extern "C" int DST_OS_MemSize(void *ptr);
400
401#if 0
402____POWER___()
403#endif
404
405void DHL_SYS_Off();
406void DHL_SYS_Reboot();
407void DHL_POWER_Display(bool bOn);
408
409// Return °ªÀÌ 0À̸é Bank0 1À̸é Bank1
410bool DHL_INFO_GetBankNumber();
411void DHL_INFO_SetBankNumber(DS_U8 data);
412
413bool DHL_INFO_GetLastPowerState();
414void DHL_INFO_SetLastPowerState(bool bOn);
415#if 0
416____Flash_Memory___()
417#endif
418
419// FLASH MAP  1536
420// 0x000000 BOOTLOADER  1MB-8K
421// 0x0FE000  BANK_SELECT 4KB
422// 0x0FF000  LAST POWER   4KB
423// 0x100000 BANK0
424// 0x200000 BANK1
425// 0x700000 CANNEL DB      512K
426#define FLASH_TOTAL_SIZE    (8*1024*1024)
427#define FLASH_BOOT_POS      (0)
428#define FLASH_BOOT_SIZE     (1*1024*1024 - 4 * 1024 - 4 * 1024)
429#define FLASH_BANK_SELECT_POS (FLASH_BOOT_POS+FLASH_BOOT_SIZE)
430#define FLASH_BANK_SELECT_SIZE (4*1024)
431#define FLASH_LAST_POWER_POS (FLASH_BANK_SELECT_POS+FLASH_BANK_SELECT_SIZE)
432#define FLASH_LAST_POWER_SIZE  (4*1024)
433#define FLASH_CH_MAP_SIZE (512*1024)
434#define FLASH_CH_MAP_POS (FLASH_TOTAL_SIZE - FLASH_CH_MAP_SIZE)
435#define FLASH_BANK_SIZE    ((((FLASH_TOTAL_SIZE-FLASH_BOOT_SIZE-FLASH_BANK_SELECT_SIZE-FLASH_CH_MAP_SIZE)/2)/4096)*4096)
436#define FLASH_BANK0_POS  (FLASH_LAST_POWER_POS+FLASH_LAST_POWER_SIZE)
437#define FLASH_BANK1_POS  (FLASH_BANK0_POS+FLASH_BANK_SIZE)
438
439void DHL_Flash_Write(DS_U32 address, DS_U32 nSize, DS_U8 *data);
440// È£ÃâÇÑ ÂÊ¿¡¼­ ¸Þ¸ð¸® ÇØÁ¦ ÇÊ¿ä
441DS_U8* DHL_Flash_Read(DS_U32 address, DS_U32 nSize);
442
443// ministd¿¡¼­ Áö¿øÇÏÁö ¾Ê´Â stdc ÇÔ¼ö
444int atoi(char *st);
445
446#endif // __DST_EROUM_INTERFACE_H__
Note: See TracBrowser for help on using the repository browser.