FreeCalypso > hg > tcs211-l1-reconst
comparison gpf/CCD/util/readme.txt @ 0:509db1a7b7b8
initial import: leo2moko-r1
| author | Space Falcon <falcon@ivan.Harhan.ORG> |
|---|---|
| date | Mon, 01 Jun 2015 03:24:05 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:509db1a7b7b8 |
|---|---|
| 1 Tools supporting CCD stack size calculation | |
| 2 =========================================== | |
| 3 | |
| 4 1. ccd_stacksize.exe | |
| 5 -------------------- | |
| 6 | |
| 7 If gnumake is called in \gpf\CCD\util, an executable | |
| 8 ccd_stacksize.exe is created. This programm prints the | |
| 9 needed stacksize for encoding respectively decoding | |
| 10 each message defined in the actual ccddata_dll.dll. | |
| 11 In addition the recursion level (level of substructures) | |
| 12 is printed. | |
| 13 With gnumake configuration parameters can be supplied, | |
| 14 depending on which CCD variant is to be used. | |
| 15 MEMSUPER, TRACE, and DEBUG are possible parameters, e.g. | |
| 16 | |
| 17 gnumake MEMSUPER=1 DEBUG=1 TRACE=0 | |
| 18 | |
| 19 creates a ccd_stacksize.exe for a CCD compiled with partition | |
| 20 supervision, debug information, but without tracing functionality. | |
| 21 Supported platforms are arm7 and arm9, default is arm7. | |
| 22 With the configuration parameter PLATFORM=arm9 the corresponding | |
| 23 version for the arm9 is created. | |
| 24 | |
| 25 The output of ccd_stacksize.exe looks like this: | |
| 26 | |
| 27 MSG ENC DEC REC-LEVEL | |
| 28 ========================================================== | |
| 29 MS_RF_CAPABILITY 532 512 4 | |
| 30 U_ALERT 356 404 2 | |
| 31 [ ... more output lines ...] | |
| 32 MOD_PDP_ACC 152 116 0 | |
| 33 SM_STATUS 348 320 2 | |
| 34 | |
| 35 That means e.g. that for encoding a U_ALERT message, | |
| 36 356 bytes of stack is needed. | |
| 37 | |
| 38 With | |
| 39 | |
| 40 ccd_stacksize -api | |
| 41 | |
| 42 a list of the remaining, non message related functions of CCD | |
| 43 and their needed amout of stack is printed: | |
| 44 | |
| 45 ccd_init 64 | |
| 46 ccd_exit 40 | |
| 47 ccd_begin 32 | |
| 48 ccd_end 32 | |
| 49 [ ... more output lines ...] | |
| 50 | |
| 51 In the current version the stack needed for calling frame | |
| 52 functions are not yet considered. | |
| 53 | |
| 54 2. globs.bat | |
| 55 ------------ | |
| 56 For those entities that require a reentrant CCD (GRR in GPRS; | |
| 57 RRC and RCM in UMTS) an own set of CCD internal data is needed. | |
| 58 It was required by REDMEM to particularly distinguish between GSM | |
| 59 only and GPRS (i.e. without/with GRR on the arm7). Therefore the | |
| 60 block of internal CCD data for GRR is no longer statically declared. | |
| 61 Instead CCD finds out if GRR calls ccd_init and tries then to | |
| 62 dynamically allocate the memory for the data. That implies, | |
| 63 that a big enough partition in xxxconst.h must be supplied. | |
| 64 | |
| 65 The batch file globs.bat calculates the amount of memory needed | |
| 66 for one set of CCD internal data in several configurations. | |
| 67 The actual values for CCD_2.6.0 are: | |
| 68 | |
| 69 - for a non-tracing CCD on ARM7: 1600 | |
| 70 - for a tracing CCD on ARM7: 1656 | |
| 71 - for a non-tracing CCD on ARM9: 1604 | |
| 72 - for a tracing CCD on ARM9: 1740 | |
| 73 - for a non-tracing CCD on PC: 2634 | |
| 74 - for a tracing CCD on PC: 2771 | |
| 75 | |
| 76 That means e.g. for a GPRS arm7 target version, a data partition of | |
| 77 1600/1656 bytes must be available. |
