annotate gsm-fw/L1/cfile/l1_isr_glue.c @ 923:10b4bed10192

gsm-fw/L1: fix for the DSP patch corruption bug The L1 code we got from the LoCosto fw contains a feature for DSP CPU load measurement. This feature is a LoCosto-ism, i.e., not applicable to earlier DBB chips (Calypso) with their respective earlier DSP ROMs. Most of the code dealing with that feature is conditionalized as #if (DSP >= 38), but one spot was missed, and the MCU code was writing into an API word dealing with this feature. In TCS211 this DSP API word happens to be used by the DSP code patch, hence that write was corrupting the patched DSP code.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Mon, 19 Oct 2015 17:13:56 +0000
parents 3fea71719423
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 /*
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 * This module contains the LISR and HISR glue functions for L1
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 * which used to be in the dl1_com module in the Leonardo version.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 * The LoCosto source from which we got our L1 code no longer has a
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 * dl1_com.c module, and the ISR glue functions in question have been
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 * moved into csw-system/init_common/init.c - an incredibly messy C
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 * module that is mostly devoted to LoCosto BSP initialization.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 *
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 * The present C code has been extracted from LoCosto's init.c,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 * guided by the disassembly of dl1_com.obj from the Leonardo version.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 #include "config.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 #include "sys_types.h"
600
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
15 #include "../../riviera/rv/general.h"
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 #include "../../nucleus/nucleus.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 /* Include Files */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 #include <ctype.h>
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 #include <stdarg.h>
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 #include <stdlib.h>
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 #include <string.h>
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 #include "l1_types.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 #include "l1_confg.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 #include "l1_const.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
27
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
28 #if TESTMODE
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
29 #include "l1tm_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
30 #endif // TESTMODE
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
32 #if (AUDIO_TASK == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
33 #include "l1audio_const.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
34 #include "l1audio_cust.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
35 #include "l1audio_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
36 #endif // AUDIO_TASK
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
37
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
38 #if (L1_GTT == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
39 #include "l1gtt_const.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
40 #include "l1gtt_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
41 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
42
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
43 #if (L1_MP3 == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
44 #include "l1mp3_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
45 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
46
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
47 #if (L1_MIDI == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
48 #include "l1midi_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
49 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
50
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
51 #if (L1_AAC == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
52 #include "l1aac_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
53 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
54 #if (L1_DYN_DSP_DWNLD == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
55 #include "l1_dyn_dwl_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
56 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
57
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
58 #if (TRACE_TYPE == 4)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
59 #include "l1_defty.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
60 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
61
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
62 #include "../../bsp/armio.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
63 #include "../../bsp/timer.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
64
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
65 #include "../../bsp/iq.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
66 #include "../../bsp/mem.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
67 #include "../../bsp/clkm.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
68 #include "../../bsp/inth.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70 /*
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71 * The function that sets up the HISRs has an assert() macro call in it.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 * The Leonardo version was built with the TMS470 compiler's C library
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73 * version of assert() in it, which is not very useful. Here I am
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74 * pulling in some GPF/VSI headers so we get the more useful GPF/VSI
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
75 * version of assert() instead.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
76 */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
77 #include "../../gpf/inc/typedefs.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
78 #include "../../gpf/inc/vsi.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
79 #include "../../gpf/inc/cust_os.h"
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
80
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
81 /*
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
82 * Timing monitor
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
83 */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
84 #if (TRACE_TYPE == 4)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
85 extern T_L1A_L1S_COM l1a_l1s_com;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
86 extern T_L1S_GLOBAL l1s;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
87 UNSIGNED max_cpu, fn_max_cpu;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
88 unsigned short layer_1_sync_end_time;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
89 unsigned short max_cpu_flag;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
90 #if (DSP >= 38)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
91 // DSP CPU load measurement trace variables
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
92 UWORD32 dsp_max_cpu_load_trace_array[4];
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
93 UWORD32 dsp_max_cpu_load_idle_frame;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
94 unsigned short l1_dsp_cpu_load_trace_flag;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
95 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
96 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
97
600
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
98 #define STACK_SECTION __attribute__ ((section ("int.ram")))
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
99
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
100 #if (L1_EXT_AUDIO_MGT == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
101 NU_HISR EXT_AUDIO_MGT_hisr;
600
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
102 char FAR ext_audio_mgt_hisr_stack[500] STACK_SECTION;
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
103 extern void Cust_ext_audio_mgt_hisr(void);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
104 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
105
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
106 #if ( (L1_MP3 == 1) || (L1_MIDI == 1) || (L1_AAC == 1) || (L1_DYN_DSP_DWNLD == 1) ) // equivalent to an API_HISR flag
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
107 extern void api_hisr(void);
600
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
108 char FAR API_HISR_stack[0x400] STACK_SECTION;
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
109 NU_HISR apiHISR;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
110 #endif // (L1_MP3 == 1) || (L1_MIDI == 1) || (L1_DYN_DSP_DWNLD == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
111
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
112 #if (FF_L1_IT_DSP_USF == 1) || (FF_L1_IT_DSP_DTX == 1)
600
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
113 char FAR API_MODEM_HISR_stack[0x400] STACK_SECTION; // stack size to be tuned
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
114 NU_HISR api_modemHISR;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
115 #endif // FF_L1_IT_DSP_USF
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
116
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
117 /*
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
118 * HISR stack and semaphore needed by L1
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
119 */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
120 #if (OP_L1_STANDALONE == 0)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
121 #define LAYER_1_SYNC_STACK_SIZE 4000 /* matching Leonardo version */
600
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
122 unsigned char layer_1_sync_stack[LAYER_1_SYNC_STACK_SIZE] STACK_SECTION;
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
123 #else
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
124 #if TESTMODE
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
125 char FAR layer_1_sync_stack[2600 /*3600*/]; // Frame interrupt task stack for EVA3
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
126 #else
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
127 char FAR layer_1_sync_stack[1600 /* 2600 */]; // Frame interrupt task stack for EVA3
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
128 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
129 #endif /* OP_L1_STANDALONE */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
130
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
131 NU_HISR layer_1_sync_HISR; // Frame interrupt task stack for EVA3
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
132
600
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
133 /* forward declaration */
3fea71719423 L1: l1_isr_glue.c moved to cfile directory; compiles successfully
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 599
diff changeset
134 void layer_1_sync_HISR_entry (void);
599
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
135
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
136 /*
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
137 * l1_create_HISR
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
138 *
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
139 * Create L1 HISR. This function is called from l1_pei.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
140 *
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
141 * Apparently this function was originally called l1_create_ISR(),
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
142 * as that is how it appears in the Leonardo dl1_com.obj module.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
143 * The LoCosto version originally had an l1_create_ISR() wrapper
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
144 * that simply calls l1_create_HISR(), but I plan on changing
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
145 * l1_pei to call l1_create_HISR() instead. -- Space Falcon
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
146 */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
147 void l1_create_HISR (void)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
148 {
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
149 STATUS status;
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
150
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
151 #if (OP_L1_STANDALONE == 0)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
152 // Fill the entire stack with the pattern 0xFE
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
153 memset (layer_1_sync_stack, 0xFE, LAYER_1_SYNC_STACK_SIZE);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
154 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
155
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
156 status = NU_Create_HISR (&layer_1_sync_HISR,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
157 "L1_HISR",
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
158 layer_1_sync_HISR_entry,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
159 #if (OP_L1_STANDALONE == 0)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
160 1,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
161 layer_1_sync_stack,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
162 LAYER_1_SYNC_STACK_SIZE);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
163 #else
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
164 1,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
165 layer_1_sync_stack,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
166 sizeof(layer_1_sync_stack));
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
167 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
168
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
169 #if (L1_EXT_AUDIO_MGT)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
170 // Create HISR for Ext MIDI activity
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
171 //==================================
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
172 status += NU_Create_HISR(&EXT_AUDIO_MGT_hisr,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
173 "H_EXT_AUDIO_MGT",
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
174 Cust_ext_audio_mgt_hisr,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
175 2,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
176 ext_audio_mgt_hisr_stack,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
177 sizeof(ext_audio_mgt_hisr_stack));
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
178 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
179
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
180 #if ( (L1_MP3 == 1) || (L1_MIDI == 1) || (L1_AAC == 1) || (L1_DYN_DSP_DWNLD == 1) ) // equivalent to an API_HISR flag
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
181 status += NU_Create_HISR(&apiHISR,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
182 "API_HISR",
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
183 api_hisr,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
184 2,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
185 API_HISR_stack,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
186 sizeof(API_HISR_stack));
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
187 #endif // (L1_MP3 == 1) || (L1_MIDI == 1) || (L1_AAC == 1) || (L1_DYN_DSP_DWNLD == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
188
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
189 #if (FF_L1_IT_DSP_USF == 1) || (FF_L1_IT_DSP_DTX == 1) // equivalent to an API_MODEM_HISR flag
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
190 // Create HISR for USF DSP interrupt !!!!. This HISR needs
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
191 // to have the highest priority since the USF status needs
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
192 // to be known before the next block starts.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
193 //========================================================
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
194 status += NU_Create_HISR(&api_modemHISR,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
195 "MODEM",
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
196 api_modem_hisr,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
197 1,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
198 API_MODEM_HISR_stack,
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
199 sizeof(API_MODEM_HISR_stack));
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
200 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
201
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
202 assert (status == 0);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
203 }
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
204
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
205 /*
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
206 * The versions of TP_FrameIntHandler() and layer_1_sync_HISR_entry()
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
207 * in the Leonardo dl1_com.obj module contain CPU load measurement
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
208 * code, but in the LoCosto version of L1 which we are using this
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
209 * functionality has been moved into L1S proper, i.e., inside the
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
210 * hisr() function.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
211 */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
212
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
213 /*-------------------------------------------------------*/
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
214 /* TP_FrameIntHandler() Low Interrupt service routine */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
215 /*-------------------------------------------------------*/
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
216 /* Parameters : */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
217 /* Return : */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
218 /* Functionality : activate Hisr on each frame interrupt*/
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
219 /*-------------------------------------------------------*/
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
220 void TP_FrameIntHandler(void)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
221 {
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
222
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
223 #if (OP_L1_STANDALONE == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
224
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
225 #if (TRACE_TYPE==1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
226 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1S_CPU_LOAD)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
227 {
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
228 TM_ResetTimer (2, 0xFFFF, 1, 0);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
229 TM_StartTimer (2);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
230 }
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
231 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
232
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
233 #if (TRACE_TYPE==6)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
234 TM_ResetTimer (2, 0xFFFF, 1, 0);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
235 TM_StartTimer (2);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
236 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
237
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
238 #if (TRACE_TYPE==7) /* CPU_LOAD */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
239 l1_cpu_load_start();
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
240 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
241
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
242 #else
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
243
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
244 #if (TRACE_TYPE == 4) && (TI_NUC_MONITOR != 1) && (WCP_PROF == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
245 TM_ResetTimer (2, TIMER_RESET_VALUE, 1, 0);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
246 TM_StartTimer (2);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
247 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
248
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
249 #if (TI_NUC_MONITOR == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
250 /* Copy LISR buffer in Log buffer each end of HISR */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
251 ti_nuc_monitor_tdma_action();
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
252 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
253
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
254 #if WCP_PROF == 1
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
255 prf_LogFNSwitch(l1s.actual_time.fn_mod42432);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
256 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
257
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
258 #endif /* OP_L1_STANDALONE */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
259
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
260 NU_Activate_HISR(&layer_1_sync_HISR); /* Activate HISR interrupt */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
261
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
262 #if (OP_L1_STANDALONE == 0)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
263 #if (WCP_PROF == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
264 #if (PRF_CALIBRATION == 1)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
265 NU_Activate_HISR(&prf_CalibrationHISR);
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
266 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
267 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
268 #endif
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
269
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
270 }
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
271
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
272 /*
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
273 * layer_1_sync_HISR_entry
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
274 *
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
275 * HISR associated to layer 1 sync.
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
276 */
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
277
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
278 void layer_1_sync_HISR_entry (void)
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
279 {
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
280 // Call Synchronous Layer1
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
281 hisr();
a74230436958 gsm-fw/L1/glue/l1_isr_glue.c: initial version concocted
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
282 }