comparison gpf/conf/gsmcomp.c @ 0:75a11d740a02

initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:02:41 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:75a11d740a02
1 /*
2 +-----------------------------------------------------------------------------
3 | Project :
4 | Modul :
5 +-----------------------------------------------------------------------------
6 | Copyright 2002 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Purpose : Component Table for GSM
18 +-----------------------------------------------------------------------------
19 */
20
21 #include "../../include/config.h"
22 #include "../../include/condat-features.h"
23 #include "gpfconf.h"
24
25 #define CONFIG_MODULE 1
26
27 #ifndef NEW_ENTITY
28 #define NEW_ENTITY
29 #endif
30
31 /*==== INCLUDES ===================================================*/
32
33 #include "../../nucleus/nucleus.h"
34 #include "typedefs.h"
35 #include "os.h"
36 #include "vsi.h"
37 #include "pei.h"
38 #include "gsmconst.h"
39 #include "frm_defs.h"
40 #include "frm_types.h"
41 #include "frm_glob.h"
42 #include "os_types.h"
43 #include "os_glob.h"
44
45 /*==== CONSTANTS ==================================================*/
46
47
48 /*==== EXTERNALS ==================================================*/
49
50 extern SHORT tstrcv_pei_create(T_PEI_INFO const **Info);
51 extern SHORT tstsnd_pei_create(T_PEI_INFO const **Info);
52 extern SHORT aci_pei_create (T_PEI_INFO const **Info);
53 extern SHORT cst_pei_create (T_PEI_INFO const **Info);
54 extern SHORT sim_pei_create (T_PEI_INFO const **Info);
55 extern SHORT sms_pei_create (T_PEI_INFO const **Info);
56 extern SHORT cc_pei_create (T_PEI_INFO const **Info);
57 extern SHORT ss_pei_create (T_PEI_INFO const **Info);
58 extern SHORT mm_pei_create (T_PEI_INFO const **Info);
59 extern SHORT rr_pei_create (T_PEI_INFO const **Info);
60 extern SHORT dl_pei_create (T_PEI_INFO const **Info);
61 extern SHORT pl_pei_create (T_PEI_INFO const **Info);
62 #ifdef FAX_AND_DATA
63 extern SHORT l2r_pei_create (T_PEI_INFO const **Info);
64 extern SHORT rlp_pei_create (T_PEI_INFO const **Info);
65 extern SHORT fad_pei_create (T_PEI_INFO const **Info);
66 extern SHORT t30_pei_create (T_PEI_INFO const **Info);
67 #endif /* FAX_AND_DATA */
68 #ifdef UART
69 extern SHORT uart_pei_create (T_PEI_INFO const **Info);
70 #endif/*UART*/
71 #ifdef BT_ADAPTER
72 extern SHORT bti_pei_create ( T_PEI_INFO const **Info);
73 #endif /* BT_ADAPTER */
74
75 #ifdef FF_EOTD
76 extern SHORT lc_pei_create (T_PEI_INFO const **Info);
77 extern SHORT rrlp_pei_create (T_PEI_INFO const **Info);
78 #endif /* FF_EOTD */
79
80 #ifdef CO_UDP_IP
81 extern SHORT udp_pei_create (T_PEI_INFO const **Info);
82 extern SHORT ip_pei_create (T_PEI_INFO const **Info);
83 #endif
84
85 #if defined (FF_WAP) || defined (FF_SAT_E)
86 extern SHORT ppp_pei_create ( T_PEI_INFO const **Info);
87 #endif /* FF_WAP || FF_SAT_E */
88
89 #ifdef FF_WAP
90 #ifndef UDP_NO_WAP
91 extern SHORT wap_pei_create (T_PEI_INFO const **Info);
92 #endif /* UDP_NO_WAP */
93 #endif /* FF_WAP */
94
95 #ifndef _TARGET_
96 extern SHORT psi_pei_create (T_PEI_INFO const **Info);
97 #ifdef FAX_AND_DATA
98 extern SHORT ra_pei_create (T_PEI_INFO const **Info);
99 #endif
100 #endif
101
102 #ifdef _TARGET_
103 extern SHORT l1_pei_create (T_PEI_INFO const **Info);
104 #endif
105 /*==== VARIABLES ==================================================*/
106
107 #ifndef _TARGET_
108 BOOL newTstHeader = TRUE;
109 #endif
110
111
112 const T_COMPONENT_ADDRESS tstrcv_list[] =
113 {
114 { tstrcv_pei_create, NULL, ASSIGNED_BY_TI },
115 { NULL, NULL, 0 }
116 };
117
118 const T_COMPONENT_ADDRESS tstsnd_list[] =
119 {
120 { tstsnd_pei_create, NULL, ASSIGNED_BY_TI },
121 { NULL, NULL, 0 }
122 };
123
124 const T_COMPONENT_ADDRESS mmi_list[] =
125 {
126 { aci_pei_create, NULL, ASSIGNED_BY_TI },
127 { NULL, NULL, 0 }
128 };
129
130 const T_COMPONENT_ADDRESS cst_list[] =
131 {
132 { cst_pei_create, NULL, ASSIGNED_BY_TI },
133 { NULL, NULL, 0 }
134 };
135
136 const T_COMPONENT_ADDRESS sim_list[] =
137 {
138 { sim_pei_create, NULL, ASSIGNED_BY_TI },
139 { NULL, NULL, 0 }
140 };
141
142 const T_COMPONENT_ADDRESS cm_list[] =
143 {
144 { sms_pei_create, NULL, ASSIGNED_BY_TI },
145 { cc_pei_create, NULL, ASSIGNED_BY_TI },
146 { ss_pei_create, NULL, ASSIGNED_BY_TI },
147 { NULL, NULL, (int)"CM" }
148 };
149
150 const T_COMPONENT_ADDRESS mm_list[] =
151 {
152 { mm_pei_create, NULL, ASSIGNED_BY_TI },
153 { NULL, NULL, 0 }
154 };
155
156 const T_COMPONENT_ADDRESS rr_list[] =
157 {
158 { rr_pei_create, NULL, ASSIGNED_BY_TI },
159 { NULL, NULL, 0 }
160 };
161
162 const T_COMPONENT_ADDRESS dl_list[] =
163 {
164 { dl_pei_create, NULL, ASSIGNED_BY_TI },
165 { NULL, NULL, 0 }
166 };
167
168 const T_COMPONENT_ADDRESS pl_list[] =
169 {
170 { pl_pei_create, NULL, ASSIGNED_BY_TI },
171 { NULL, NULL, 0 }
172 };
173
174 #ifdef FAX_AND_DATA
175 const T_COMPONENT_ADDRESS l2rt30_list[] =
176 {
177 { l2r_pei_create, NULL, ASSIGNED_BY_TI },
178 { t30_pei_create, NULL, ASSIGNED_BY_TI },
179 { NULL, NULL, (int) "L2RT30" }
180 };
181
182 const T_COMPONENT_ADDRESS rlpfad_list[] =
183 {
184 { rlp_pei_create, NULL, ASSIGNED_BY_TI },
185 { fad_pei_create, NULL, ASSIGNED_BY_TI },
186 { NULL, NULL, (int) "RLPFAD"}
187 };
188
189 #ifndef _TARGET_
190 const T_COMPONENT_ADDRESS ra_list[] =
191 {
192 { ra_pei_create, NULL, ASSIGNED_BY_TI },
193 { NULL, NULL, 0 }
194 };
195 #endif /* !_TARGET_ */
196 #endif /* FAX_AND_DATA */
197
198 #ifndef _TARGET_
199 #ifdef FF_TCP_IP
200 const T_COMPONENT_ADDRESS aaa_list[] =
201 {
202 { NULL, "AAA", ASSIGNED_BY_TI },
203 { NULL, NULL, 0 }
204 };
205 #endif /* FF_TCP_IP */
206 #endif /* !_TARGET_ */
207
208 #ifndef _TARGET_
209 #ifdef FF_PSI
210 const T_COMPONENT_ADDRESS psi_list[] =
211 {
212 { psi_pei_create, NULL, ASSIGNED_BY_TI },
213 { NULL, NULL, 0 }
214 };
215 #endif /*FF_PSI*/
216 #endif /* !_TARGET_ */
217
218 #ifdef UART
219 const T_COMPONENT_ADDRESS uart_list[] =
220 {
221 { uart_pei_create, NULL, ASSIGNED_BY_TI },
222 { NULL, NULL, 0 }
223 };
224 #endif /*UART*/
225
226 #ifdef FF_EOTD
227 const T_COMPONENT_ADDRESS eotd_list[] =
228 {
229 { lc_pei_create, NULL, ASSIGNED_BY_TI },
230 { rrlp_pei_create, NULL, ASSIGNED_BY_TI },
231 { NULL, NULL, (int)"EOTD" }
232 };
233 #endif /* FF_EOTD */
234
235
236 #ifdef FF_WAP
237 #ifndef UDP_NO_WAP
238 const T_COMPONENT_ADDRESS wap_list[] =
239 {
240 { wap_pei_create, NULL, ASSIGNED_BY_TI },
241 { NULL, NULL, 0 }
242 };
243 #endif /* UDP_NO_WAP */
244 #endif /* FF_WAP */
245
246 #ifdef CO_UDP_IP
247 const T_COMPONENT_ADDRESS udp_list[] =
248 {
249 { udp_pei_create, NULL, ASSIGNED_BY_TI },
250 { NULL, NULL, 0 }
251 };
252
253 const T_COMPONENT_ADDRESS ip_list[] =
254 {
255 { ip_pei_create, NULL, ASSIGNED_BY_TI },
256 { NULL, NULL, 0 }
257 };
258 #endif
259
260 #if defined (FF_WAP) || defined (FF_SAT_E)
261 const T_COMPONENT_ADDRESS ppp_list[] =
262 {
263 { ppp_pei_create, NULL, ASSIGNED_BY_TI },
264 { NULL, NULL, 0 }
265 };
266 #endif /* FF_WAP || FF_SAT_E */
267
268 #ifdef BT_ADAPTER
269 const T_COMPONENT_ADDRESS bti_list[] =
270 {
271 { bti_pei_create, NULL, ASSIGNED_BY_TI },
272 { NULL, NULL, 0 }
273 };
274 #endif /* BT_ADAPTER */
275
276 const T_COMPONENT_ADDRESS l1_list[] =
277 {
278 #ifdef _TARGET_
279 { l1_pei_create, NULL, ASSIGNED_BY_TI },
280 #else
281 { NULL, "L1", ASSIGNED_BY_TI },
282 #endif
283 { NULL, NULL, 0 }
284 };
285
286 const T_COMPONENT_ADDRESS * const ComponentTables[]=
287 {
288 tstrcv_list,
289 tstsnd_list,
290 mmi_list,
291 cst_list,
292 sim_list,
293 cm_list,
294 mm_list,
295 rr_list,
296 dl_list,
297 pl_list,
298 #ifdef FAX_AND_DATA
299 l2rt30_list,
300 rlpfad_list,
301 #ifndef _TARGET_
302 ra_list,
303 #endif
304 #endif /* FAX_AND_DATA */
305 #ifndef _TARGET_
306 #ifdef FF_TCP_IP
307 aaa_list,
308 #endif /* FF_TCP_IP */
309 #ifdef FF_PSI
310 psi_list,
311 #endif /*FF_PSI*/
312 #endif /* !_TARGET_ */
313 #ifdef UART
314 uart_list,
315 #endif
316 #ifdef FF_EOTD
317 eotd_list,
318 #endif
319 #ifdef FF_WAP
320 #ifndef UDP_NO_WAP
321 wap_list,
322 #endif /* !UDP_NO_WAP */
323 #endif /* FF_WAP */
324
325 #ifdef CO_UDP_IP
326 udp_list,
327 ip_list,
328 #endif /* CO_UDP_IP */
329 #if defined (FF_WAP) || defined (FF_SAT_E)
330 ppp_list,
331 #endif /* FF_WAP || FF_SAT_E */
332
333 #ifdef BT_ADAPTER
334 bti_list,
335 #endif /* BT_ADAPTER */
336 l1_list,
337 NULL
338 };
339
340 /*==== VERSIONS ===================================================*/
341 #ifndef CTRACE
342 char * str2ind_version = "&0";
343 #endif
344
345 /*==== MEMORY CONFIGURATION =======================================*/
346
347 /*
348 * Partitions pool configuration for primitive communication
349 */
350 #ifdef FAX_AND_DATA
351
352 #define PRIM_PARTITION_0_SIZE 52
353 #define PRIM_PARTITION_1_SIZE 100
354 #define PRIM_PARTITION_2_SIZE 432
355 #define PRIM_PARTITION_3_SIZE 1600
356 #define PRIM_PARTITION_4_SIZE 0
357 #define PRIM_PARTITION_5_SIZE 0
358
359 #define PRIMPOOL_0_PARTITIONS 80
360 #define PRIMPOOL_1_PARTITIONS 20
361 #define PRIMPOOL_2_PARTITIONS 30
362 #define PRIMPOOL_3_PARTITIONS 3
363 #define PRIMPOOL_4_PARTITIONS 0
364 #define PRIMPOOL_5_PARTITIONS 0
365
366 #else
367 /* no fax and data */
368 #define PRIM_PARTITION_0_SIZE 52
369 #define PRIM_PARTITION_1_SIZE 100
370 #define PRIM_PARTITION_2_SIZE 216 /* New */
371 #define PRIM_PARTITION_3_SIZE 260 /* sizeof (T_stk_cmd), do we need this? */
372 #define PRIM_PARTITION_4_SIZE 432
373 #define PRIM_PARTITION_5_SIZE 1600 /* FreeCalypso raised from 900 */
374
375 #define PRIMPOOL_0_PARTITIONS 80
376 #define PRIMPOOL_1_PARTITIONS 20
377 #ifdef TI_PS_UICC_CHIPSET_15
378 #define PRIMPOOL_2_PARTITIONS 6 /* 0 */
379 #else
380 #define PRIMPOOL_2_PARTITIONS 5 /* 0 */
381 #endif
382
383 #define PRIMPOOL_3_PARTITIONS 6 /* 0 */ /* Number to be optimized */
384
385 /*
386 * FreeCalypso change: bumping the number of 432-byte partitions in the
387 * voice-only config from 5 or 6 to 10. Our FreeCalypso code appears to
388 * work with the original smaller config, but this warning is seen:
389
390 SYSTEM WARNING: Bigger partition allocated than requested, entity SIM, Size 288
391
392 * SIM's request for size 288 will normally be allocated out of the 432 pool,
393 * but the next size up is the rare big one (used to be 900, we bumped it up
394 * to 1600), and wasting those is bad. So let's give it some more 432-byte
395 * partitions. (See the FAX_AND_DATA config above for comparison.)
396 */
397
398 #define PRIMPOOL_4_PARTITIONS 10
399
400 #define PRIMPOOL_5_PARTITIONS 3 /* FreeCalypso raised from 2 */
401
402 #endif /* else, #ifdef FAX_AND_DATA */
403
404
405 #ifdef FAX_AND_DATA
406 unsigned int MaxPrimPartSize = PRIM_PARTITION_3_SIZE;
407 #else
408 unsigned int MaxPrimPartSize = PRIM_PARTITION_5_SIZE;
409 #endif
410
411 char pool10 [ POOL_SIZE(PRIMPOOL_0_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_0_SIZE)) ] __attribute__ ((section ("int.ram")));
412
413 char pool11 [ POOL_SIZE(PRIMPOOL_1_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_1_SIZE)) ] __attribute__ ((section ("int.ram")));
414
415 char pool12 [ POOL_SIZE(PRIMPOOL_2_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_2_SIZE)) ] __attribute__ ((section ("int.ram")));
416
417 char pool13 [ POOL_SIZE(PRIMPOOL_3_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_3_SIZE)) ] __attribute__ ((section ("int.ram")));
418
419 #ifndef FAX_AND_DATA
420 char pool14 [ POOL_SIZE(PRIMPOOL_4_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_4_SIZE)) ] __attribute__ ((section ("int.ram")));
421
422 char pool15 [ POOL_SIZE(PRIMPOOL_5_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_5_SIZE)) ] __attribute__ ((section ("int.ram")));
423 #endif /* FAX_AND_DATA */
424
425
426 const T_FRM_PARTITION_POOL_CONFIG prim_grp_config[] =
427 {
428 { PRIMPOOL_0_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_0_SIZE), &pool10 },
429 { PRIMPOOL_1_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_1_SIZE), &pool11 },
430 { PRIMPOOL_2_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_2_SIZE), &pool12 },
431 { PRIMPOOL_3_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_3_SIZE), &pool13 },
432 #ifndef FAX_AND_DATA
433 { PRIMPOOL_4_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_4_SIZE), &pool14 },
434 { PRIMPOOL_5_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_5_SIZE), &pool15 },
435 #endif
436 { 0 , 0 , NULL }
437 };
438
439 /*
440 * Partitions pool configuration for test interface communication
441 *
442 * FreeCalypso: I bumped the configuration up from what TI had in their
443 * (likely unmaintained) gsmcomp.c as I expect we'll be doing a lot of
444 * debugging. - Space Falcon
445 */
446 #define TESTPOOL_0_PARTITIONS 10 /* was 1 */
447 #define TESTPOOL_1_PARTITIONS 50 /* was 15 */
448 #define TESTPOOL_2_PARTITIONS 2 /* was 0 */
449
450 #define TSTSND_QUEUE_ENTRIES (TESTPOOL_0_PARTITIONS+TESTPOOL_1_PARTITIONS+TESTPOOL_2_PARTITIONS)
451 #define TSTRCV_QUEUE_ENTRIES 50
452
453 #define TEST_PARTITION_0_SIZE 80 /* was 16 */
454 #ifdef _TARGET_
455 #define TEST_PARTITION_1_SIZE 160
456 #else
457 #define TEST_PARTITION_1_SIZE 260
458 #endif /* else, #ifdef _TARGET_ */
459
460 #define TEST_PARTITION_2_SIZE 1600
461
462 const USHORT TST_SndQueueEntries = TSTSND_QUEUE_ENTRIES;
463 const USHORT TST_RcvQueueEntries = TSTRCV_QUEUE_ENTRIES;
464 const USHORT TextTracePartitionSize = TEST_PARTITION_1_SIZE;
465
466 char pool20 [ POOL_SIZE(TESTPOOL_0_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_0_SIZE)) ] __attribute__ ((section ("ext.ram")));
467
468 char pool21 [ POOL_SIZE(TESTPOOL_1_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_1_SIZE)) ] __attribute__ ((section ("ext.ram")));
469
470 char pool22 [ POOL_SIZE(TESTPOOL_2_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_2_SIZE)) ] __attribute__ ((section ("ext.ram")));
471
472 const T_FRM_PARTITION_POOL_CONFIG test_grp_config[] =
473 {
474 { TESTPOOL_0_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_0_SIZE), &pool20 },
475 { TESTPOOL_1_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_1_SIZE), &pool21 },
476 { TESTPOOL_2_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_2_SIZE), &pool22 },
477 { 0 , 0 , NULL }
478 };
479
480 /*
481 * Partitions pool configuration for general purpose allocation
482 */
483
484 #define DMEM_PARTITION_0_SIZE 16 /* 100 */
485
486 /*
487 * CQ 29245: Value of the DMEMPOOL_0_PARTITIONS has been modified from 30 to 50
488 */
489
490 #define DMEMPOOL_0_PARTITIONS 50 /* 10 */ /* In GPRS this is 70 */
491
492 char pool30 [ POOL_SIZE(DMEMPOOL_0_PARTITIONS,ALIGN_SIZE(DMEM_PARTITION_0_SIZE)) ] __attribute__ ((section ("ext.ram")));
493
494 const T_FRM_PARTITION_POOL_CONFIG dmem_grp_config[] =
495 {
496 { DMEMPOOL_0_PARTITIONS, ALIGN_SIZE(DMEM_PARTITION_0_SIZE), &pool30 },
497 { 0 , 0 , NULL }
498 };
499
500 /*
501 * Partitions group list
502 */
503
504 const T_FRM_PARTITION_GROUP_CONFIG partition_grp_config[MAX_POOL_GROUPS+1] =
505 {
506 { "PRIM", &prim_grp_config[0] },
507 { "TEST", &test_grp_config[0] },
508 { "DMEM", &dmem_grp_config[0] },
509 { NULL, NULL }
510 };
511
512 extern T_HANDLE PrimGroupHandle;
513 extern T_HANDLE DmemGroupHandle;
514 extern T_HANDLE TestGroupHandle;
515
516 T_HANDLE *PoolGroupHandle[MAX_POOL_GROUPS+1] =
517 {
518 &PrimGroupHandle,
519 &TestGroupHandle,
520 &DmemGroupHandle,
521 NULL
522 };
523
524 /*
525 * Dynamic Memory Pool Configuration
526 */
527
528 /* Detecting GSM only lite to compile using minimal settings */
529 #if !defined(FAX_AND_DATA) && !defined(FF_TCP_IP) && !defined(FF_EOTD) &&\
530 !defined(FF_WAP) && !defined(BT_ADAPTER)
531 #define GO_LITE 1
532 #endif
533
534 #if defined(_TARGET_) && defined(GO_LITE)
535 #define EXT_DATA_POOL_PS_BASE_SIZE 28000 /* FreeCalypso bumped up from 23075 */
536 #else /* _TARGET_ && GO_LITE */
537 #define EXT_DATA_POOL_PS_BASE_SIZE 50000
538 #endif /* _TARGET_ && GO_LITE */
539
540 #undef GO_LITE /* We are not going to use this definition globally */
541
542 #ifdef MEMORY_SUPERVISION
543 #define EXT_DATA_POOL_PPS_ADDITION ((EXT_DATA_POOL_PS_BASE_SIZE>>3)+10000)
544 #else /* MEMORY_SUPERVISION */
545 #define EXT_DATA_POOL_PPS_ADDITION 0
546 #endif /* MEMORY_SUPERVISION */
547
548 #ifdef FAX_AND_DATA
549 #define EXT_DATA_POOL_FD_ADDITION 13000
550 #else /* FAX_AND_DATA */
551 #define EXT_DATA_POOL_FD_ADDITION 0
552 #endif /* FAX_AND_DATA */
553
554 #if defined (FF_WAP) || defined (FF_SAT_E)
555 #define EXT_DATA_POOL_WAP_ADDITION 5000
556 #else /* FF_WAP || FF_SAT_E */
557 #define EXT_DATA_POOL_WAP_ADDITION 0
558 #endif /* FF_WAP || FF_SAT_E */
559
560 #define EXT_DATA_POOL_PS_SIZE (EXT_DATA_POOL_PS_BASE_SIZE + EXT_DATA_POOL_PPS_ADDITION + EXT_DATA_POOL_FD_ADDITION + EXT_DATA_POOL_WAP_ADDITION)
561 #define INT_DATA_POOL_PS_SIZE 1 /* no distinction between external/internal RAM for GO/GOLite builds */
562
563 #define EXT_DATA_POOL_GPF_SIZE (2048 + OS_QUEUE_ENTRY_SIZE(TSTSND_QUEUE_ENTRIES) + OS_QUEUE_ENTRY_SIZE(TSTRCV_QUEUE_ENTRIES))
564
565 #define EXT_DATA_POOL_SIZE (EXT_DATA_POOL_PS_SIZE + EXT_DATA_POOL_GPF_SIZE)
566 #define INT_DATA_POOL_SIZE (INT_DATA_POOL_PS_SIZE)
567
568 char ext_data_pool [ EXT_DATA_POOL_SIZE ]
569 __attribute__ ((section ("ext.ram")));
570
571 const T_MEMORY_POOL_CONFIG memory_pool_config[MAX_MEMORY_POOLS+1] =
572 {
573 { "EXTPOOL", EXT_DATA_POOL_SIZE, &ext_data_pool[0] },
574 { NULL }
575 };
576
577 extern T_HANDLE ext_data_pool_handle;
578
579 T_HANDLE *MemoryPoolHandle[MAX_MEMORY_POOLS+1] =
580 {
581 &ext_data_pool_handle,
582 NULL
583 };