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.