@@ -0,0 +1,49 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_project_file> | |
|
3 | <FileVersion major="1" minor="6" /> | |
|
4 | <Project> | |
|
5 | <Option title="FSW-rtems" /> | |
|
6 | <Option pch_mode="2" /> | |
|
7 | <Option compiler="sparc_rtems_gcc" /> | |
|
8 | <Build> | |
|
9 | <Target title="Debug"> | |
|
10 | <Option output="bin\Debug\FSW-rtems" prefix_auto="1" extension_auto="1" /> | |
|
11 | <Option object_output="obj\Debug\" /> | |
|
12 | <Option type="1" /> | |
|
13 | <Option compiler="sparc_rtems_gcc" /> | |
|
14 | <Compiler> | |
|
15 | <Add option="-O3" /> | |
|
16 | <Add option="-g" /> | |
|
17 | <Add directory="..\header" /> | |
|
18 | <Add directory="..\src" /> | |
|
19 | </Compiler> | |
|
20 | </Target> | |
|
21 | <Target title="Release"> | |
|
22 | <Option output="bin\Release\FSW-rtems" prefix_auto="1" extension_auto="1" /> | |
|
23 | <Option object_output="obj\Release\" /> | |
|
24 | <Option type="1" /> | |
|
25 | <Option compiler="sparc_rtems_gcc" /> | |
|
26 | <Compiler> | |
|
27 | <Add option="-O2" /> | |
|
28 | </Compiler> | |
|
29 | <Linker> | |
|
30 | <Add option="-s" /> | |
|
31 | </Linker> | |
|
32 | </Target> | |
|
33 | </Build> | |
|
34 | <Compiler> | |
|
35 | <Add option="-Wall" /> | |
|
36 | </Compiler> | |
|
37 | <Unit filename="..\header\FSW-rtems-processing.h" /> | |
|
38 | <Unit filename="..\src\FSW-rtems-processing.c"> | |
|
39 | <Option compilerVar="CC" /> | |
|
40 | </Unit> | |
|
41 | <Unit filename="..\src\FSW-rtems.c"> | |
|
42 | <Option compilerVar="CC" /> | |
|
43 | </Unit> | |
|
44 | <Extensions> | |
|
45 | <code_completion /> | |
|
46 | <debugger /> | |
|
47 | </Extensions> | |
|
48 | </Project> | |
|
49 | </CodeBlocks_project_file> |
@@ -0,0 +1,37 | |||
|
1 | # depslib dependency file v1.0 | |
|
2 | 1352469400 source:e:\missions\solo\dev_ple\src\fsw-rtems.c | |
|
3 | <rtems.h> | |
|
4 | <bsp.h> | |
|
5 | <rtems/confdefs.h> | |
|
6 | <drvmgr/drvmgr_confdefs.h> | |
|
7 | <rtems.h> | |
|
8 | <errno.h> | |
|
9 | <fcntl.h> | |
|
10 | <stdio.h> | |
|
11 | <stdlib.h> | |
|
12 | <FSW-config.c> | |
|
13 | <grspw.h> | |
|
14 | <apbuart.h> | |
|
15 | <FSW-rtems-processing.h> | |
|
16 | ||
|
17 | 1350983928 source:e:\missions\solo\dev_ple\src\grspw.c | |
|
18 | <..\header\grspw.h> | |
|
19 | <stdio.h> | |
|
20 | ||
|
21 | 1350983928 e:\missions\solo\dev_ple\header\grspw.h | |
|
22 | ||
|
23 | 1351173364 source:e:\missions\solo\dev_ple\src\fsw-config.c | |
|
24 | <drvmgr/ambapp_bus.h> | |
|
25 | ||
|
26 | 1351506239 e:\missions\solo\dev_ple\src\fsw-config.c | |
|
27 | <drvmgr/ambapp_bus.h> | |
|
28 | ||
|
29 | 1352470008 source:e:\missions\solo\dev_ple\src\fsw-rtems-processing.c | |
|
30 | <FSW-rtems-processing.h> | |
|
31 | <math.h> | |
|
32 | <stdio.h> | |
|
33 | <leon.h> | |
|
34 | ||
|
35 | 1352470001 e:\missions\solo\dev_ple\header\fsw-rtems-processing.h | |
|
36 | <rtems.h> | |
|
37 |
@@ -0,0 +1,13 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_layout_file> | |
|
3 | <ActiveTarget name="Debug" /> | |
|
4 | <File name="..\header\FSW-rtems-processing.h" open="1" top="1" tabpos="3"> | |
|
5 | <Cursor position="1016" topLine="1" /> | |
|
6 | </File> | |
|
7 | <File name="..\src\FSW-rtems-processing.c" open="1" top="0" tabpos="2"> | |
|
8 | <Cursor position="17123" topLine="155" /> | |
|
9 | </File> | |
|
10 | <File name="..\src\FSW-rtems.c" open="1" top="0" tabpos="1"> | |
|
11 | <Cursor position="5330" topLine="155" /> | |
|
12 | </File> | |
|
13 | </CodeBlocks_layout_file> |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
@@ -0,0 +1,60 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_project_file> | |
|
3 | <FileVersion major="1" minor="6" /> | |
|
4 | <Project> | |
|
5 | <Option title="FSW" /> | |
|
6 | <Option pch_mode="2" /> | |
|
7 | <Option compiler="sparc_gcc" /> | |
|
8 | <Build> | |
|
9 | <Target title="Debug"> | |
|
10 | <Option output="bin\Debug\FSW" prefix_auto="1" extension_auto="1" /> | |
|
11 | <Option object_output="obj\Debug\" /> | |
|
12 | <Option type="1" /> | |
|
13 | <Option compiler="sparc_gcc" /> | |
|
14 | <Compiler> | |
|
15 | <Add directory="E:\MISSIONS\SOLO\DEV_PLE\src" /> | |
|
16 | <Add directory="E:\MISSIONS\SOLO\DEV_PLE\header" /> | |
|
17 | </Compiler> | |
|
18 | </Target> | |
|
19 | <Target title="Release"> | |
|
20 | <Option output="bin\Release\FSW" prefix_auto="1" extension_auto="1" /> | |
|
21 | <Option object_output="obj\Release\" /> | |
|
22 | <Option type="1" /> | |
|
23 | <Option compiler="sparc_gcc" /> | |
|
24 | <Compiler> | |
|
25 | <Add option="-O2" /> | |
|
26 | </Compiler> | |
|
27 | <Linker> | |
|
28 | <Add option="-s" /> | |
|
29 | </Linker> | |
|
30 | </Target> | |
|
31 | </Build> | |
|
32 | <Compiler> | |
|
33 | <Add option="-Wall" /> | |
|
34 | </Compiler> | |
|
35 | <Unit filename="..\header\LPP_grspw.h" /> | |
|
36 | <Unit filename="..\header\LPP_spwAPI.h" /> | |
|
37 | <Unit filename="..\header\TC_handler.h" /> | |
|
38 | <Unit filename="..\header\basic_parameters.h" /> | |
|
39 | <Unit filename="..\header\ccsds_types.h" /> | |
|
40 | <Unit filename="..\src\FSW.c"> | |
|
41 | <Option compilerVar="CC" /> | |
|
42 | </Unit> | |
|
43 | <Unit filename="..\src\LPP_grspw.c"> | |
|
44 | <Option compilerVar="CC" /> | |
|
45 | </Unit> | |
|
46 | <Unit filename="..\src\LPP_spwAPI.c"> | |
|
47 | <Option compilerVar="CC" /> | |
|
48 | </Unit> | |
|
49 | <Unit filename="..\src\TC_handler.c"> | |
|
50 | <Option compilerVar="CC" /> | |
|
51 | </Unit> | |
|
52 | <Unit filename="..\src\basic_parameters.c"> | |
|
53 | <Option compilerVar="CC" /> | |
|
54 | </Unit> | |
|
55 | <Extensions> | |
|
56 | <code_completion /> | |
|
57 | <debugger /> | |
|
58 | </Extensions> | |
|
59 | </Project> | |
|
60 | </CodeBlocks_project_file> |
@@ -0,0 +1,54 | |||
|
1 | # depslib dependency file v1.0 | |
|
2 | 1350886242 source:e:\missions\solo\dev_ple\src\tc_handler.c | |
|
3 | <..\header\TC_handler.h> | |
|
4 | ||
|
5 | 1350886291 e:\missions\solo\dev_ple\header\tc_handler.h | |
|
6 | <..\header\ccsds_types.h> | |
|
7 | ||
|
8 | 1350657619 e:\missions\solo\dev_ple\header\ccsds_types.h | |
|
9 | ||
|
10 | 1350886272 source:e:\missions\solo\dev_ple\src\basic_parameters.c | |
|
11 | <..\header\basic_parameters.h> | |
|
12 | <math.h> | |
|
13 | ||
|
14 | 1350892168 e:\missions\solo\dev_ple\header\basic_parameters.h | |
|
15 | ||
|
16 | 1350896474 e:\missions\solo\dev_ple\header\spwapi_lpp.h | |
|
17 | <asm-leon/leonstack.h> | |
|
18 | <..\header\grspw.h> | |
|
19 | ||
|
20 | 1350904997 source:e:\missions\solo\dev_ple\src\spwapi_lpp.c | |
|
21 | <..\header\spwAPI_LPP.h> | |
|
22 | <stdlib.h> | |
|
23 | <stdio.h> | |
|
24 | ||
|
25 | 1350989918 source:e:\missions\solo\dev_ple\src\fsw.c | |
|
26 | <..\header\LPP_spwAPI.h> | |
|
27 | <..\header\basic_parameters.h> | |
|
28 | <..\header\ccsds_types.h> | |
|
29 | <stdio.h> | |
|
30 | <stdlib.h> | |
|
31 | <asm-leon/timer.h> | |
|
32 | <asm-leon/irq.h> | |
|
33 | ||
|
34 | 1350983928 e:\missions\solo\dev_ple\header\grspw.h | |
|
35 | ||
|
36 | 1350983928 source:e:\missions\solo\dev_ple\src\grspw.c | |
|
37 | <..\header\grspw.h> | |
|
38 | <stdio.h> | |
|
39 | ||
|
40 | 1350989928 source:e:\missions\solo\dev_ple\src\lpp_grspw.c | |
|
41 | <..\header\LPP_grspw.h> | |
|
42 | <stdio.h> | |
|
43 | ||
|
44 | 1350983928 e:\missions\solo\dev_ple\header\lpp_grspw.h | |
|
45 | ||
|
46 | 1350990063 source:e:\missions\solo\dev_ple\src\lpp_spwapi.c | |
|
47 | <..\header\LPP_spwAPI.h> | |
|
48 | <stdlib.h> | |
|
49 | <stdio.h> | |
|
50 | ||
|
51 | 1350990050 e:\missions\solo\dev_ple\header\lpp_spwapi.h | |
|
52 | <asm-leon/leonstack.h> | |
|
53 | <..\header\LPP_grspw.h> | |
|
54 |
@@ -0,0 +1,31 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_layout_file> | |
|
3 | <ActiveTarget name="Debug" /> | |
|
4 | <File name="..\header\LPP_grspw.h" open="0" top="0" tabpos="0"> | |
|
5 | <Cursor position="315" topLine="0" /> | |
|
6 | </File> | |
|
7 | <File name="..\header\TC_handler.h" open="0" top="0" tabpos="0"> | |
|
8 | <Cursor position="98" topLine="0" /> | |
|
9 | </File> | |
|
10 | <File name="..\header\basic_parameters.h" open="0" top="0" tabpos="0"> | |
|
11 | <Cursor position="203" topLine="0" /> | |
|
12 | </File> | |
|
13 | <File name="..\header\ccsds_types.h" open="0" top="0" tabpos="7"> | |
|
14 | <Cursor position="191" topLine="0" /> | |
|
15 | </File> | |
|
16 | <File name="..\src\FSW.c" open="0" top="0" tabpos="1"> | |
|
17 | <Cursor position="23" topLine="39" /> | |
|
18 | </File> | |
|
19 | <File name="..\src\LPP_grspw.c" open="0" top="0" tabpos="0"> | |
|
20 | <Cursor position="24" topLine="0" /> | |
|
21 | </File> | |
|
22 | <File name="..\src\LPP_spwAPI.c" open="0" top="0" tabpos="0"> | |
|
23 | <Cursor position="670" topLine="15" /> | |
|
24 | </File> | |
|
25 | <File name="..\src\TC_handler.c" open="0" top="0" tabpos="0"> | |
|
26 | <Cursor position="67" topLine="0" /> | |
|
27 | </File> | |
|
28 | <File name="..\src\basic_parameters.c" open="0" top="0" tabpos="0"> | |
|
29 | <Cursor position="39" topLine="0" /> | |
|
30 | </File> | |
|
31 | </CodeBlocks_layout_file> |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
@@ -0,0 +1,1 | |||
|
1 | grmon -gresb -ip 129.104.27.249 -dna 0xfe -sna 32 -link 0 -u |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
@@ -0,0 +1,32 | |||
|
1 | #ifndef FSW_RTEMS_PROCESSING_H_INCLUDED | |
|
2 | #define FSW_RTEMS_PROCESSING_H_INCLUDED | |
|
3 | ||
|
4 | #include <rtems.h> | |
|
5 | ||
|
6 | #define ADDRESS_APB_SPECTRAL_MATRICES 0x80000700 | |
|
7 | #define LPP_SPECTRAL_MATRIX_CTRL 0x80000700 | |
|
8 | #define LPP_SPECTRAL_MATRIX_1 0x80000704 | |
|
9 | #define LPP_SPECTRAL_MATRIX_2 0x80000708 | |
|
10 | #define IRQ_SPECTRAL_MATRICES 12 | |
|
11 | ||
|
12 | #define NB_BINS_SPECTRAL_MATRIX 128 | |
|
13 | #define NB_VALUES_PER_SPECTRAL_MATRIX 25 | |
|
14 | #define TOTAL_SIZE_SPECTRAL_MATRIX NB_BINS_SPECTRAL_MATRIX * NB_VALUES_PER_SPECTRAL_MATRIX | |
|
15 | #define NB_BINS_COMPRESSED_MATRIX_f0 11 | |
|
16 | #define SIZE_COMPRESSED_SPECTRAL_MATRIX_f1 13 | |
|
17 | #define SIZE_COMPRESSED_SPECTRAL_MATRIX_f2 12 | |
|
18 | #define TOTAL_SIZE_COMPRESSED_MATRIX_f0 NB_BINS_COMPRESSED_MATRIX_f0 * NB_VALUES_PER_SPECTRAL_MATRIX | |
|
19 | #define NB_AVERAGE_NORMAL_f0 96*4 | |
|
20 | ||
|
21 | rtems_isr spectral_matrices_isr( rtems_vector_number vector ); | |
|
22 | rtems_task spw_bppr_task(rtems_task_argument argument); | |
|
23 | rtems_task spw_avf0_task(rtems_task_argument argument); | |
|
24 | rtems_task spw_bpf0_task(rtems_task_argument argument); | |
|
25 | rtems_task spw_bppr_task_rate_monotonic(rtems_task_argument argument); | |
|
26 | void matrix_average(volatile int *spectral_matrix, float *averaged_spectral_matrix); | |
|
27 | void matrix_compression(float *averaged_spectral_matrix, unsigned char fChannel, float *compressed_spectral_matrix); | |
|
28 | void matrix_reset(float *averaged_spectral_matrix); | |
|
29 | void BP1_set(float * compressed_spectral_matrix, unsigned char nb_bins_compressed_spectral_matrix, unsigned char * LFR_BP1); | |
|
30 | void BP2_set(float * compressed_spectral_matrix, unsigned char nb_bins_compressed_spectral_matrix); | |
|
31 | ||
|
32 | #endif // FSW_RTEMS_PROCESSING_H_INCLUDED |
|
1 | NO CONTENT: new file 100644 |
@@ -0,0 +1,235 | |||
|
1 | #ifndef GRSPW_H_INCLUDED | |
|
2 | #define GRSPW_H_INCLUDED | |
|
3 | ||
|
4 | #define GRSPW_APB_ADDR 0x80000500 | |
|
5 | ||
|
6 | #define NODEADDR 0xfe | |
|
7 | #define NODEADDR_M7A3P1000 0xfd | |
|
8 | #define CLKDIV 0x0303 | |
|
9 | #define DESTKEY 0 | |
|
10 | #define RXMAXLEN 64 | |
|
11 | #define HEADERLEN 4 | |
|
12 | ||
|
13 | #define IFORCE 0x08 | |
|
14 | #define ICLEAR 0x0c | |
|
15 | #define IMASK 0x40 | |
|
16 | #define GRSPW_IRQ 10 | |
|
17 | ||
|
18 | #define SPW_LINK_STATE_RESET 0 | |
|
19 | #define SPW_LINK_STATE_WAIT 1 | |
|
20 | #define SPW_LINK_STATE_READY 2 | |
|
21 | #define SPW_LINK_STATE_STARTED 3 | |
|
22 | #define SPW_LINK_STATE_CONNECTING 4 | |
|
23 | #define SPW_LINK_STATE_RUN 5 | |
|
24 | ||
|
25 | ///////////////////////////////////// | |
|
26 | /* GRSPW - Control Register - 0x00 */ | |
|
27 | #define GRSPW_CTRL_RA_BIT 31 // RMAP avaialble | |
|
28 | #define GRSPW_CTRL_RX_BIT 30 // RX unaligned access | |
|
29 | #define GRSPW_CTRL_RC_BIT 29 // RMAP CRC available | |
|
30 | #define GRSPW_CTRL_NCH_BIT 27 // 28:27 number of DMA channels minus 1 | |
|
31 | #define GRSPW_CTRL_PO_BIT 26 // number of ports minus 1 | |
|
32 | #define GRSPW_CTRL_PS_BIT 21 // Port select | |
|
33 | #define GRSPW_CTRL_NP_BIT 20 // No port force | |
|
34 | #define GRSPW_CTRL_RD_BIT 17 // RMAP buffer disable | |
|
35 | #define GRSPW_CTRL_RE_BIT 16 // RMAP Enable | |
|
36 | #define GRSPW_CTRL_TR_BIT 11 // Time Rx enable | |
|
37 | #define GRSPW_CTRL_TT_BIT 10 // Time Tx enable | |
|
38 | #define GRSPW_CTRL_LI_BIT 9 // Link error IRQ | |
|
39 | #define GRSPW_CTRL_TQ_BIT 8 // Tick-out IRQ | |
|
40 | #define GRSPW_CTRL_RS_BIT 6 // Reset | |
|
41 | #define GRSPW_CTRL_PM_BIT 5 // Promiscuous mode | |
|
42 | #define GRSPW_CTRL_TI_BIT 4 // Tick In | |
|
43 | #define GRSPW_CTRL_IE_BIT 3 // Interrupt enable | |
|
44 | #define GRSPW_CTRL_AS_BIT 2 // Autostart | |
|
45 | #define GRSPW_CTRL_LS_BIT 1 // Link Start | |
|
46 | #define GRSPW_CTRL_LD_BIT 0 // Lind Disable | |
|
47 | ||
|
48 | #define GRSPW_CTRL_RA (1<<GRSPW_CTRL_RA_BIT) | |
|
49 | #define GRSPW_CTRL_RX (1<<GRSPW_CTRL_RX_BIT) | |
|
50 | #define GRSPW_CTRL_RC (1<<GRSPW_CTRL_RC_BIT) | |
|
51 | #define GRSPW_CTRL_NCH (0x3<<GRSPW_CTRL_NCH_BIT) | |
|
52 | #define GRSPW_CTRL_PO (1<<GRSPW_CTRL_PO_BIT) | |
|
53 | #define GRSPW_CTRL_PS (1<<GRSPW_CTRL_PS_BIT) | |
|
54 | #define GRSPW_CTRL_NP (1<<GRSPW_CTRL_NP_BIT) | |
|
55 | #define GRSPW_CTRL_RD (1<<GRSPW_CTRL_RD_BIT) | |
|
56 | #define GRSPW_CTRL_RE (1<<GRSPW_CTRL_RE_BIT) | |
|
57 | #define GRSPW_CTRL_TR (1<<GRSPW_CTRL_TR_BIT) | |
|
58 | #define GRSPW_CTRL_TT (1<<GRSPW_CTRL_TT_BIT) | |
|
59 | #define GRSPW_CTRL_LI (1<<GRSPW_CTRL_LI_BIT) | |
|
60 | #define GRSPW_CTRL_TQ (1<<GRSPW_CTRL_TQ_BIT) | |
|
61 | #define GRSPW_CTRL_RS (1<<GRSPW_CTRL_RS_BIT) | |
|
62 | #define GRSPW_CTRL_PM (1<<GRSPW_CTRL_PM_BIT) | |
|
63 | #define GRSPW_CTRL_TI (1<<GRSPW_CTRL_TI_BIT) | |
|
64 | #define GRSPW_CTRL_IE (1<<GRSPW_CTRL_IE_BIT) | |
|
65 | #define GRSPW_CTRL_AS (1<<GRSPW_CTRL_AS_BIT) | |
|
66 | #define GRSPW_CTRL_LS (1<<GRSPW_CTRL_LS_BIT) | |
|
67 | #define GRSPW_CTRL_LD (1<<GRSPW_CTRL_LD_BIT) | |
|
68 | ||
|
69 | //////////////////////////////////// | |
|
70 | /* GRSPW - Status Register - 0x04 */ | |
|
71 | #define GRSPW_STAT_LS_BIT 21 // Link State | |
|
72 | #define GRSPW_STAT_AP_BIT 9 // Active Port | |
|
73 | #define GRSPW_STAT_EE_BIT 8 // Early EOP-EEP | |
|
74 | #define GRSPW_STAT_IA_BIT 7 // Invalid Address | |
|
75 | #define GRSPW_STAT_PE_BIT 4 // Parity Error | |
|
76 | #define GRSPW_STAT_DE_BIT 3 // Disconnect Error | |
|
77 | #define GRSPW_STAT_ER_BIT 2 // Escape Error | |
|
78 | #define GRSPW_STAT_CE_BIT 1 // Credit Error | |
|
79 | #define GRSPW_STAT_TO_BIT 0 // Tick Out | |
|
80 | ||
|
81 | #define GRSPW_STAT_LS (0x7<<GRSPW_STAT_LS_BIT) | |
|
82 | #define GRSPW_STAT_AP (1<<GRSPW_STAT_AP_BIT) | |
|
83 | #define GRSPW_STAT_EE (1<<GRSPW_STAT_EE_BIT) | |
|
84 | #define GRSPW_STAT_IA (1<<GRSPW_STAT_IA_BIT) | |
|
85 | #define GRSPW_STAT_WE (1<<GRSPW_STAT_WE_BIT) | |
|
86 | #define GRSPW_STAT_PE (1<<GRSPW_STAT_PE_BIT) | |
|
87 | #define GRSPW_STAT_DE (1<<GRSPW_STAT_DE_BIT) | |
|
88 | #define GRSPW_STAT_ER (1<<GRSPW_STAT_ER_BIT) | |
|
89 | #define GRSPW_STAT_CE (1<<GRSPW_STAT_CE_BIT) | |
|
90 | #define GRSPW_STAT_TO (1<<GRSPW_STAT_TO_BIT) | |
|
91 | ||
|
92 | ///////////////////////////////////////////// | |
|
93 | /* GRSPW - Default Address Register - 0x08 */ | |
|
94 | #define GRSPW_DEF_ADDR_BIT 0 // Default address | |
|
95 | #define GRSPW_DEF_MASK_BIT 8 // Default mask | |
|
96 | #define GRSPW_DEF_ADDR (0xff<<GRSPW_DEF_ADDR_BIT) | |
|
97 | #define GRSPW_DEF_MASK (0xff<<GRSPW_DEF_MASK_BIT) | |
|
98 | ||
|
99 | /////////////////////////////////////////// | |
|
100 | /* GRSPW - Clock Divisor Register - 0x0C */ | |
|
101 | #define GRSPW_CLKDIV_START_BIT 8 // Clock divisor startup | |
|
102 | #define GRSPW_CLKDIV_RUN_BIT 0 // Clock divisor run | |
|
103 | #define GRSPW_CLKDIV_START (0xff<<GRSPW_CLKDIV_START_BIT) | |
|
104 | #define GRSPW_CLKDIV_RUN (0xff<<GRSPW_CLKDIV_RUN_BIT) | |
|
105 | #define GRSPW_CLKDIV_MASK (GRSPW_CLKDIV_START|GRSPW_CLKDIV_RUN) | |
|
106 | ||
|
107 | ///////////////////////////////////////////// | |
|
108 | /* GRSPW - Destination key Register - 0x10 */ | |
|
109 | #define GRSPW_DK_DESTKEY_BIT 0 // Destination key | |
|
110 | #define GRSPW_DK_DESTKEY (0xff<<GRSPW_DK_DESTKEY_BIT) | |
|
111 | ||
|
112 | ////////////////////////////////// | |
|
113 | /* GRSPW - Time Register - 0x14 */ | |
|
114 | #define GRSPW_TIME_CTRL_BIT 0 // Time counter | |
|
115 | #define GRSPW_TIME_CNT_BIT 6 // Time control flags | |
|
116 | #define GRSPW_TIME_CTRL (0x3f<<GRSPW_TIME_CTRL_BIT) | |
|
117 | #define GRSPW_TIME_TCNT (0x3<<GRSPW_TIME_CNT_BIT) | |
|
118 | ||
|
119 | /////////////////////////////////////////// | |
|
120 | /* GRSPW - DMA Control Register - 0x20*N */ | |
|
121 | #define GRSPW_DMACTRL_LE_BIT 16 // Link error disable | |
|
122 | #define GRSPW_DMACTRL_SP_BIT 15 // Strip PID | |
|
123 | #define GRSPW_DMACTRL_SA_BIT 14 // Strip address | |
|
124 | #define GRSPW_DMACTRL_EN_BIT 13 // Enable address | |
|
125 | #define GRSPW_DMACTRL_NS_BIT 12 // No spill | |
|
126 | #define GRSPW_DMACTRL_RD_BIT 11 // Rx descriptors available | |
|
127 | #define GRSPW_DMACTRL_RX_BIT 10 // RX active | |
|
128 | #define GRSPW_DMACTRL_AT_BIT 9 // Abort TX | |
|
129 | #define GRSPW_DMACTRL_RA_BIT 8 // RX AHB error | |
|
130 | #define GRSPW_DMACTRL_TA_BIT 7 // TX AHB error | |
|
131 | #define GRSPW_DMACTRL_PR_BIT 6 // Packet received | |
|
132 | #define GRSPW_DMACTRL_PS_BIT 5 // Packet sent | |
|
133 | #define GRSPW_DMACTRL_AI_BIT 4 // AHB error interrupt | |
|
134 | #define GRSPW_DMACTRL_RI_BIT 3 // Receive interrupt | |
|
135 | #define GRSPW_DMACTRL_TI_BIT 2 // Transmit interrupt | |
|
136 | #define GRSPW_DMACTRL_RE_BIT 1 // Receiver enable | |
|
137 | #define GRSPW_DMACTRL_TE_BIT 0 // Transmitter enable | |
|
138 | ||
|
139 | #define GRSPW_DMACTRL_LE (1<<GRSPW_DMACTRL_LE_BIT) | |
|
140 | #define GRSPW_DMACTRL_SP (1<<GRSPW_DMACTRL_SP_BIT) | |
|
141 | #define GRSPW_DMACTRL_SA (1<<GRSPW_DMACTRL_SA_BIT) | |
|
142 | #define GRSPW_DMACTRL_EN (1<<GRSPW_DMACTRL_EN_BIT) | |
|
143 | #define GRSPW_DMACTRL_NS (1<<GRSPW_DMACTRL_NS_BIT) | |
|
144 | #define GRSPW_DMACTRL_RD (1<<GRSPW_DMACTRL_RD_BIT) | |
|
145 | #define GRSPW_DMACTRL_RX (1<<GRSPW_DMACTRL_RX_BIT) | |
|
146 | #define GRSPW_DMACTRL_AT (1<<GRSPW_DMACTRL_AT_BIT) | |
|
147 | #define GRSPW_DMACTRL_RA (1<<GRSPW_DMACTRL_RA_BIT) | |
|
148 | #define GRSPW_DMACTRL_TA (1<<GRSPW_DMACTRL_TA_BIT) | |
|
149 | #define GRSPW_DMACTRL_PR (1<<GRSPW_DMACTRL_PR_BIT) | |
|
150 | #define GRSPW_DMACTRL_PS (1<<GRSPW_DMACTRL_PS_BIT) | |
|
151 | #define GRSPW_DMACTRL_AI (1<<GRSPW_DMACTRL_AI_BIT) | |
|
152 | #define GRSPW_DMACTRL_RI (1<<GRSPW_DMACTRL_RI_BIT) | |
|
153 | #define GRSPW_DMACTRL_TI (1<<GRSPW_DMACTRL_TI_BIT) | |
|
154 | #define GRSPW_DMACTRL_RE (1<<GRSPW_DMACTRL_RE_BIT) | |
|
155 | #define GRSPW_DMACTRL_TE (1<<GRSPW_DMACTRL_TE_BIT) | |
|
156 | ||
|
157 | ////////////////////////////////////////////////////////////////////// | |
|
158 | /* GRSPW - DMA Channel Max Packet Length Register - (0x20*N + 0x04) */ | |
|
159 | #define GRSPW_DMARXLEN_MAX_BIT 0 // RX maximum length | |
|
160 | #define GRSPW_DMARXLEN_MAX (0xffffff<<GRSPW_DMARXLEN_MAX_BIT) | |
|
161 | ||
|
162 | /* GRSPW - DMA Channel Address Register - (0x20*N + 0x10) */ | |
|
163 | #define GRSPW_DMAADR_ADDR_BIT 0 // address | |
|
164 | #define GRSPW_DMAADR_MASK_BIT 8 // Mask | |
|
165 | #define GRSPW_DMAADR_ADDR (0xff<<GRSPW_DMAADR_ADDR_BIT) | |
|
166 | #define GRSPW_DMAADR_MASK (0xff<<GRSPW_DMAADR_MASK_BIT) | |
|
167 | ||
|
168 | /* RX Buffer Descriptor */ | |
|
169 | struct grspw_rxbd { | |
|
170 | volatile unsigned int ctrl; | |
|
171 | volatile unsigned int addr; | |
|
172 | }; | |
|
173 | ||
|
174 | /* TX Buffer Descriptor */ | |
|
175 | struct grspw_txbd { | |
|
176 | volatile unsigned int ctrl; | |
|
177 | volatile unsigned int haddr; | |
|
178 | volatile unsigned int dlen; | |
|
179 | volatile unsigned int daddr; | |
|
180 | }; | |
|
181 | ||
|
182 | /////////////////////////////////////////// | |
|
183 | /* GRSPW - DMA Receive descriptor word 0 */ | |
|
184 | #define GRSPW_RXBD_LEN_BIT 0 | |
|
185 | #define GRSPW_RXBD_LEN (0x1ffffff<<GRSPW_RXBD_LEN_BIT) | |
|
186 | #define GRSPW_RXBD_EN (1<<25) // Enable | |
|
187 | #define GRSPW_RXBD_WR (1<<26) // Wrap | |
|
188 | #define GRSPW_RXBD_IE (1<<27) // Interrupt enable | |
|
189 | #define GRSPW_RXBD_EP (1<<28) // EEP termination | |
|
190 | #define GRSPW_RXBD_HC (1<<29) // Header CRC | |
|
191 | #define GRSPW_RXBD_DC (1<<30) // Data CRC | |
|
192 | #define GRSPW_RXBD_TR (1<<31) // Truncated | |
|
193 | ||
|
194 | //////////////////////////////////////////// | |
|
195 | /* GRSPW - DMA Transmit descriptor word 0 */ | |
|
196 | #define GRSPW_TXBD_HLEN (0xff<<0) // header length | |
|
197 | #define GRSPW_TXBD_NCL (0xf<<8) // non-CRC bytes | |
|
198 | #define GRSPW_TXBD_EN (1<<12) // Enable | |
|
199 | #define GRSPW_TXBD_WR (1<<13) // Wrap | |
|
200 | #define GRSPW_TXBD_IE (1<<14) // Interrupt enable | |
|
201 | #define GRSPW_TXBD_LE (1<<15) // Link error | |
|
202 | #define GRSPW_TXBD_HC (1<<16) // Append header CRC | |
|
203 | #define GRSPW_TXBD_DC (1<<17) // Append data CRC | |
|
204 | ||
|
205 | struct grspwregs_str | |
|
206 | { | |
|
207 | volatile int ctrl; | |
|
208 | volatile int status; | |
|
209 | volatile int nodeaddr; | |
|
210 | volatile int clkdiv; | |
|
211 | volatile int destkey; | |
|
212 | volatile int time; | |
|
213 | volatile int unused[2]; | |
|
214 | volatile int dmactrl; | |
|
215 | volatile int rxmaxlen; | |
|
216 | volatile int txdesc; | |
|
217 | volatile int rxdesc; | |
|
218 | }; | |
|
219 | typedef struct grspwregs_str grspwregs_t; | |
|
220 | ||
|
221 | struct spacewire_PARAMETERS_str | |
|
222 | { | |
|
223 | int *size; | |
|
224 | volatile char *rx; | |
|
225 | volatile int *rxd; | |
|
226 | char *tx; | |
|
227 | volatile int *txd; | |
|
228 | grspwregs_t *regs; | |
|
229 | } spacewire_PARAMETERS; | |
|
230 | ||
|
231 | //////////// | |
|
232 | // FUNCTIONS | |
|
233 | unsigned int grspw_link_state(grspwregs_t *); | |
|
234 | ||
|
235 | #endif // GRSPW_H_INCLUDED |
@@ -0,0 +1,95 | |||
|
1 | #ifndef SPWAPI_LPP_H | |
|
2 | #define SPWAPI_LPP_H | |
|
3 | ||
|
4 | #include <asm-leon/leonstack.h> | |
|
5 | #include <..\header\LPP_grspw.h> | |
|
6 | ||
|
7 | #define LPP_TIME_MANAGER 0x80000600 | |
|
8 | ||
|
9 | struct spectral_matrices_regs_str | |
|
10 | { | |
|
11 | volatile unsigned int ctrl; | |
|
12 | volatile unsigned int address1; | |
|
13 | volatile unsigned int address2; | |
|
14 | }; | |
|
15 | typedef struct spectral_matrices_regs_str spectral_matrices_regs_t; | |
|
16 | ||
|
17 | struct packet_type_str | |
|
18 | { | |
|
19 | char time_packet; | |
|
20 | char tc_packet; | |
|
21 | } packet_type; | |
|
22 | ||
|
23 | struct spwHeader_str | |
|
24 | { | |
|
25 | unsigned char targetLogicalAddress; | |
|
26 | unsigned char protocolIdentifier; | |
|
27 | unsigned char reserved; | |
|
28 | unsigned char userApplication; | |
|
29 | }; | |
|
30 | typedef struct spwHeader_str spwHeader_t; | |
|
31 | ||
|
32 | struct time_manager_regs_str | |
|
33 | { | |
|
34 | volatile int ctrl; | |
|
35 | volatile int next_coarse_time; | |
|
36 | volatile int current_coarse_time; | |
|
37 | volatile int fine_time; | |
|
38 | }; | |
|
39 | typedef struct time_manager_regs_str time_manager_regs_t; | |
|
40 | ||
|
41 | // GENERAL PURPOSE FUNCTIONS | |
|
42 | ||
|
43 | inline int loadmemAPI(int addr); | |
|
44 | ||
|
45 | inline char loadb(int addr); | |
|
46 | ||
|
47 | char *almalloc(int sz); | |
|
48 | ||
|
49 | //////////////// | |
|
50 | // SPW FUNCTIONS | |
|
51 | //////////////// | |
|
52 | ||
|
53 | void spw_reset(grspwregs_t *regs); | |
|
54 | ||
|
55 | void spw_init(int nodeaddr, int clkdiv, int destkey, int rxmaxlen, grspwregs_t *regs); | |
|
56 | ||
|
57 | void set_txd(char *dataAddress, unsigned int dataLength, char *headerAddress, unsigned int headerLength, volatile int *txd); | |
|
58 | ||
|
59 | int spw_checkrx(int* size, volatile int *rxd, grspwregs_t *regs); | |
|
60 | ||
|
61 | int spw_checktx(grspwregs_t *regs); | |
|
62 | ||
|
63 | void enable_transmitter_descriptor(unsigned int headerLength, volatile int *txd); | |
|
64 | ||
|
65 | void enable_transmitter(grspwregs_t *regs); | |
|
66 | ||
|
67 | void enable_receiver_descriptor(volatile char *rx, volatile int *rxd); | |
|
68 | ||
|
69 | void enable_receiver(grspwregs_t *regs); | |
|
70 | ||
|
71 | void send_data(unsigned int headerLength, volatile int *txd, grspwregs_t *regs, char* tx, char value); | |
|
72 | ||
|
73 | int enable_timecode_reception(grspwregs_t *regs); | |
|
74 | ||
|
75 | int check_time(grspwregs_t *grspw_regs); | |
|
76 | ||
|
77 | ////////////// | |
|
78 | // GENERAL USE | |
|
79 | ////////////// | |
|
80 | ||
|
81 | void send_fine_time(unsigned int fine_time); | |
|
82 | ||
|
83 | ////// | |
|
84 | // IRQ | |
|
85 | ////// | |
|
86 | ||
|
87 | int irqhandler_receive_CCSDS(int irq, void * args, struct leonbare_pt_regs *leon_regs); | |
|
88 | ||
|
89 | int enable_irq(int irq); | |
|
90 | ||
|
91 | int disable_irq(int irq); | |
|
92 | ||
|
93 | int force_irq(int irq); | |
|
94 | ||
|
95 | #endif // SPWAPI_LPP_H |
@@ -0,0 +1,8 | |||
|
1 | #ifndef TC_HANDLER_H_INCLUDED | |
|
2 | #define TC_HANDLER_H_INCLUDED | |
|
3 | ||
|
4 | #include <..\header\ccsds_types.h> | |
|
5 | ||
|
6 | char TM_checker(ccsdsTelecommandSourcePacketHeader_t * TMPacket); | |
|
7 | ||
|
8 | #endif // TC_HANDLER_H_INCLUDED |
@@ -0,0 +1,28 | |||
|
1 | #ifndef BASIC_PARAMETERS_H_INCLUDED | |
|
2 | #define BASIC_PARAMETERS_H_INCLUDED | |
|
3 | ||
|
4 | #define LPP_SPECTRAL_MATRIX_CTRL 0x80000700 | |
|
5 | #define LPP_SPECTRAL_MATRIX_1 0x80000704 | |
|
6 | #define LPP_SPECTRAL_MATRIX_2 0x80000708 | |
|
7 | ||
|
8 | #define NB_BINS_SPECTRAL_MATRIX 128 | |
|
9 | #define NB_VALUES_PER_SPECTRAL_MATRIX 30 | |
|
10 | #define TOTAL_SIZE_SPECTRAL_MATRIX NB_BINS_SPECTRAL_MATRIX * NB_VALUES_PER_SPECTRAL_MATRIX | |
|
11 | #define NB_BINS_COMPRESSED_MATRIX_f0 11 | |
|
12 | #define SIZE_COMPRESSED_SPECTRAL_MATRIX_f1 13 | |
|
13 | #define SIZE_COMPRESSED_SPECTRAL_MATRIX_f2 12 | |
|
14 | #define TOTAL_SIZE_COMPRESSED_MATRIX_f0 NB_BINS_COMPRESSED_MATRIX_f0 * NB_VALUES_PER_SPECTRAL_MATRIX | |
|
15 | #define NB_AVERAGE_NORMAL_f0 4 | |
|
16 | ||
|
17 | volatile int spectral_matrix_f0_a[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
18 | volatile int spectral_matrix_f0_b[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
19 | int averaged_spectral_matrix_f0[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
20 | ||
|
21 | float compressed_spectral_matrix_f0[TOTAL_SIZE_COMPRESSED_MATRIX_f0]; | |
|
22 | ||
|
23 | unsigned char LFR_BP1_F0[NB_BINS_COMPRESSED_MATRIX_f0*9]; | |
|
24 | ||
|
25 | void BP1_set(); | |
|
26 | void BP2_set(); | |
|
27 | ||
|
28 | #endif // BASIC_PARAMETERS_H_INCLUDED |
@@ -0,0 +1,68 | |||
|
1 | #ifndef CCSDS_H_INCLUDED | |
|
2 | #define CCSDS_H_INCLUDED | |
|
3 | ||
|
4 | #define CCSDS_TELEMETRY_HEADER_LENGTH 16+4 | |
|
5 | #define CCSDS_TELECOMMAND_HEADER_LENGTH 10+4 | |
|
6 | #define CCSDS_TELECOMMAND_MAX_PACKET_LENGTH 248 | |
|
7 | #define CCSDS_PROCESS_ID 11 | |
|
8 | #define CCSDS_PACKET_CATEGORY 12 | |
|
9 | ||
|
10 | #define CCSDS_ERR_PID -1 | |
|
11 | #define CCSDS_ERR_CAT -2 | |
|
12 | #define CCSDS_ERR_LENGTH -3 | |
|
13 | #define CCSDS_ERR_TYPE -4 | |
|
14 | #define CCSDS_ERR_SUBTYPE -5 | |
|
15 | #define CCSDS_ERR_SRC -6 | |
|
16 | #define CCSDS_ERR_CRC -7 | |
|
17 | #define CCSDS_TM_VALID 1 | |
|
18 | ||
|
19 | struct ccsdsTelemetrySourcePacketHeader_str | |
|
20 | { | |
|
21 | unsigned char targetLogicalAddress; | |
|
22 | unsigned char protocolIdentifier; | |
|
23 | unsigned char reserved; | |
|
24 | unsigned char userApplication; | |
|
25 | unsigned char packetID[2]; | |
|
26 | unsigned char packetSequenceControl[2]; | |
|
27 | unsigned char packetLength[2]; | |
|
28 | unsigned char dataFieldHeader[10]; | |
|
29 | }; | |
|
30 | typedef struct ccsdsTelemetrySourcePacketHeader_str ccsdsTelemetrySourcePacketHeader_t; | |
|
31 | ||
|
32 | struct ccsdsTelecommandSourcePacketHeader_str | |
|
33 | { | |
|
34 | unsigned char targetLogicalAddress; | |
|
35 | unsigned char protocolIdentifier; | |
|
36 | unsigned char reserved; | |
|
37 | unsigned char userApplication; | |
|
38 | unsigned char packetID[2]; | |
|
39 | unsigned char packetSequenceControl[2]; | |
|
40 | unsigned char packetLength[2]; | |
|
41 | unsigned char dataFieldHeader[4]; | |
|
42 | }; | |
|
43 | typedef struct ccsdsTelemetrySourcePacketHeader_str ccsdsTelecommandSourcePacketHeader_t; | |
|
44 | ||
|
45 | // initialize the ccsds telemetry header | |
|
46 | ccsdsTelemetrySourcePacketHeader_t ccsdsTelemetryHeader; | |
|
47 | #define INIT_CCSDS_TELEMETRY_HEADER ccsdsTelemetryHeader.targetLogicalAddress = 0x21; \ | |
|
48 | ccsdsTelemetryHeader.protocolIdentifier = 0x02; \ | |
|
49 | ccsdsTelemetryHeader.reserved = 0x00; \ | |
|
50 | ccsdsTelemetryHeader.userApplication = 0x00; \ | |
|
51 | ccsdsTelemetryHeader.packetID[0] = 0x08; \ | |
|
52 | ccsdsTelemetryHeader.packetID[1] = 0xbc; \ | |
|
53 | ccsdsTelemetryHeader.packetSequenceControl[0] = 0xc0; \ | |
|
54 | ccsdsTelemetryHeader.packetSequenceControl[1] = 0x00; \ | |
|
55 | ccsdsTelemetryHeader.packetLength[0] = 0x00; \ | |
|
56 | ccsdsTelemetryHeader.packetLength[1] = 0x00; \ | |
|
57 | ccsdsTelemetryHeader.dataFieldHeader[0] = 0x00; \ | |
|
58 | ccsdsTelemetryHeader.dataFieldHeader[1] = 0x00; \ | |
|
59 | ccsdsTelemetryHeader.dataFieldHeader[2] = 0x00; \ | |
|
60 | ccsdsTelemetryHeader.dataFieldHeader[3] = 0x00; \ | |
|
61 | ccsdsTelemetryHeader.dataFieldHeader[4] = 0x00; \ | |
|
62 | ccsdsTelemetryHeader.dataFieldHeader[5] = 0x00; \ | |
|
63 | ccsdsTelemetryHeader.dataFieldHeader[6] = 0x00; \ | |
|
64 | ccsdsTelemetryHeader.dataFieldHeader[7] = 0x00; \ | |
|
65 | ccsdsTelemetryHeader.dataFieldHeader[8] = 0x00; \ | |
|
66 | ccsdsTelemetryHeader.dataFieldHeader[9] = 0x00; | |
|
67 | ||
|
68 | #endif // CCSDS_H_INCLUDED |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
@@ -0,0 +1,44 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_project_file> | |
|
3 | <FileVersion major="1" minor="6" /> | |
|
4 | <Project> | |
|
5 | <Option title="rtems-hello" /> | |
|
6 | <Option pch_mode="2" /> | |
|
7 | <Option compiler="sparc_rtems_gcc" /> | |
|
8 | <Build> | |
|
9 | <Target title="Debug"> | |
|
10 | <Option output="bin\Debug\rtems-hello" prefix_auto="1" extension_auto="1" /> | |
|
11 | <Option object_output="obj\Debug\" /> | |
|
12 | <Option type="1" /> | |
|
13 | <Option compiler="sparc_rtems_gcc" /> | |
|
14 | <Compiler> | |
|
15 | <Add option="-g" /> | |
|
16 | <Add directory="C:\opt\rtems-4.10-mingw\src\samples" /> | |
|
17 | <Add directory="C:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include" /> | |
|
18 | </Compiler> | |
|
19 | </Target> | |
|
20 | <Target title="Release"> | |
|
21 | <Option output="bin\Release\rtems-hello" prefix_auto="1" extension_auto="1" /> | |
|
22 | <Option object_output="obj\Release\" /> | |
|
23 | <Option type="1" /> | |
|
24 | <Option compiler="sparc_rtems_gcc" /> | |
|
25 | <Compiler> | |
|
26 | <Add option="-O2" /> | |
|
27 | </Compiler> | |
|
28 | <Linker> | |
|
29 | <Add option="-s" /> | |
|
30 | </Linker> | |
|
31 | </Target> | |
|
32 | </Build> | |
|
33 | <Compiler> | |
|
34 | <Add option="-Wall" /> | |
|
35 | </Compiler> | |
|
36 | <Unit filename="..\..\..\..\GAISLER\C\rtems-hello\rtems-hello.c"> | |
|
37 | <Option compilerVar="CC" /> | |
|
38 | </Unit> | |
|
39 | <Extensions> | |
|
40 | <code_completion /> | |
|
41 | <debugger /> | |
|
42 | </Extensions> | |
|
43 | </Project> | |
|
44 | </CodeBlocks_project_file> |
This diff has been collapsed as it changes many lines, (925 lines changed) Show them Hide them | |||
@@ -0,0 +1,925 | |||
|
1 | # depslib dependency file v1.0 | |
|
2 | 1351516874 source:e:\gaisler\c\rtems-hello\rtems-hello.c | |
|
3 | <rtems.h> | |
|
4 | <bsp.h> | |
|
5 | <rtems/confdefs.h> | |
|
6 | <drvmgr/ambapp_bus.h> | |
|
7 | <drvmgr/drvmgr_confdefs.h> | |
|
8 | <stdio.h> | |
|
9 | <stdlib.h> | |
|
10 | <fcntl.h> | |
|
11 | <drvmgr/drvmgr.h> | |
|
12 | <errno.h> | |
|
13 | ||
|
14 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems.h | |
|
15 | <rtems/system.h> | |
|
16 | <rtems/rtems/status.h> | |
|
17 | <rtems/rtems/types.h> | |
|
18 | <rtems/config.h> | |
|
19 | <rtems/init.h> | |
|
20 | <rtems/rtems/options.h> | |
|
21 | <rtems/rtems/tasks.h> | |
|
22 | <rtems/rtems/intr.h> | |
|
23 | <rtems/rtems/barrier.h> | |
|
24 | <rtems/rtems/cache.h> | |
|
25 | <rtems/rtems/clock.h> | |
|
26 | <rtems/extension.h> | |
|
27 | <rtems/rtems/timer.h> | |
|
28 | <rtems/rtems/sem.h> | |
|
29 | <rtems/rtems/message.h> | |
|
30 | <rtems/rtems/event.h> | |
|
31 | <rtems/rtems/signal.h> | |
|
32 | <rtems/rtems/event.h> | |
|
33 | <rtems/rtems/object.h> | |
|
34 | <rtems/rtems/part.h> | |
|
35 | <rtems/rtems/region.h> | |
|
36 | <rtems/rtems/dpmem.h> | |
|
37 | <rtems/io.h> | |
|
38 | <rtems/fatal.h> | |
|
39 | <rtems/rtems/ratemon.h> | |
|
40 | <rtems/rtems/mp.h> | |
|
41 | <rtems/rtems/support.h> | |
|
42 | <rtems/score/sysstate.h> | |
|
43 | ||
|
44 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\system.h | |
|
45 | <rtems/score/cpuopts.h> | |
|
46 | <stddef.h> | |
|
47 | <stdint.h> | |
|
48 | <rtems/score/cpu.h> | |
|
49 | ||
|
50 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\cpuopts.h | |
|
51 | ||
|
52 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\cpu.h | |
|
53 | <rtems/score/sparc.h> | |
|
54 | <rtems/score/types.h> | |
|
55 | ||
|
56 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\sparc.h | |
|
57 | ||
|
58 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\types.h | |
|
59 | <stdbool.h> | |
|
60 | <stdint.h> | |
|
61 | ||
|
62 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\status.h | |
|
63 | <rtems/rtems/status.inl> | |
|
64 | ||
|
65 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\status.inl | |
|
66 | ||
|
67 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\types.h | |
|
68 | <stdint.h> | |
|
69 | <rtems/score/heap.h> | |
|
70 | <rtems/score/object.h> | |
|
71 | <rtems/score/priority.h> | |
|
72 | <rtems/score/tod.h> | |
|
73 | <rtems/score/watchdog.h> | |
|
74 | <rtems/rtems/modes.h> | |
|
75 | <rtems/score/mpci.h> | |
|
76 | <rtems/score/mppkt.h> | |
|
77 | ||
|
78 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\heap.h | |
|
79 | <rtems/score/heap.inl> | |
|
80 | <assert.h> | |
|
81 | ||
|
82 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\heap.inl | |
|
83 | <rtems/score/address.h> | |
|
84 | ||
|
85 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\address.h | |
|
86 | <rtems/score/address.inl> | |
|
87 | ||
|
88 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\address.inl | |
|
89 | <rtems/bspIo.h> | |
|
90 | ||
|
91 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bspio.h | |
|
92 | <stdarg.h> | |
|
93 | ||
|
94 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\object.h | |
|
95 | <rtems/score/chain.h> | |
|
96 | <rtems/score/isr.h> | |
|
97 | <rtems/score/object.inl> | |
|
98 | <rtems/score/objectmp.h> | |
|
99 | ||
|
100 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\chain.h | |
|
101 | <rtems/score/address.h> | |
|
102 | <rtems/score/chain.inl> | |
|
103 | ||
|
104 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\chain.inl | |
|
105 | ||
|
106 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\isr.h | |
|
107 | <rtems/score/isr.inl> | |
|
108 | ||
|
109 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\isr.inl | |
|
110 | ||
|
111 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\object.inl | |
|
112 | ||
|
113 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\priority.h | |
|
114 | <rtems/score/cpu.h> | |
|
115 | <rtems/score/priority.inl> | |
|
116 | ||
|
117 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\priority.inl | |
|
118 | <rtems/score/bitfield.h> | |
|
119 | ||
|
120 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\bitfield.h | |
|
121 | ||
|
122 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tod.h | |
|
123 | <rtems/score/timestamp.h> | |
|
124 | <time.h> | |
|
125 | <rtems/score/tod.inl> | |
|
126 | ||
|
127 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\timestamp.h | |
|
128 | <rtems/score/timespec.h> | |
|
129 | <rtems/score/timestamp64.h> | |
|
130 | ||
|
131 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\timespec.h | |
|
132 | <stdint.h> | |
|
133 | <time.h> | |
|
134 | ||
|
135 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\timestamp64.h | |
|
136 | ||
|
137 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tod.inl | |
|
138 | <sys/time.h> | |
|
139 | <rtems/score/isr.h> | |
|
140 | ||
|
141 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\watchdog.h | |
|
142 | <rtems/score/object.h> | |
|
143 | <rtems/score/watchdog.inl> | |
|
144 | ||
|
145 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\watchdog.inl | |
|
146 | ||
|
147 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\modes.h | |
|
148 | <rtems/score/isr.h> | |
|
149 | <rtems/rtems/modes.inl> | |
|
150 | ||
|
151 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\modes.inl | |
|
152 | ||
|
153 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\config.h | |
|
154 | <rtems/score/object.h> | |
|
155 | <rtems/posix/config.h> | |
|
156 | <rtems/itron.h> | |
|
157 | <rtems/itron/config.h> | |
|
158 | <rtems/rtems/config.h> | |
|
159 | <rtems/extension.h> | |
|
160 | <rtems/io.h> | |
|
161 | <rtems/score/mpci.h> | |
|
162 | ||
|
163 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\config.h | |
|
164 | ||
|
165 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\config.h | |
|
166 | <rtems/rtems/types.h> | |
|
167 | <rtems/rtems/tasks.h> | |
|
168 | ||
|
169 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\tasks.h | |
|
170 | <rtems/score/object.h> | |
|
171 | <rtems/score/states.h> | |
|
172 | <rtems/score/thread.h> | |
|
173 | <rtems/rtems/types.h> | |
|
174 | <rtems/rtems/eventset.h> | |
|
175 | <rtems/rtems/asr.h> | |
|
176 | <rtems/rtems/attr.h> | |
|
177 | <rtems/rtems/status.h> | |
|
178 | <rtems/rtems/tasks.inl> | |
|
179 | <rtems/rtems/taskmp.h> | |
|
180 | ||
|
181 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\states.h | |
|
182 | <rtems/score/states.inl> | |
|
183 | ||
|
184 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\states.inl | |
|
185 | ||
|
186 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\thread.h | |
|
187 | <rtems/score/timestamp.h> | |
|
188 | <rtems/score/context.h> | |
|
189 | <rtems/score/cpu.h> | |
|
190 | <rtems/score/mppkt.h> | |
|
191 | <rtems/score/object.h> | |
|
192 | <rtems/score/priority.h> | |
|
193 | <rtems/score/stack.h> | |
|
194 | <rtems/score/states.h> | |
|
195 | <rtems/score/tod.h> | |
|
196 | <rtems/score/tqdata.h> | |
|
197 | <rtems/score/watchdog.h> | |
|
198 | <rtems/score/thread.inl> | |
|
199 | <rtems/score/threadmp.h> | |
|
200 | ||
|
201 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\context.h | |
|
202 | <rtems/score/cpu.h> | |
|
203 | ||
|
204 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\stack.h | |
|
205 | <rtems/score/stack.inl> | |
|
206 | ||
|
207 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\stack.inl | |
|
208 | ||
|
209 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tqdata.h | |
|
210 | <rtems/score/chain.h> | |
|
211 | <rtems/score/priority.h> | |
|
212 | <rtems/score/states.h> | |
|
213 | <rtems/score/threadsync.h> | |
|
214 | <rtems/score/tqdata.inl> | |
|
215 | ||
|
216 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\threadsync.h | |
|
217 | ||
|
218 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tqdata.inl | |
|
219 | ||
|
220 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\thread.inl | |
|
221 | <rtems/score/sysstate.h> | |
|
222 | <rtems/score/context.h> | |
|
223 | <rtems/bspIo.h> | |
|
224 | <rtems/fatal.h> | |
|
225 | <rtems/stackchk.h> | |
|
226 | <rtems/score/sysstate.h> | |
|
227 | <rtems/score/heap.h> | |
|
228 | ||
|
229 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\sysstate.h | |
|
230 | <rtems/score/sysstate.inl> | |
|
231 | ||
|
232 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\sysstate.inl | |
|
233 | ||
|
234 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\fatal.h | |
|
235 | ||
|
236 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\stackchk.h | |
|
237 | <rtems/bspIo.h> | |
|
238 | ||
|
239 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\eventset.h | |
|
240 | <rtems/rtems/eventset.inl> | |
|
241 | ||
|
242 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\eventset.inl | |
|
243 | ||
|
244 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\asr.h | |
|
245 | <rtems/rtems/modes.h> | |
|
246 | <rtems/rtems/asr.inl> | |
|
247 | ||
|
248 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\asr.inl | |
|
249 | <rtems/score/isr.h> | |
|
250 | ||
|
251 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\attr.h | |
|
252 | <rtems/rtems/attr.inl> | |
|
253 | ||
|
254 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\attr.inl | |
|
255 | ||
|
256 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\tasks.inl | |
|
257 | ||
|
258 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\extension.h | |
|
259 | <rtems/score/object.h> | |
|
260 | <rtems/score/userext.h> | |
|
261 | <rtems/rtems/status.h> | |
|
262 | <rtems/rtems/types.h> | |
|
263 | <rtems/extension.inl> | |
|
264 | ||
|
265 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\userext.h | |
|
266 | <rtems/score/interr.h> | |
|
267 | <rtems/score/chain.h> | |
|
268 | <rtems/score/thread.h> | |
|
269 | ||
|
270 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\interr.h | |
|
271 | <stdbool.h> | |
|
272 | <stdint.h> | |
|
273 | <rtems/system.h> | |
|
274 | ||
|
275 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\extension.inl | |
|
276 | ||
|
277 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\io.h | |
|
278 | <rtems/rtems/status.h> | |
|
279 | ||
|
280 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\init.h | |
|
281 | <rtems/rtems/types.h> | |
|
282 | <rtems/config.h> | |
|
283 | <rtems/rtems/intr.h> | |
|
284 | ||
|
285 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\intr.h | |
|
286 | <rtems/score/isr.h> | |
|
287 | ||
|
288 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\options.h | |
|
289 | <rtems/rtems/options.inl> | |
|
290 | ||
|
291 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\options.inl | |
|
292 | ||
|
293 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\barrier.h | |
|
294 | <rtems/rtems/types.h> | |
|
295 | <rtems/rtems/support.h> | |
|
296 | <rtems/rtems/attr.h> | |
|
297 | <rtems/rtems/status.h> | |
|
298 | <rtems/score/object.h> | |
|
299 | <rtems/score/corebarrier.h> | |
|
300 | <rtems/rtems/barrier.inl> | |
|
301 | ||
|
302 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\support.h | |
|
303 | <rtems/rtems/types.h> | |
|
304 | <rtems/rtems/support.inl> | |
|
305 | ||
|
306 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\support.inl | |
|
307 | ||
|
308 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corebarrier.h | |
|
309 | <rtems/score/thread.h> | |
|
310 | <rtems/score/threadq.h> | |
|
311 | <rtems/score/priority.h> | |
|
312 | <rtems/score/watchdog.h> | |
|
313 | <rtems/score/corebarrier.inl> | |
|
314 | ||
|
315 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\threadq.h | |
|
316 | <rtems/score/tqdata.h> | |
|
317 | <rtems/score/object.h> | |
|
318 | <rtems/score/thread.h> | |
|
319 | <rtems/score/watchdog.h> | |
|
320 | <rtems/score/threadq.inl> | |
|
321 | ||
|
322 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\threadq.inl | |
|
323 | <rtems/score/thread.h> | |
|
324 | ||
|
325 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corebarrier.inl | |
|
326 | <rtems/score/thread.h> | |
|
327 | <rtems/score/threadq.h> | |
|
328 | ||
|
329 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\barrier.inl | |
|
330 | ||
|
331 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\cache.h | |
|
332 | <rtems/system.h> | |
|
333 | <sys/types.h> | |
|
334 | ||
|
335 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\clock.h | |
|
336 | <rtems/score/tod.h> | |
|
337 | <rtems/score/watchdog.h> | |
|
338 | <rtems/rtems/status.h> | |
|
339 | <rtems/rtems/types.h> | |
|
340 | <sys/time.h> | |
|
341 | ||
|
342 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\timer.h | |
|
343 | <rtems/score/object.h> | |
|
344 | <rtems/score/watchdog.h> | |
|
345 | <rtems/score/thread.h> | |
|
346 | <rtems/score/chain.h> | |
|
347 | <rtems/rtems/clock.h> | |
|
348 | <rtems/rtems/attr.h> | |
|
349 | <rtems/rtems/timer.inl> | |
|
350 | ||
|
351 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\timer.inl | |
|
352 | ||
|
353 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\sem.h | |
|
354 | <rtems/rtems/types.h> | |
|
355 | <rtems/rtems/options.h> | |
|
356 | <rtems/rtems/support.h> | |
|
357 | <rtems/rtems/tasks.h> | |
|
358 | <rtems/rtems/attr.h> | |
|
359 | <rtems/score/coremutex.h> | |
|
360 | <rtems/score/object.h> | |
|
361 | <rtems/score/coresem.h> | |
|
362 | <rtems/rtems/sem.inl> | |
|
363 | <rtems/rtems/semmp.h> | |
|
364 | ||
|
365 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremutex.h | |
|
366 | <rtems/score/thread.h> | |
|
367 | <rtems/score/threadq.h> | |
|
368 | <rtems/score/priority.h> | |
|
369 | <rtems/score/watchdog.h> | |
|
370 | <rtems/score/interr.h> | |
|
371 | <rtems/score/sysstate.h> | |
|
372 | <rtems/score/coremutex.inl> | |
|
373 | ||
|
374 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremutex.inl | |
|
375 | ||
|
376 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coresem.h | |
|
377 | <rtems/score/thread.h> | |
|
378 | <rtems/score/threadq.h> | |
|
379 | <rtems/score/priority.h> | |
|
380 | <rtems/score/watchdog.h> | |
|
381 | <rtems/score/coresem.inl> | |
|
382 | ||
|
383 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coresem.inl | |
|
384 | <rtems/score/thread.h> | |
|
385 | <rtems/score/threadq.h> | |
|
386 | ||
|
387 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\sem.inl | |
|
388 | ||
|
389 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\message.h | |
|
390 | <rtems/rtems/types.h> | |
|
391 | <rtems/rtems/status.h> | |
|
392 | <rtems/rtems/options.h> | |
|
393 | <rtems/score/chain.h> | |
|
394 | <rtems/score/object.h> | |
|
395 | <rtems/rtems/attr.h> | |
|
396 | <rtems/score/coremsg.h> | |
|
397 | <rtems/rtems/message.inl> | |
|
398 | <rtems/rtems/msgmp.h> | |
|
399 | ||
|
400 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremsg.h | |
|
401 | <limits.h> | |
|
402 | <rtems/score/thread.h> | |
|
403 | <rtems/score/threadq.h> | |
|
404 | <rtems/score/priority.h> | |
|
405 | <rtems/score/watchdog.h> | |
|
406 | <rtems/score/coremsg.inl> | |
|
407 | ||
|
408 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremsg.inl | |
|
409 | <string.h> | |
|
410 | ||
|
411 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\message.inl | |
|
412 | <rtems/score/wkspace.h> | |
|
413 | ||
|
414 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\wkspace.h | |
|
415 | <rtems/score/heap.h> | |
|
416 | <rtems/score/interr.h> | |
|
417 | <rtems/score/wkspace.inl> | |
|
418 | ||
|
419 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\wkspace.inl | |
|
420 | ||
|
421 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\event.h | |
|
422 | <rtems/score/object.h> | |
|
423 | <rtems/rtems/status.h> | |
|
424 | <rtems/rtems/types.h> | |
|
425 | <rtems/rtems/options.h> | |
|
426 | <rtems/score/thread.h> | |
|
427 | <rtems/score/threadsync.h> | |
|
428 | <rtems/score/watchdog.h> | |
|
429 | <rtems/rtems/eventset.h> | |
|
430 | <rtems/rtems/eventmp.h> | |
|
431 | <rtems/rtems/event.inl> | |
|
432 | ||
|
433 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\event.inl | |
|
434 | ||
|
435 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\signal.h | |
|
436 | <rtems/rtems/asr.h> | |
|
437 | <rtems/rtems/modes.h> | |
|
438 | <rtems/score/object.h> | |
|
439 | <rtems/rtems/status.h> | |
|
440 | <rtems/rtems/types.h> | |
|
441 | <rtems/rtems/signalmp.h> | |
|
442 | ||
|
443 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\object.h | |
|
444 | <stdint.h> | |
|
445 | <rtems/score/object.h> | |
|
446 | <rtems/rtems/status.h> | |
|
447 | <rtems/rtems/types.h> | |
|
448 | ||
|
449 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\part.h | |
|
450 | <rtems/score/address.h> | |
|
451 | <rtems/score/object.h> | |
|
452 | <rtems/rtems/attr.h> | |
|
453 | <rtems/rtems/status.h> | |
|
454 | <rtems/rtems/support.h> | |
|
455 | <rtems/rtems/types.h> | |
|
456 | <rtems/rtems/part.inl> | |
|
457 | <rtems/rtems/partmp.h> | |
|
458 | ||
|
459 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\part.inl | |
|
460 | ||
|
461 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\region.h | |
|
462 | <rtems/score/object.h> | |
|
463 | <rtems/score/threadq.h> | |
|
464 | <rtems/score/heap.h> | |
|
465 | <rtems/debug.h> | |
|
466 | <rtems/rtems/attr.h> | |
|
467 | <rtems/rtems/options.h> | |
|
468 | <rtems/rtems/status.h> | |
|
469 | <rtems/rtems/support.h> | |
|
470 | <rtems/rtems/types.h> | |
|
471 | <rtems/rtems/region.inl> | |
|
472 | <rtems/rtems/regionmp.h> | |
|
473 | ||
|
474 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\debug.h | |
|
475 | ||
|
476 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\region.inl | |
|
477 | ||
|
478 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\dpmem.h | |
|
479 | <rtems/score/object.h> | |
|
480 | <rtems/rtems/support.h> | |
|
481 | <rtems/rtems/status.h> | |
|
482 | <rtems/rtems/dpmem.inl> | |
|
483 | ||
|
484 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\dpmem.inl | |
|
485 | ||
|
486 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\ratemon.h | |
|
487 | <rtems/bspIo.h> | |
|
488 | <rtems/score/timespec.h> | |
|
489 | <rtems/score/timestamp.h> | |
|
490 | <rtems/score/object.h> | |
|
491 | <rtems/score/thread.h> | |
|
492 | <rtems/score/watchdog.h> | |
|
493 | <rtems/rtems/status.h> | |
|
494 | <rtems/rtems/support.h> | |
|
495 | <string.h> | |
|
496 | <rtems/rtems/ratemon.inl> | |
|
497 | ||
|
498 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\ratemon.inl | |
|
499 | ||
|
500 | 1340115162 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\bsp.h | |
|
501 | <bspopts.h> | |
|
502 | <rtems.h> | |
|
503 | <leon.h> | |
|
504 | <rtems/clockdrv.h> | |
|
505 | <rtems/console.h> | |
|
506 | <rtems/irq-extension.h> | |
|
507 | ||
|
508 | 1340115162 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\bspopts.h | |
|
509 | ||
|
510 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\leon.h | |
|
511 | <rtems/score/sparc.h> | |
|
512 | <amba.h> | |
|
513 | ||
|
514 | 1340115162 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\amba.h | |
|
515 | <ambapp.h> | |
|
516 | <grlib.h> | |
|
517 | ||
|
518 | 1340115162 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\ambapp.h | |
|
519 | <ambapp_ids.h> | |
|
520 | ||
|
521 | 1340115162 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\ambapp_ids.h | |
|
522 | ||
|
523 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\grlib.h | |
|
524 | ||
|
525 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\clockdrv.h | |
|
526 | ||
|
527 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\console.h | |
|
528 | ||
|
529 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\irq-extension.h | |
|
530 | <rtems.h> | |
|
531 | ||
|
532 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\confdefs.h | |
|
533 | <rtems.h> | |
|
534 | <rtems/score/apimutex.h> | |
|
535 | <rtems/libio.h> | |
|
536 | <rtems/imfs.h> | |
|
537 | <rtems/devfs.h> | |
|
538 | <rtems/ftpfs.h> | |
|
539 | <rtems/tftp.h> | |
|
540 | <librtemsNfs.h> | |
|
541 | <rtems/dosfs.h> | |
|
542 | <rtems/rtems-rfs.h> | |
|
543 | <rtems/devfs.h> | |
|
544 | <rtems/malloc.h> | |
|
545 | <rtems/score/wkspace.h> | |
|
546 | <rtems/console.h> | |
|
547 | <rtems/clockdrv.h> | |
|
548 | <rtems/timerdrv.h> | |
|
549 | <rtems/rtc.h> | |
|
550 | <rtems/watchdogdrv.h> | |
|
551 | <rtems/framebuffer.h> | |
|
552 | <rtems/devnull.h> | |
|
553 | <libchip/ide_ctrl.h> | |
|
554 | <libchip/ata.h> | |
|
555 | <rtems/bdbuf.h> | |
|
556 | <mpci.h> | |
|
557 | <rtems/stackchk.h> | |
|
558 | <rtems/libcsupport.h> | |
|
559 | <sys/types.h> | |
|
560 | <signal.h> | |
|
561 | <limits.h> | |
|
562 | <mqueue.h> | |
|
563 | <rtems/posix/barrier.h> | |
|
564 | <rtems/posix/cond.h> | |
|
565 | <rtems/posix/mqueue.h> | |
|
566 | <rtems/posix/mutex.h> | |
|
567 | <rtems/posix/key.h> | |
|
568 | <rtems/posix/psignal.h> | |
|
569 | <rtems/posix/rwlock.h> | |
|
570 | <rtems/posix/semaphore.h> | |
|
571 | <rtems/posix/spinlock.h> | |
|
572 | <rtems/posix/threadsup.h> | |
|
573 | <rtems/posix/timer.h> | |
|
574 | <rtems/itron.h> | |
|
575 | <rtems/itron/config.h> | |
|
576 | <rtems/itron/eventflags.h> | |
|
577 | <rtems/itron/fmempool.h> | |
|
578 | <rtems/itron/mbox.h> | |
|
579 | <rtems/itron/msgbuffer.h> | |
|
580 | <rtems/itron/port.h> | |
|
581 | <rtems/itron/semaphore.h> | |
|
582 | <rtems/itron/task.h> | |
|
583 | <rtems/itron/vmempool.h> | |
|
584 | <reent.h> | |
|
585 | <pci/cfg.h> | |
|
586 | <pci/cfg.h> | |
|
587 | <pci/cfg.h> | |
|
588 | ||
|
589 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\apimutex.h | |
|
590 | <rtems/score/coremutex.h> | |
|
591 | <rtems/score/isr.h> | |
|
592 | <rtems/score/object.h> | |
|
593 | ||
|
594 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\libio.h | |
|
595 | <sys/types.h> | |
|
596 | <sys/stat.h> | |
|
597 | <sys/ioctl.h> | |
|
598 | <sys/statvfs.h> | |
|
599 | <unistd.h> | |
|
600 | <termios.h> | |
|
601 | <rtems.h> | |
|
602 | <rtems/fs.h> | |
|
603 | <rtems/chain.h> | |
|
604 | ||
|
605 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\ioctl.h | |
|
606 | <sys/ttycom.h> | |
|
607 | <sys/ioccom.h> | |
|
608 | <sys/filio.h> | |
|
609 | <sys/sockio.h> | |
|
610 | ||
|
611 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\ttycom.h | |
|
612 | <sys/ioccom.h> | |
|
613 | ||
|
614 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\ioccom.h | |
|
615 | <sys/types.h> | |
|
616 | <rtems/bsd/sys/cdefs.h> | |
|
617 | ||
|
618 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bsd\sys\cdefs.h | |
|
619 | ||
|
620 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\filio.h | |
|
621 | <sys/ioccom.h> | |
|
622 | ||
|
623 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\sockio.h | |
|
624 | <sys/ioccom.h> | |
|
625 | ||
|
626 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\statvfs.h | |
|
627 | <sys/cdefs.h> | |
|
628 | <stdint.h> | |
|
629 | ||
|
630 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\fs.h | |
|
631 | ||
|
632 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\chain.h | |
|
633 | <rtems/system.h> | |
|
634 | <rtems/score/chain.h> | |
|
635 | <rtems/chain.inl> | |
|
636 | ||
|
637 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\chain.inl | |
|
638 | <rtems/score/chain.inl> | |
|
639 | ||
|
640 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\imfs.h | |
|
641 | <rtems.h> | |
|
642 | <rtems/chain.h> | |
|
643 | <sys/types.h> | |
|
644 | <limits.h> | |
|
645 | <rtems/libio.h> | |
|
646 | <rtems/pipe.h> | |
|
647 | ||
|
648 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\pipe.h | |
|
649 | <rtems/libio.h> | |
|
650 | ||
|
651 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\devfs.h | |
|
652 | <rtems/libio_.h> | |
|
653 | ||
|
654 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\libio_.h | |
|
655 | <rtems.h> | |
|
656 | <rtems/libio.h> | |
|
657 | <sys/types.h> | |
|
658 | <errno.h> | |
|
659 | <rtems/userenv.h> | |
|
660 | ||
|
661 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\userenv.h | |
|
662 | <rtems.h> | |
|
663 | <rtems/fs.h> | |
|
664 | <limits.h> | |
|
665 | ||
|
666 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\ftpfs.h | |
|
667 | <sys/time.h> | |
|
668 | <sys/ioctl.h> | |
|
669 | <rtems/libio.h> | |
|
670 | ||
|
671 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\tftp.h | |
|
672 | <rtems/libio.h> | |
|
673 | ||
|
674 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\librtemsnfs.h | |
|
675 | <config.h> | |
|
676 | <rtems.h> | |
|
677 | <rtems/libio.h> | |
|
678 | <rtems/libio_.h> | |
|
679 | <rtems/seterr.h> | |
|
680 | <string.h> | |
|
681 | <stdio.h> | |
|
682 | <stdlib.h> | |
|
683 | <assert.h> | |
|
684 | <sys/stat.h> | |
|
685 | <dirent.h> | |
|
686 | <netdb.h> | |
|
687 | <ctype.h> | |
|
688 | <netinet/in.h> | |
|
689 | <arpa/inet.h> | |
|
690 | "rpcio.h" | |
|
691 | ||
|
692 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\seterr.h | |
|
693 | ||
|
694 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\netdb.h | |
|
695 | <rtems/bsd/sys/cdefs.h> | |
|
696 | <rtems/bsdnet/_types.h> | |
|
697 | ||
|
698 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bsdnet\_types.h | |
|
699 | <stdint.h> | |
|
700 | ||
|
701 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\netinet\in.h | |
|
702 | <rtems/bsdnet/_types.h> | |
|
703 | <rtems/endian.h> | |
|
704 | ||
|
705 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\endian.h | |
|
706 | <rtems.h> | |
|
707 | ||
|
708 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\arpa\inet.h | |
|
709 | <rtems/bsd/sys/cdefs.h> | |
|
710 | <rtems/bsdnet/_types.h> | |
|
711 | <rtems/endian.h> | |
|
712 | ||
|
713 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\dosfs.h | |
|
714 | <rtems.h> | |
|
715 | <rtems/libio.h> | |
|
716 | ||
|
717 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems-rfs.h | |
|
718 | <rtems.h> | |
|
719 | <rtems/fs.h> | |
|
720 | ||
|
721 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\malloc.h | |
|
722 | <rtems.h> | |
|
723 | <rtems/bspIo.h> | |
|
724 | <stdint.h> | |
|
725 | ||
|
726 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\timerdrv.h | |
|
727 | ||
|
728 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtc.h | |
|
729 | <rtems.h> | |
|
730 | ||
|
731 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\framebuffer.h | |
|
732 | ||
|
733 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\devnull.h | |
|
734 | ||
|
735 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\libchip\ide_ctrl.h | |
|
736 | ||
|
737 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\libchip\ata.h | |
|
738 | <rtems.h> | |
|
739 | <sys/ioctl.h> | |
|
740 | <rtems/blkdev.h> | |
|
741 | ||
|
742 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\blkdev.h | |
|
743 | <rtems.h> | |
|
744 | <rtems/diskdevs.h> | |
|
745 | <sys/ioctl.h> | |
|
746 | ||
|
747 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\diskdevs.h | |
|
748 | <rtems.h> | |
|
749 | <rtems/libio.h> | |
|
750 | <stdlib.h> | |
|
751 | ||
|
752 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bdbuf.h | |
|
753 | <rtems.h> | |
|
754 | <rtems/libio.h> | |
|
755 | <rtems/chain.h> | |
|
756 | <rtems/blkdev.h> | |
|
757 | <rtems/diskdevs.h> | |
|
758 | ||
|
759 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\libcsupport.h | |
|
760 | <sys/types.h> | |
|
761 | <stdint.h> | |
|
762 | ||
|
763 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\mqueue.h | |
|
764 | <unistd.h> | |
|
765 | <sys/types.h> | |
|
766 | <rtems/system.h> | |
|
767 | <rtems/score/object.h> | |
|
768 | <time.h> | |
|
769 | ||
|
770 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\barrier.h | |
|
771 | <rtems/score/object.h> | |
|
772 | <rtems/score/corebarrier.h> | |
|
773 | <rtems/posix/barrier.inl> | |
|
774 | ||
|
775 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\barrier.inl | |
|
776 | <pthread.h> | |
|
777 | ||
|
778 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\cond.h | |
|
779 | <rtems/score/object.h> | |
|
780 | <rtems/score/threadq.h> | |
|
781 | <rtems/posix/cond.inl> | |
|
782 | ||
|
783 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\cond.inl | |
|
784 | <pthread.h> | |
|
785 | ||
|
786 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mqueue.h | |
|
787 | <signal.h> | |
|
788 | <rtems/score/coremsg.h> | |
|
789 | <rtems/score/object.h> | |
|
790 | <rtems/posix/mqueue.inl> | |
|
791 | ||
|
792 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mqueue.inl | |
|
793 | ||
|
794 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mutex.h | |
|
795 | <rtems/score/coremutex.h> | |
|
796 | <pthread.h> | |
|
797 | <rtems/posix/mutex.inl> | |
|
798 | ||
|
799 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mutex.inl | |
|
800 | ||
|
801 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\key.h | |
|
802 | <rtems/posix/key.inl> | |
|
803 | ||
|
804 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\key.inl | |
|
805 | ||
|
806 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\psignal.h | |
|
807 | <rtems/posix/pthread.h> | |
|
808 | <rtems/posix/sigset.h> | |
|
809 | ||
|
810 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\pthread.h | |
|
811 | <rtems/posix/config.h> | |
|
812 | <rtems/posix/threadsup.h> | |
|
813 | <rtems/posix/pthread.inl> | |
|
814 | ||
|
815 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\threadsup.h | |
|
816 | <sys/signal.h> | |
|
817 | <rtems/score/coresem.h> | |
|
818 | <rtems/score/tqdata.h> | |
|
819 | ||
|
820 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\pthread.inl | |
|
821 | ||
|
822 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\sigset.h | |
|
823 | <signal.h> | |
|
824 | ||
|
825 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\rwlock.h | |
|
826 | <rtems/score/object.h> | |
|
827 | <rtems/score/corerwlock.h> | |
|
828 | <rtems/posix/rwlock.inl> | |
|
829 | ||
|
830 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corerwlock.h | |
|
831 | <rtems/score/thread.h> | |
|
832 | <rtems/score/threadq.h> | |
|
833 | <rtems/score/priority.h> | |
|
834 | <rtems/score/watchdog.h> | |
|
835 | <rtems/score/corerwlock.inl> | |
|
836 | ||
|
837 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corerwlock.inl | |
|
838 | <rtems/score/thread.h> | |
|
839 | <rtems/score/threadq.h> | |
|
840 | ||
|
841 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\rwlock.inl | |
|
842 | <pthread.h> | |
|
843 | ||
|
844 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\semaphore.h | |
|
845 | <semaphore.h> | |
|
846 | <rtems/score/coresem.h> | |
|
847 | <rtems/posix/semaphore.inl> | |
|
848 | ||
|
849 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\semaphore.h | |
|
850 | <unistd.h> | |
|
851 | <sys/time.h> | |
|
852 | ||
|
853 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\semaphore.inl | |
|
854 | ||
|
855 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\spinlock.h | |
|
856 | <rtems/score/object.h> | |
|
857 | <rtems/score/corespinlock.h> | |
|
858 | <rtems/posix/spinlock.inl> | |
|
859 | ||
|
860 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corespinlock.h | |
|
861 | <rtems/score/thread.h> | |
|
862 | <rtems/score/thread.h> | |
|
863 | <rtems/score/priority.h> | |
|
864 | <rtems/score/corespinlock.inl> | |
|
865 | ||
|
866 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corespinlock.inl | |
|
867 | ||
|
868 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\spinlock.inl | |
|
869 | <pthread.h> | |
|
870 | ||
|
871 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\timer.h | |
|
872 | <rtems/posix/config.h> | |
|
873 | <rtems/score/object.h> | |
|
874 | <rtems/posix/timer.inl> | |
|
875 | ||
|
876 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\timer.inl | |
|
877 | ||
|
878 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg.h | |
|
879 | <pci.h> | |
|
880 | <pci/cfg_auto.h> | |
|
881 | <pci/cfg_static.h> | |
|
882 | <pci/cfg_read.h> | |
|
883 | <pci/cfg_peripheral.h> | |
|
884 | ||
|
885 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci.h | |
|
886 | <pci/ids.h> | |
|
887 | <pci/access.h> | |
|
888 | ||
|
889 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\ids.h | |
|
890 | <pci/ids_extra.h> | |
|
891 | ||
|
892 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\ids_extra.h | |
|
893 | ||
|
894 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\access.h | |
|
895 | <stdint.h> | |
|
896 | <libcpu/byteorder.h> | |
|
897 | <pci.h> | |
|
898 | <bsp.h> | |
|
899 | ||
|
900 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\libcpu\byteorder.h | |
|
901 | <rtems/system.h> | |
|
902 | <rtems/score/cpu.h> | |
|
903 | ||
|
904 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_auto.h | |
|
905 | ||
|
906 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_static.h | |
|
907 | ||
|
908 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_read.h | |
|
909 | ||
|
910 | 1340115164 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_peripheral.h | |
|
911 | ||
|
912 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\ambapp_bus.h | |
|
913 | <drvmgr/drvmgr.h> | |
|
914 | <ambapp.h> | |
|
915 | ||
|
916 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\drvmgr.h | |
|
917 | <rtems.h> | |
|
918 | <drvmgr/drvmgr_list.h> | |
|
919 | <stdint.h> | |
|
920 | ||
|
921 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\drvmgr_list.h | |
|
922 | ||
|
923 | 1340115166 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\drvmgr_confdefs.h | |
|
924 | "drvmgr.h" | |
|
925 |
@@ -0,0 +1,7 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_layout_file> | |
|
3 | <ActiveTarget name="Debug" /> | |
|
4 | <File name="..\..\..\..\GAISLER\C\rtems-hello\rtems-hello.c" open="1" top="1" tabpos="1"> | |
|
5 | <Cursor position="4494" topLine="135" /> | |
|
6 | </File> | |
|
7 | </CodeBlocks_layout_file> |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
@@ -0,0 +1,47 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_project_file> | |
|
3 | <FileVersion major="1" minor="6" /> | |
|
4 | <Project> | |
|
5 | <Option title="rtems-spwtest-2boards" /> | |
|
6 | <Option pch_mode="2" /> | |
|
7 | <Option compiler="sparc_gcc" /> | |
|
8 | <Build> | |
|
9 | <Target title="Debug"> | |
|
10 | <Option output="bin\Debug\rtems-spwtest-2boards" prefix_auto="1" extension_auto="1" /> | |
|
11 | <Option object_output="obj\Debug\" /> | |
|
12 | <Option type="1" /> | |
|
13 | <Option compiler="sparc_rtems_gcc" /> | |
|
14 | <Compiler> | |
|
15 | <Add option="-g" /> | |
|
16 | <Add directory="..\header" /> | |
|
17 | <Add directory="..\src" /> | |
|
18 | <Add directory="C:\opt\rtems-4.10-mingw\src\samples" /> | |
|
19 | <Add directory="C:\opt\rtems-4.10-mingw\sparc-rtems\include" /> | |
|
20 | <Add directory="C:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include" /> | |
|
21 | </Compiler> | |
|
22 | </Target> | |
|
23 | <Target title="Release"> | |
|
24 | <Option output="bin\Release\rtems-spwtest-2boards" prefix_auto="1" extension_auto="1" /> | |
|
25 | <Option object_output="obj\Release\" /> | |
|
26 | <Option type="1" /> | |
|
27 | <Option compiler="sparc_gcc" /> | |
|
28 | <Compiler> | |
|
29 | <Add option="-O2" /> | |
|
30 | </Compiler> | |
|
31 | <Linker> | |
|
32 | <Add option="-s" /> | |
|
33 | </Linker> | |
|
34 | </Target> | |
|
35 | </Build> | |
|
36 | <Compiler> | |
|
37 | <Add option="-Wall" /> | |
|
38 | </Compiler> | |
|
39 | <Unit filename="..\src\rtems-spwtest-2boards.c"> | |
|
40 | <Option compilerVar="CC" /> | |
|
41 | </Unit> | |
|
42 | <Extensions> | |
|
43 | <code_completion /> | |
|
44 | <debugger /> | |
|
45 | </Extensions> | |
|
46 | </Project> | |
|
47 | </CodeBlocks_project_file> |
This diff has been collapsed as it changes many lines, (1193 lines changed) Show them Hide them | |||
@@ -0,0 +1,1193 | |||
|
1 | # depslib dependency file v1.0 | |
|
2 | 1340118752 source:e:\missions\solo\dev_ple\src\fsw-rtems.c | |
|
3 | <rtems.h> | |
|
4 | <bsp.h> | |
|
5 | <rtems/confdefs.h> | |
|
6 | <drvmgr/ambapp_bus.h> | |
|
7 | <drvmgr/drvmgr_confdefs.h> | |
|
8 | <stdio.h> | |
|
9 | <stdlib.h> | |
|
10 | ||
|
11 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems.h | |
|
12 | <rtems/system.h> | |
|
13 | <rtems/rtems/status.h> | |
|
14 | <rtems/rtems/types.h> | |
|
15 | <rtems/config.h> | |
|
16 | <rtems/init.h> | |
|
17 | <rtems/rtems/options.h> | |
|
18 | <rtems/rtems/tasks.h> | |
|
19 | <rtems/rtems/intr.h> | |
|
20 | <rtems/rtems/barrier.h> | |
|
21 | <rtems/rtems/cache.h> | |
|
22 | <rtems/rtems/clock.h> | |
|
23 | <rtems/extension.h> | |
|
24 | <rtems/rtems/timer.h> | |
|
25 | <rtems/rtems/sem.h> | |
|
26 | <rtems/rtems/message.h> | |
|
27 | <rtems/rtems/event.h> | |
|
28 | <rtems/rtems/signal.h> | |
|
29 | <rtems/rtems/event.h> | |
|
30 | <rtems/rtems/object.h> | |
|
31 | <rtems/rtems/part.h> | |
|
32 | <rtems/rtems/region.h> | |
|
33 | <rtems/rtems/dpmem.h> | |
|
34 | <rtems/io.h> | |
|
35 | <rtems/fatal.h> | |
|
36 | <rtems/rtems/ratemon.h> | |
|
37 | <rtems/rtems/mp.h> | |
|
38 | <rtems/rtems/support.h> | |
|
39 | <rtems/score/sysstate.h> | |
|
40 | ||
|
41 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\system.h | |
|
42 | <rtems/score/cpuopts.h> | |
|
43 | <stddef.h> | |
|
44 | <stdint.h> | |
|
45 | <rtems/score/cpu.h> | |
|
46 | ||
|
47 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\cpuopts.h | |
|
48 | ||
|
49 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\stdint.h | |
|
50 | <limits.h> | |
|
51 | ||
|
52 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\limits.h | |
|
53 | <sys/syslimits.h> | |
|
54 | ||
|
55 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\syslimits.h | |
|
56 | ||
|
57 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\cpu.h | |
|
58 | <rtems/score/sparc.h> | |
|
59 | <rtems/score/types.h> | |
|
60 | ||
|
61 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\sparc.h | |
|
62 | ||
|
63 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\types.h | |
|
64 | <stdbool.h> | |
|
65 | <stdint.h> | |
|
66 | ||
|
67 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\status.h | |
|
68 | <rtems/rtems/status.inl> | |
|
69 | ||
|
70 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\status.inl | |
|
71 | ||
|
72 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\types.h | |
|
73 | <stdint.h> | |
|
74 | <rtems/score/heap.h> | |
|
75 | <rtems/score/object.h> | |
|
76 | <rtems/score/priority.h> | |
|
77 | <rtems/score/tod.h> | |
|
78 | <rtems/score/watchdog.h> | |
|
79 | <rtems/rtems/modes.h> | |
|
80 | <rtems/score/mpci.h> | |
|
81 | <rtems/score/mppkt.h> | |
|
82 | ||
|
83 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\heap.h | |
|
84 | <rtems/score/heap.inl> | |
|
85 | <assert.h> | |
|
86 | ||
|
87 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\heap.inl | |
|
88 | <rtems/score/address.h> | |
|
89 | ||
|
90 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\address.h | |
|
91 | <rtems/score/address.inl> | |
|
92 | ||
|
93 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\address.inl | |
|
94 | <rtems/bspIo.h> | |
|
95 | ||
|
96 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bspio.h | |
|
97 | <stdarg.h> | |
|
98 | ||
|
99 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\assert.h | |
|
100 | "_ansi.h" | |
|
101 | ||
|
102 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\_ansi.h | |
|
103 | <newlib.h> | |
|
104 | <sys/config.h> | |
|
105 | ||
|
106 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\newlib.h | |
|
107 | ||
|
108 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\config.h | |
|
109 | <machine/ieeefp.h> | |
|
110 | <cygwin/config.h> | |
|
111 | ||
|
112 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\machine\ieeefp.h | |
|
113 | ||
|
114 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\object.h | |
|
115 | <rtems/score/chain.h> | |
|
116 | <rtems/score/isr.h> | |
|
117 | <rtems/score/object.inl> | |
|
118 | <rtems/score/objectmp.h> | |
|
119 | ||
|
120 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\chain.h | |
|
121 | <rtems/score/address.h> | |
|
122 | <rtems/score/chain.inl> | |
|
123 | ||
|
124 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\chain.inl | |
|
125 | ||
|
126 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\isr.h | |
|
127 | <rtems/score/isr.inl> | |
|
128 | ||
|
129 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\isr.inl | |
|
130 | ||
|
131 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\object.inl | |
|
132 | ||
|
133 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\priority.h | |
|
134 | <rtems/score/cpu.h> | |
|
135 | <rtems/score/priority.inl> | |
|
136 | ||
|
137 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\priority.inl | |
|
138 | <rtems/score/bitfield.h> | |
|
139 | ||
|
140 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\bitfield.h | |
|
141 | ||
|
142 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tod.h | |
|
143 | <rtems/score/timestamp.h> | |
|
144 | <time.h> | |
|
145 | <rtems/score/tod.inl> | |
|
146 | ||
|
147 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\timestamp.h | |
|
148 | <rtems/score/timespec.h> | |
|
149 | <rtems/score/timestamp64.h> | |
|
150 | ||
|
151 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\timespec.h | |
|
152 | <stdint.h> | |
|
153 | <time.h> | |
|
154 | ||
|
155 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\time.h | |
|
156 | "_ansi.h" | |
|
157 | <sys/reent.h> | |
|
158 | <machine/time.h> | |
|
159 | <stddef.h> | |
|
160 | <sys/types.h> | |
|
161 | <sys/features.h> | |
|
162 | <cygwin/time.h> | |
|
163 | <signal.h> | |
|
164 | ||
|
165 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\reent.h | |
|
166 | <_ansi.h> | |
|
167 | <sys/_types.h> | |
|
168 | <sys/types.h> | |
|
169 | <sys/custom_file.h> | |
|
170 | <assert.h> | |
|
171 | ||
|
172 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\_types.h | |
|
173 | <machine/_types.h> | |
|
174 | <sys/lock.h> | |
|
175 | <stddef.h> | |
|
176 | ||
|
177 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\machine\_types.h | |
|
178 | <machine/_default_types.h> | |
|
179 | ||
|
180 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\machine\_default_types.h | |
|
181 | <limits.h> | |
|
182 | ||
|
183 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\lock.h | |
|
184 | <_ansi.h> | |
|
185 | ||
|
186 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\types.h | |
|
187 | <_ansi.h> | |
|
188 | <machine/_types.h> | |
|
189 | <sys/_types.h> | |
|
190 | <stddef.h> | |
|
191 | <machine/types.h> | |
|
192 | <sys/features.h> | |
|
193 | <sys/sched.h> | |
|
194 | <cygwin/types.h> | |
|
195 | ||
|
196 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\machine\types.h | |
|
197 | <machine/_types.h> | |
|
198 | ||
|
199 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\features.h | |
|
200 | ||
|
201 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\sched.h | |
|
202 | ||
|
203 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\custom_file.h | |
|
204 | ||
|
205 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\machine\time.h | |
|
206 | <sys/types.h> | |
|
207 | ||
|
208 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\signal.h | |
|
209 | "_ansi.h" | |
|
210 | <sys/signal.h> | |
|
211 | ||
|
212 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\signal.h | |
|
213 | "_ansi.h" | |
|
214 | <sys/features.h> | |
|
215 | <sys/types.h> | |
|
216 | <cygwin/signal.h> | |
|
217 | <signal.h> | |
|
218 | ||
|
219 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\timestamp64.h | |
|
220 | ||
|
221 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tod.inl | |
|
222 | <sys/time.h> | |
|
223 | <rtems/score/isr.h> | |
|
224 | ||
|
225 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\time.h | |
|
226 | <_ansi.h> | |
|
227 | <sys/types.h> | |
|
228 | <cygwin/sys_time.h> | |
|
229 | ||
|
230 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\watchdog.h | |
|
231 | <rtems/score/object.h> | |
|
232 | <rtems/score/watchdog.inl> | |
|
233 | ||
|
234 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\watchdog.inl | |
|
235 | ||
|
236 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\modes.h | |
|
237 | <rtems/score/isr.h> | |
|
238 | <rtems/rtems/modes.inl> | |
|
239 | ||
|
240 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\modes.inl | |
|
241 | ||
|
242 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\config.h | |
|
243 | <rtems/score/object.h> | |
|
244 | <rtems/posix/config.h> | |
|
245 | <rtems/itron.h> | |
|
246 | <rtems/itron/config.h> | |
|
247 | <rtems/rtems/config.h> | |
|
248 | <rtems/extension.h> | |
|
249 | <rtems/io.h> | |
|
250 | <rtems/score/mpci.h> | |
|
251 | ||
|
252 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\config.h | |
|
253 | ||
|
254 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\config.h | |
|
255 | <rtems/rtems/types.h> | |
|
256 | <rtems/rtems/tasks.h> | |
|
257 | ||
|
258 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\tasks.h | |
|
259 | <rtems/score/object.h> | |
|
260 | <rtems/score/states.h> | |
|
261 | <rtems/score/thread.h> | |
|
262 | <rtems/rtems/types.h> | |
|
263 | <rtems/rtems/eventset.h> | |
|
264 | <rtems/rtems/asr.h> | |
|
265 | <rtems/rtems/attr.h> | |
|
266 | <rtems/rtems/status.h> | |
|
267 | <rtems/rtems/tasks.inl> | |
|
268 | <rtems/rtems/taskmp.h> | |
|
269 | ||
|
270 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\states.h | |
|
271 | <rtems/score/states.inl> | |
|
272 | ||
|
273 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\states.inl | |
|
274 | ||
|
275 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\thread.h | |
|
276 | <rtems/score/timestamp.h> | |
|
277 | <rtems/score/context.h> | |
|
278 | <rtems/score/cpu.h> | |
|
279 | <rtems/score/mppkt.h> | |
|
280 | <rtems/score/object.h> | |
|
281 | <rtems/score/priority.h> | |
|
282 | <rtems/score/stack.h> | |
|
283 | <rtems/score/states.h> | |
|
284 | <rtems/score/tod.h> | |
|
285 | <rtems/score/tqdata.h> | |
|
286 | <rtems/score/watchdog.h> | |
|
287 | <rtems/score/thread.inl> | |
|
288 | <rtems/score/threadmp.h> | |
|
289 | ||
|
290 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\context.h | |
|
291 | <rtems/score/cpu.h> | |
|
292 | ||
|
293 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\stack.h | |
|
294 | <rtems/score/stack.inl> | |
|
295 | ||
|
296 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\stack.inl | |
|
297 | ||
|
298 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tqdata.h | |
|
299 | <rtems/score/chain.h> | |
|
300 | <rtems/score/priority.h> | |
|
301 | <rtems/score/states.h> | |
|
302 | <rtems/score/threadsync.h> | |
|
303 | <rtems/score/tqdata.inl> | |
|
304 | ||
|
305 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\threadsync.h | |
|
306 | ||
|
307 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\tqdata.inl | |
|
308 | ||
|
309 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\thread.inl | |
|
310 | <rtems/score/sysstate.h> | |
|
311 | <rtems/score/context.h> | |
|
312 | <rtems/bspIo.h> | |
|
313 | <rtems/fatal.h> | |
|
314 | <rtems/stackchk.h> | |
|
315 | <rtems/score/sysstate.h> | |
|
316 | <rtems/score/heap.h> | |
|
317 | ||
|
318 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\sysstate.h | |
|
319 | <rtems/score/sysstate.inl> | |
|
320 | ||
|
321 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\sysstate.inl | |
|
322 | ||
|
323 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\fatal.h | |
|
324 | ||
|
325 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\stackchk.h | |
|
326 | <rtems/bspIo.h> | |
|
327 | ||
|
328 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\eventset.h | |
|
329 | <rtems/rtems/eventset.inl> | |
|
330 | ||
|
331 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\eventset.inl | |
|
332 | ||
|
333 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\asr.h | |
|
334 | <rtems/rtems/modes.h> | |
|
335 | <rtems/rtems/asr.inl> | |
|
336 | ||
|
337 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\asr.inl | |
|
338 | <rtems/score/isr.h> | |
|
339 | ||
|
340 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\attr.h | |
|
341 | <rtems/rtems/attr.inl> | |
|
342 | ||
|
343 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\attr.inl | |
|
344 | ||
|
345 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\tasks.inl | |
|
346 | ||
|
347 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\extension.h | |
|
348 | <rtems/score/object.h> | |
|
349 | <rtems/score/userext.h> | |
|
350 | <rtems/rtems/status.h> | |
|
351 | <rtems/rtems/types.h> | |
|
352 | <rtems/extension.inl> | |
|
353 | ||
|
354 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\userext.h | |
|
355 | <rtems/score/interr.h> | |
|
356 | <rtems/score/chain.h> | |
|
357 | <rtems/score/thread.h> | |
|
358 | ||
|
359 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\interr.h | |
|
360 | <stdbool.h> | |
|
361 | <stdint.h> | |
|
362 | <rtems/system.h> | |
|
363 | ||
|
364 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\extension.inl | |
|
365 | ||
|
366 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\io.h | |
|
367 | <rtems/rtems/status.h> | |
|
368 | ||
|
369 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\init.h | |
|
370 | <rtems/rtems/types.h> | |
|
371 | <rtems/config.h> | |
|
372 | <rtems/rtems/intr.h> | |
|
373 | ||
|
374 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\intr.h | |
|
375 | <rtems/score/isr.h> | |
|
376 | ||
|
377 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\options.h | |
|
378 | <rtems/rtems/options.inl> | |
|
379 | ||
|
380 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\options.inl | |
|
381 | ||
|
382 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\barrier.h | |
|
383 | <rtems/rtems/types.h> | |
|
384 | <rtems/rtems/support.h> | |
|
385 | <rtems/rtems/attr.h> | |
|
386 | <rtems/rtems/status.h> | |
|
387 | <rtems/score/object.h> | |
|
388 | <rtems/score/corebarrier.h> | |
|
389 | <rtems/rtems/barrier.inl> | |
|
390 | ||
|
391 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\support.h | |
|
392 | <rtems/rtems/types.h> | |
|
393 | <rtems/rtems/support.inl> | |
|
394 | ||
|
395 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\support.inl | |
|
396 | ||
|
397 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corebarrier.h | |
|
398 | <rtems/score/thread.h> | |
|
399 | <rtems/score/threadq.h> | |
|
400 | <rtems/score/priority.h> | |
|
401 | <rtems/score/watchdog.h> | |
|
402 | <rtems/score/corebarrier.inl> | |
|
403 | ||
|
404 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\threadq.h | |
|
405 | <rtems/score/tqdata.h> | |
|
406 | <rtems/score/object.h> | |
|
407 | <rtems/score/thread.h> | |
|
408 | <rtems/score/watchdog.h> | |
|
409 | <rtems/score/threadq.inl> | |
|
410 | ||
|
411 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\threadq.inl | |
|
412 | <rtems/score/thread.h> | |
|
413 | ||
|
414 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corebarrier.inl | |
|
415 | <rtems/score/thread.h> | |
|
416 | <rtems/score/threadq.h> | |
|
417 | ||
|
418 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\barrier.inl | |
|
419 | ||
|
420 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\cache.h | |
|
421 | <rtems/system.h> | |
|
422 | <sys/types.h> | |
|
423 | ||
|
424 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\clock.h | |
|
425 | <rtems/score/tod.h> | |
|
426 | <rtems/score/watchdog.h> | |
|
427 | <rtems/rtems/status.h> | |
|
428 | <rtems/rtems/types.h> | |
|
429 | <sys/time.h> | |
|
430 | ||
|
431 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\timer.h | |
|
432 | <rtems/score/object.h> | |
|
433 | <rtems/score/watchdog.h> | |
|
434 | <rtems/score/thread.h> | |
|
435 | <rtems/score/chain.h> | |
|
436 | <rtems/rtems/clock.h> | |
|
437 | <rtems/rtems/attr.h> | |
|
438 | <rtems/rtems/timer.inl> | |
|
439 | ||
|
440 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\timer.inl | |
|
441 | ||
|
442 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\sem.h | |
|
443 | <rtems/rtems/types.h> | |
|
444 | <rtems/rtems/options.h> | |
|
445 | <rtems/rtems/support.h> | |
|
446 | <rtems/rtems/tasks.h> | |
|
447 | <rtems/rtems/attr.h> | |
|
448 | <rtems/score/coremutex.h> | |
|
449 | <rtems/score/object.h> | |
|
450 | <rtems/score/coresem.h> | |
|
451 | <rtems/rtems/sem.inl> | |
|
452 | <rtems/rtems/semmp.h> | |
|
453 | ||
|
454 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremutex.h | |
|
455 | <rtems/score/thread.h> | |
|
456 | <rtems/score/threadq.h> | |
|
457 | <rtems/score/priority.h> | |
|
458 | <rtems/score/watchdog.h> | |
|
459 | <rtems/score/interr.h> | |
|
460 | <rtems/score/sysstate.h> | |
|
461 | <rtems/score/coremutex.inl> | |
|
462 | ||
|
463 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremutex.inl | |
|
464 | ||
|
465 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coresem.h | |
|
466 | <rtems/score/thread.h> | |
|
467 | <rtems/score/threadq.h> | |
|
468 | <rtems/score/priority.h> | |
|
469 | <rtems/score/watchdog.h> | |
|
470 | <rtems/score/coresem.inl> | |
|
471 | ||
|
472 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coresem.inl | |
|
473 | <rtems/score/thread.h> | |
|
474 | <rtems/score/threadq.h> | |
|
475 | ||
|
476 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\sem.inl | |
|
477 | ||
|
478 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\message.h | |
|
479 | <rtems/rtems/types.h> | |
|
480 | <rtems/rtems/status.h> | |
|
481 | <rtems/rtems/options.h> | |
|
482 | <rtems/score/chain.h> | |
|
483 | <rtems/score/object.h> | |
|
484 | <rtems/rtems/attr.h> | |
|
485 | <rtems/score/coremsg.h> | |
|
486 | <rtems/rtems/message.inl> | |
|
487 | <rtems/rtems/msgmp.h> | |
|
488 | ||
|
489 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremsg.h | |
|
490 | <limits.h> | |
|
491 | <rtems/score/thread.h> | |
|
492 | <rtems/score/threadq.h> | |
|
493 | <rtems/score/priority.h> | |
|
494 | <rtems/score/watchdog.h> | |
|
495 | <rtems/score/coremsg.inl> | |
|
496 | ||
|
497 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\coremsg.inl | |
|
498 | <string.h> | |
|
499 | ||
|
500 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\string.h | |
|
501 | "_ansi.h" | |
|
502 | <sys/reent.h> | |
|
503 | <stddef.h> | |
|
504 | <sys/string.h> | |
|
505 | ||
|
506 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\string.h | |
|
507 | ||
|
508 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\message.inl | |
|
509 | <rtems/score/wkspace.h> | |
|
510 | ||
|
511 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\wkspace.h | |
|
512 | <rtems/score/heap.h> | |
|
513 | <rtems/score/interr.h> | |
|
514 | <rtems/score/wkspace.inl> | |
|
515 | ||
|
516 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\wkspace.inl | |
|
517 | ||
|
518 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\event.h | |
|
519 | <rtems/score/object.h> | |
|
520 | <rtems/rtems/status.h> | |
|
521 | <rtems/rtems/types.h> | |
|
522 | <rtems/rtems/options.h> | |
|
523 | <rtems/score/thread.h> | |
|
524 | <rtems/score/threadsync.h> | |
|
525 | <rtems/score/watchdog.h> | |
|
526 | <rtems/rtems/eventset.h> | |
|
527 | <rtems/rtems/eventmp.h> | |
|
528 | <rtems/rtems/event.inl> | |
|
529 | ||
|
530 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\event.inl | |
|
531 | ||
|
532 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\signal.h | |
|
533 | <rtems/rtems/asr.h> | |
|
534 | <rtems/rtems/modes.h> | |
|
535 | <rtems/score/object.h> | |
|
536 | <rtems/rtems/status.h> | |
|
537 | <rtems/rtems/types.h> | |
|
538 | <rtems/rtems/signalmp.h> | |
|
539 | ||
|
540 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\object.h | |
|
541 | <stdint.h> | |
|
542 | <rtems/score/object.h> | |
|
543 | <rtems/rtems/status.h> | |
|
544 | <rtems/rtems/types.h> | |
|
545 | ||
|
546 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\part.h | |
|
547 | <rtems/score/address.h> | |
|
548 | <rtems/score/object.h> | |
|
549 | <rtems/rtems/attr.h> | |
|
550 | <rtems/rtems/status.h> | |
|
551 | <rtems/rtems/support.h> | |
|
552 | <rtems/rtems/types.h> | |
|
553 | <rtems/rtems/part.inl> | |
|
554 | <rtems/rtems/partmp.h> | |
|
555 | ||
|
556 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\part.inl | |
|
557 | ||
|
558 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\region.h | |
|
559 | <rtems/score/object.h> | |
|
560 | <rtems/score/threadq.h> | |
|
561 | <rtems/score/heap.h> | |
|
562 | <rtems/debug.h> | |
|
563 | <rtems/rtems/attr.h> | |
|
564 | <rtems/rtems/options.h> | |
|
565 | <rtems/rtems/status.h> | |
|
566 | <rtems/rtems/support.h> | |
|
567 | <rtems/rtems/types.h> | |
|
568 | <rtems/rtems/region.inl> | |
|
569 | <rtems/rtems/regionmp.h> | |
|
570 | ||
|
571 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\debug.h | |
|
572 | ||
|
573 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\region.inl | |
|
574 | ||
|
575 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\dpmem.h | |
|
576 | <rtems/score/object.h> | |
|
577 | <rtems/rtems/support.h> | |
|
578 | <rtems/rtems/status.h> | |
|
579 | <rtems/rtems/dpmem.inl> | |
|
580 | ||
|
581 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\dpmem.inl | |
|
582 | ||
|
583 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\ratemon.h | |
|
584 | <rtems/bspIo.h> | |
|
585 | <rtems/score/timespec.h> | |
|
586 | <rtems/score/timestamp.h> | |
|
587 | <rtems/score/object.h> | |
|
588 | <rtems/score/thread.h> | |
|
589 | <rtems/score/watchdog.h> | |
|
590 | <rtems/rtems/status.h> | |
|
591 | <rtems/rtems/support.h> | |
|
592 | <string.h> | |
|
593 | <rtems/rtems/ratemon.inl> | |
|
594 | ||
|
595 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems\ratemon.inl | |
|
596 | ||
|
597 | 1340118762 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\bsp.h | |
|
598 | <bspopts.h> | |
|
599 | <rtems.h> | |
|
600 | <leon.h> | |
|
601 | <rtems/clockdrv.h> | |
|
602 | <rtems/console.h> | |
|
603 | <rtems/irq-extension.h> | |
|
604 | ||
|
605 | 1340118762 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\bspopts.h | |
|
606 | ||
|
607 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\leon.h | |
|
608 | <rtems/score/sparc.h> | |
|
609 | <amba.h> | |
|
610 | ||
|
611 | 1340118762 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\amba.h | |
|
612 | <ambapp.h> | |
|
613 | <grlib.h> | |
|
614 | ||
|
615 | 1340118762 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\ambapp.h | |
|
616 | <ambapp_ids.h> | |
|
617 | ||
|
618 | 1340118762 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\ambapp_ids.h | |
|
619 | ||
|
620 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\grlib.h | |
|
621 | ||
|
622 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\clockdrv.h | |
|
623 | ||
|
624 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\console.h | |
|
625 | ||
|
626 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\irq-extension.h | |
|
627 | <rtems.h> | |
|
628 | ||
|
629 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\confdefs.h | |
|
630 | <rtems.h> | |
|
631 | <rtems/score/apimutex.h> | |
|
632 | <rtems/libio.h> | |
|
633 | <rtems/imfs.h> | |
|
634 | <rtems/devfs.h> | |
|
635 | <rtems/ftpfs.h> | |
|
636 | <rtems/tftp.h> | |
|
637 | <librtemsNfs.h> | |
|
638 | <rtems/dosfs.h> | |
|
639 | <rtems/rtems-rfs.h> | |
|
640 | <rtems/devfs.h> | |
|
641 | <rtems/malloc.h> | |
|
642 | <rtems/score/wkspace.h> | |
|
643 | <rtems/console.h> | |
|
644 | <rtems/clockdrv.h> | |
|
645 | <rtems/timerdrv.h> | |
|
646 | <rtems/rtc.h> | |
|
647 | <rtems/watchdogdrv.h> | |
|
648 | <rtems/framebuffer.h> | |
|
649 | <rtems/devnull.h> | |
|
650 | <libchip/ide_ctrl.h> | |
|
651 | <libchip/ata.h> | |
|
652 | <rtems/bdbuf.h> | |
|
653 | <mpci.h> | |
|
654 | <rtems/stackchk.h> | |
|
655 | <rtems/libcsupport.h> | |
|
656 | <sys/types.h> | |
|
657 | <signal.h> | |
|
658 | <limits.h> | |
|
659 | <mqueue.h> | |
|
660 | <rtems/posix/barrier.h> | |
|
661 | <rtems/posix/cond.h> | |
|
662 | <rtems/posix/mqueue.h> | |
|
663 | <rtems/posix/mutex.h> | |
|
664 | <rtems/posix/key.h> | |
|
665 | <rtems/posix/psignal.h> | |
|
666 | <rtems/posix/rwlock.h> | |
|
667 | <rtems/posix/semaphore.h> | |
|
668 | <rtems/posix/spinlock.h> | |
|
669 | <rtems/posix/threadsup.h> | |
|
670 | <rtems/posix/timer.h> | |
|
671 | <rtems/itron.h> | |
|
672 | <rtems/itron/config.h> | |
|
673 | <rtems/itron/eventflags.h> | |
|
674 | <rtems/itron/fmempool.h> | |
|
675 | <rtems/itron/mbox.h> | |
|
676 | <rtems/itron/msgbuffer.h> | |
|
677 | <rtems/itron/port.h> | |
|
678 | <rtems/itron/semaphore.h> | |
|
679 | <rtems/itron/task.h> | |
|
680 | <rtems/itron/vmempool.h> | |
|
681 | <reent.h> | |
|
682 | <pci/cfg.h> | |
|
683 | <pci/cfg.h> | |
|
684 | <pci/cfg.h> | |
|
685 | ||
|
686 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\apimutex.h | |
|
687 | <rtems/score/coremutex.h> | |
|
688 | <rtems/score/isr.h> | |
|
689 | <rtems/score/object.h> | |
|
690 | ||
|
691 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\libio.h | |
|
692 | <sys/types.h> | |
|
693 | <sys/stat.h> | |
|
694 | <sys/ioctl.h> | |
|
695 | <sys/statvfs.h> | |
|
696 | <unistd.h> | |
|
697 | <termios.h> | |
|
698 | <rtems.h> | |
|
699 | <rtems/fs.h> | |
|
700 | <rtems/chain.h> | |
|
701 | ||
|
702 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\stat.h | |
|
703 | <_ansi.h> | |
|
704 | <time.h> | |
|
705 | <sys/types.h> | |
|
706 | <cygwin/stat.h> | |
|
707 | ||
|
708 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\ioctl.h | |
|
709 | <sys/ttycom.h> | |
|
710 | <sys/ioccom.h> | |
|
711 | <sys/filio.h> | |
|
712 | <sys/sockio.h> | |
|
713 | ||
|
714 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\ttycom.h | |
|
715 | <sys/ioccom.h> | |
|
716 | ||
|
717 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\ioccom.h | |
|
718 | <sys/types.h> | |
|
719 | <rtems/bsd/sys/cdefs.h> | |
|
720 | ||
|
721 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bsd\sys\cdefs.h | |
|
722 | ||
|
723 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\filio.h | |
|
724 | <sys/ioccom.h> | |
|
725 | ||
|
726 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\sockio.h | |
|
727 | <sys/ioccom.h> | |
|
728 | ||
|
729 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\statvfs.h | |
|
730 | <sys/cdefs.h> | |
|
731 | <stdint.h> | |
|
732 | ||
|
733 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\cdefs.h | |
|
734 | ||
|
735 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\unistd.h | |
|
736 | <sys/unistd.h> | |
|
737 | ||
|
738 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\unistd.h | |
|
739 | <_ansi.h> | |
|
740 | <sys/types.h> | |
|
741 | <sys/_types.h> | |
|
742 | <stddef.h> | |
|
743 | <getopt.h> | |
|
744 | <sys/features.h> | |
|
745 | ||
|
746 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\getopt.h | |
|
747 | <_ansi.h> | |
|
748 | ||
|
749 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\termios.h | |
|
750 | <sys/termios.h> | |
|
751 | ||
|
752 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\sys\termios.h | |
|
753 | <sys/types.h> | |
|
754 | ||
|
755 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\fs.h | |
|
756 | ||
|
757 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\chain.h | |
|
758 | <rtems/system.h> | |
|
759 | <rtems/score/chain.h> | |
|
760 | <rtems/chain.inl> | |
|
761 | ||
|
762 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\chain.inl | |
|
763 | <rtems/score/chain.inl> | |
|
764 | ||
|
765 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\imfs.h | |
|
766 | <rtems.h> | |
|
767 | <rtems/chain.h> | |
|
768 | <sys/types.h> | |
|
769 | <limits.h> | |
|
770 | <rtems/libio.h> | |
|
771 | <rtems/pipe.h> | |
|
772 | ||
|
773 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\pipe.h | |
|
774 | <rtems/libio.h> | |
|
775 | ||
|
776 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\devfs.h | |
|
777 | <rtems/libio_.h> | |
|
778 | ||
|
779 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\libio_.h | |
|
780 | <rtems.h> | |
|
781 | <rtems/libio.h> | |
|
782 | <sys/types.h> | |
|
783 | <errno.h> | |
|
784 | <rtems/userenv.h> | |
|
785 | ||
|
786 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\errno.h | |
|
787 | <sys/errno.h> | |
|
788 | ||
|
789 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\errno.h | |
|
790 | <sys/reent.h> | |
|
791 | ||
|
792 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\userenv.h | |
|
793 | <rtems.h> | |
|
794 | <rtems/fs.h> | |
|
795 | <limits.h> | |
|
796 | ||
|
797 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\ftpfs.h | |
|
798 | <sys/time.h> | |
|
799 | <sys/ioctl.h> | |
|
800 | <rtems/libio.h> | |
|
801 | ||
|
802 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\tftp.h | |
|
803 | <rtems/libio.h> | |
|
804 | ||
|
805 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\librtemsnfs.h | |
|
806 | <config.h> | |
|
807 | <rtems.h> | |
|
808 | <rtems/libio.h> | |
|
809 | <rtems/libio_.h> | |
|
810 | <rtems/seterr.h> | |
|
811 | <string.h> | |
|
812 | <stdio.h> | |
|
813 | <stdlib.h> | |
|
814 | <assert.h> | |
|
815 | <sys/stat.h> | |
|
816 | <dirent.h> | |
|
817 | <netdb.h> | |
|
818 | <ctype.h> | |
|
819 | <netinet/in.h> | |
|
820 | <arpa/inet.h> | |
|
821 | "rpcio.h" | |
|
822 | ||
|
823 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\seterr.h | |
|
824 | ||
|
825 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\stdio.h | |
|
826 | "_ansi.h" | |
|
827 | <stddef.h> | |
|
828 | <stdarg.h> | |
|
829 | <sys/reent.h> | |
|
830 | <sys/types.h> | |
|
831 | <sys/stdio.h> | |
|
832 | ||
|
833 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\stdio.h | |
|
834 | <sys/lock.h> | |
|
835 | <sys/reent.h> | |
|
836 | ||
|
837 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\stdlib.h | |
|
838 | <machine/ieeefp.h> | |
|
839 | "_ansi.h" | |
|
840 | <stddef.h> | |
|
841 | <sys/reent.h> | |
|
842 | <machine/stdlib.h> | |
|
843 | <alloca.h> | |
|
844 | <cygwin/stdlib.h> | |
|
845 | ||
|
846 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\machine\stdlib.h | |
|
847 | ||
|
848 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\alloca.h | |
|
849 | "_ansi.h" | |
|
850 | <sys/reent.h> | |
|
851 | ||
|
852 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\dirent.h | |
|
853 | <sys/dirent.h> | |
|
854 | ||
|
855 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\dirent.h | |
|
856 | <sys/types.h> | |
|
857 | <limits.h> | |
|
858 | ||
|
859 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\netdb.h | |
|
860 | <rtems/bsd/sys/cdefs.h> | |
|
861 | <rtems/bsdnet/_types.h> | |
|
862 | ||
|
863 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bsdnet\_types.h | |
|
864 | <stdint.h> | |
|
865 | ||
|
866 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\ctype.h | |
|
867 | "_ansi.h" | |
|
868 | ||
|
869 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\netinet\in.h | |
|
870 | <rtems/bsdnet/_types.h> | |
|
871 | <rtems/endian.h> | |
|
872 | ||
|
873 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\endian.h | |
|
874 | <rtems.h> | |
|
875 | ||
|
876 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\arpa\inet.h | |
|
877 | <rtems/bsd/sys/cdefs.h> | |
|
878 | <rtems/bsdnet/_types.h> | |
|
879 | <rtems/endian.h> | |
|
880 | ||
|
881 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\dosfs.h | |
|
882 | <rtems.h> | |
|
883 | <rtems/libio.h> | |
|
884 | ||
|
885 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems-rfs.h | |
|
886 | <rtems.h> | |
|
887 | <rtems/fs.h> | |
|
888 | ||
|
889 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\malloc.h | |
|
890 | <rtems.h> | |
|
891 | <rtems/bspIo.h> | |
|
892 | <stdint.h> | |
|
893 | ||
|
894 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\timerdrv.h | |
|
895 | ||
|
896 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtc.h | |
|
897 | <rtems.h> | |
|
898 | ||
|
899 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\framebuffer.h | |
|
900 | ||
|
901 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\devnull.h | |
|
902 | ||
|
903 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\libchip\ide_ctrl.h | |
|
904 | ||
|
905 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\libchip\ata.h | |
|
906 | <rtems.h> | |
|
907 | <sys/ioctl.h> | |
|
908 | <rtems/blkdev.h> | |
|
909 | ||
|
910 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\blkdev.h | |
|
911 | <rtems.h> | |
|
912 | <rtems/diskdevs.h> | |
|
913 | <sys/ioctl.h> | |
|
914 | ||
|
915 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\diskdevs.h | |
|
916 | <rtems.h> | |
|
917 | <rtems/libio.h> | |
|
918 | <stdlib.h> | |
|
919 | ||
|
920 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\bdbuf.h | |
|
921 | <rtems.h> | |
|
922 | <rtems/libio.h> | |
|
923 | <rtems/chain.h> | |
|
924 | <rtems/blkdev.h> | |
|
925 | <rtems/diskdevs.h> | |
|
926 | ||
|
927 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\libcsupport.h | |
|
928 | <sys/types.h> | |
|
929 | <stdint.h> | |
|
930 | ||
|
931 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\mqueue.h | |
|
932 | <unistd.h> | |
|
933 | <sys/types.h> | |
|
934 | <rtems/system.h> | |
|
935 | <rtems/score/object.h> | |
|
936 | <time.h> | |
|
937 | ||
|
938 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\barrier.h | |
|
939 | <rtems/score/object.h> | |
|
940 | <rtems/score/corebarrier.h> | |
|
941 | <rtems/posix/barrier.inl> | |
|
942 | ||
|
943 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\barrier.inl | |
|
944 | <pthread.h> | |
|
945 | ||
|
946 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\pthread.h | |
|
947 | <unistd.h> | |
|
948 | <sys/types.h> | |
|
949 | <time.h> | |
|
950 | <sys/sched.h> | |
|
951 | ||
|
952 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\cond.h | |
|
953 | <rtems/score/object.h> | |
|
954 | <rtems/score/threadq.h> | |
|
955 | <rtems/posix/cond.inl> | |
|
956 | ||
|
957 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\cond.inl | |
|
958 | <pthread.h> | |
|
959 | ||
|
960 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mqueue.h | |
|
961 | <signal.h> | |
|
962 | <rtems/score/coremsg.h> | |
|
963 | <rtems/score/object.h> | |
|
964 | <rtems/posix/mqueue.inl> | |
|
965 | ||
|
966 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mqueue.inl | |
|
967 | ||
|
968 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mutex.h | |
|
969 | <rtems/score/coremutex.h> | |
|
970 | <pthread.h> | |
|
971 | <rtems/posix/mutex.inl> | |
|
972 | ||
|
973 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\mutex.inl | |
|
974 | ||
|
975 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\key.h | |
|
976 | <rtems/posix/key.inl> | |
|
977 | ||
|
978 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\key.inl | |
|
979 | ||
|
980 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\psignal.h | |
|
981 | <rtems/posix/pthread.h> | |
|
982 | <rtems/posix/sigset.h> | |
|
983 | ||
|
984 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\pthread.h | |
|
985 | <rtems/posix/config.h> | |
|
986 | <rtems/posix/threadsup.h> | |
|
987 | <rtems/posix/pthread.inl> | |
|
988 | ||
|
989 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\threadsup.h | |
|
990 | <sys/signal.h> | |
|
991 | <rtems/score/coresem.h> | |
|
992 | <rtems/score/tqdata.h> | |
|
993 | ||
|
994 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\pthread.inl | |
|
995 | ||
|
996 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\sigset.h | |
|
997 | <signal.h> | |
|
998 | ||
|
999 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\rwlock.h | |
|
1000 | <rtems/score/object.h> | |
|
1001 | <rtems/score/corerwlock.h> | |
|
1002 | <rtems/posix/rwlock.inl> | |
|
1003 | ||
|
1004 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corerwlock.h | |
|
1005 | <rtems/score/thread.h> | |
|
1006 | <rtems/score/threadq.h> | |
|
1007 | <rtems/score/priority.h> | |
|
1008 | <rtems/score/watchdog.h> | |
|
1009 | <rtems/score/corerwlock.inl> | |
|
1010 | ||
|
1011 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corerwlock.inl | |
|
1012 | <rtems/score/thread.h> | |
|
1013 | <rtems/score/threadq.h> | |
|
1014 | ||
|
1015 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\rwlock.inl | |
|
1016 | <pthread.h> | |
|
1017 | ||
|
1018 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\semaphore.h | |
|
1019 | <semaphore.h> | |
|
1020 | <rtems/score/coresem.h> | |
|
1021 | <rtems/posix/semaphore.inl> | |
|
1022 | ||
|
1023 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\semaphore.h | |
|
1024 | <unistd.h> | |
|
1025 | <sys/time.h> | |
|
1026 | ||
|
1027 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\semaphore.inl | |
|
1028 | ||
|
1029 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\spinlock.h | |
|
1030 | <rtems/score/object.h> | |
|
1031 | <rtems/score/corespinlock.h> | |
|
1032 | <rtems/posix/spinlock.inl> | |
|
1033 | ||
|
1034 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corespinlock.h | |
|
1035 | <rtems/score/thread.h> | |
|
1036 | <rtems/score/thread.h> | |
|
1037 | <rtems/score/priority.h> | |
|
1038 | <rtems/score/corespinlock.inl> | |
|
1039 | ||
|
1040 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\score\corespinlock.inl | |
|
1041 | ||
|
1042 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\spinlock.inl | |
|
1043 | <pthread.h> | |
|
1044 | ||
|
1045 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\timer.h | |
|
1046 | <rtems/posix/config.h> | |
|
1047 | <rtems/score/object.h> | |
|
1048 | <rtems/posix/timer.inl> | |
|
1049 | ||
|
1050 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\posix\timer.inl | |
|
1051 | ||
|
1052 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\reent.h | |
|
1053 | <sys/reent.h> | |
|
1054 | <sys/_types.h> | |
|
1055 | <machine/types.h> | |
|
1056 | <stddef.h> | |
|
1057 | ||
|
1058 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg.h | |
|
1059 | <pci.h> | |
|
1060 | <pci/cfg_auto.h> | |
|
1061 | <pci/cfg_static.h> | |
|
1062 | <pci/cfg_read.h> | |
|
1063 | <pci/cfg_peripheral.h> | |
|
1064 | ||
|
1065 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci.h | |
|
1066 | <pci/ids.h> | |
|
1067 | <pci/access.h> | |
|
1068 | ||
|
1069 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\ids.h | |
|
1070 | <pci/ids_extra.h> | |
|
1071 | ||
|
1072 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\ids_extra.h | |
|
1073 | ||
|
1074 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\access.h | |
|
1075 | <stdint.h> | |
|
1076 | <libcpu/byteorder.h> | |
|
1077 | <pci.h> | |
|
1078 | <bsp.h> | |
|
1079 | ||
|
1080 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\libcpu\byteorder.h | |
|
1081 | <rtems/system.h> | |
|
1082 | <rtems/score/cpu.h> | |
|
1083 | ||
|
1084 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_auto.h | |
|
1085 | ||
|
1086 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_static.h | |
|
1087 | ||
|
1088 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_read.h | |
|
1089 | ||
|
1090 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\pci\cfg_peripheral.h | |
|
1091 | ||
|
1092 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\ambapp_bus.h | |
|
1093 | <drvmgr/drvmgr.h> | |
|
1094 | <ambapp.h> | |
|
1095 | ||
|
1096 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\drvmgr.h | |
|
1097 | <rtems.h> | |
|
1098 | <drvmgr/drvmgr_list.h> | |
|
1099 | <stdint.h> | |
|
1100 | ||
|
1101 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\drvmgr_list.h | |
|
1102 | ||
|
1103 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\drvmgr_confdefs.h | |
|
1104 | "drvmgr.h" | |
|
1105 | ||
|
1106 | 1351151480 source:e:\missions\solo\dev_ple\src\rtems-spwtest-2boards.c | |
|
1107 | <bsp.h> | |
|
1108 | <rtems/confdefs.h> | |
|
1109 | <drvmgr/drvmgr_confdefs.h> | |
|
1110 | <rtems.h> | |
|
1111 | <errno.h> | |
|
1112 | <sys/types.h> | |
|
1113 | <sys/stat.h> | |
|
1114 | <fcntl.h> | |
|
1115 | <stdio.h> | |
|
1116 | <stdlib.h> | |
|
1117 | "config.c" | |
|
1118 | <grspw.h> | |
|
1119 | ||
|
1120 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\fcntl.h | |
|
1121 | <sys/fcntl.h> | |
|
1122 | ||
|
1123 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\fcntl.h | |
|
1124 | <sys/_default_fcntl.h> | |
|
1125 | ||
|
1126 | 1340118770 c:\opt\rtems-4.10-mingw\sparc-rtems\include\sys\_default_fcntl.h | |
|
1127 | <_ansi.h> | |
|
1128 | <sys/types.h> | |
|
1129 | <sys/stat.h> | |
|
1130 | <sys/time.h> | |
|
1131 | ||
|
1132 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\config.c | |
|
1133 | <network_interface_add.h> | |
|
1134 | "networkconfig.h" | |
|
1135 | "config_leon3_drvmgr.c" | |
|
1136 | "config_leon2_grlib_drvmgr.c" | |
|
1137 | "config_leon2_drvmgr.c" | |
|
1138 | "config_pci.c" | |
|
1139 | "config_gr_rasta_io.c" | |
|
1140 | "config_spw_bus.c" | |
|
1141 | <stdlib.h> | |
|
1142 | ||
|
1143 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\network_interface_add.h | |
|
1144 | <rtems/rtems_bsdnet.h> | |
|
1145 | ||
|
1146 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\rtems\rtems_bsdnet.h | |
|
1147 | <rtems.h> | |
|
1148 | ||
|
1149 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\networkconfig.h | |
|
1150 | <network_interface_add.h> | |
|
1151 | ||
|
1152 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\config_leon3_drvmgr.c | |
|
1153 | <drvmgr/ambapp_bus_grlib.h> | |
|
1154 | <drvmgr/ambapp_bus.h> | |
|
1155 | <ambapp_ids.h> | |
|
1156 | ||
|
1157 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\ambapp_bus_grlib.h | |
|
1158 | ||
|
1159 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\config_leon2_grlib_drvmgr.c | |
|
1160 | <drvmgr/leon2_amba_bus.h> | |
|
1161 | <drvmgr/ambapp_bus.h> | |
|
1162 | ||
|
1163 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\config_leon2_drvmgr.c | |
|
1164 | <drvmgr/leon2_amba_bus.h> | |
|
1165 | ||
|
1166 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\config_pci.c | |
|
1167 | <drvmgr/pci_bus.h> | |
|
1168 | ||
|
1169 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\pci_bus.h | |
|
1170 | <drvmgr/drvmgr.h> | |
|
1171 | <pci.h> | |
|
1172 | <pci/access.h> | |
|
1173 | ||
|
1174 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\config_gr_rasta_io.c | |
|
1175 | <gr_rasta_io.h> | |
|
1176 | <drvmgr/ambapp_bus.h> | |
|
1177 | ||
|
1178 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\gr_rasta_io.h | |
|
1179 | <drvmgr/drvmgr.h> | |
|
1180 | ||
|
1181 | 1340118752 c:\opt\rtems-4.10-mingw\src\samples\config_spw_bus.c | |
|
1182 | <drvmgr/drvmgr.h> | |
|
1183 | <drvmgr/spw_bus.h> | |
|
1184 | ||
|
1185 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\spw_bus.h | |
|
1186 | <drvmgr/drvmgr.h> | |
|
1187 | <drvmgr/spw_bus_ids.h> | |
|
1188 | ||
|
1189 | 1340118766 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\drvmgr\spw_bus_ids.h | |
|
1190 | ||
|
1191 | 1340118764 c:\opt\rtems-4.10-mingw\sparc-rtems\leon3\lib\include\grspw.h | |
|
1192 | <ambapp.h> | |
|
1193 |
@@ -0,0 +1,7 | |||
|
1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
|
2 | <CodeBlocks_layout_file> | |
|
3 | <ActiveTarget name="Debug" /> | |
|
4 | <File name="..\src\rtems-spwtest-2boards.c" open="1" top="0" tabpos="1"> | |
|
5 | <Cursor position="2987" topLine="136" /> | |
|
6 | </File> | |
|
7 | </CodeBlocks_layout_file> |
@@ -0,0 +1,1 | |||
|
1 | grmon -gresb -ip 129.104.27.250 -dna 0xfe -sna 32 -link 0 |
@@ -0,0 +1,1 | |||
|
1 | grmon -gresb -ip 129.104.27.118 -dna 0xfe -sna 32 -link 0 -u |
@@ -0,0 +1,53 | |||
|
1 | #include <drvmgr/ambapp_bus.h> | |
|
2 | ||
|
3 | // GRSPW0 resources | |
|
4 | struct drvmgr_key grlib_grspw_0n1_res[] = { | |
|
5 | {"txBdCnt", KEY_TYPE_INT, {(unsigned int)10}}, | |
|
6 | {"rxBdCnt", KEY_TYPE_INT, {(unsigned int)10}}, | |
|
7 | {"txDataSize", KEY_TYPE_INT, {(unsigned int)48+4}}, | |
|
8 | {"txHdrSize", KEY_TYPE_INT, {(unsigned int)10}}, | |
|
9 | {"rxPktSize", KEY_TYPE_INT, {(unsigned int)248+4}}, | |
|
10 | KEY_EMPTY | |
|
11 | }; | |
|
12 | ||
|
13 | #if 0 | |
|
14 | /* APBUART0 */ | |
|
15 | struct drvmgr_key grlib_drv_res_apbuart0[] = | |
|
16 | { | |
|
17 | {"mode", KEY_TYPE_INT, {(unsigned int)1}}, | |
|
18 | {"syscon", KEY_TYPE_INT, {(unsigned int)1}}, | |
|
19 | KEY_EMPTY | |
|
20 | }; | |
|
21 | /* APBUART1 */ | |
|
22 | struct drvmgr_key grlib_drv_res_apbuart1[] = | |
|
23 | { | |
|
24 | {"mode", KEY_TYPE_INT, {(unsigned int)1}}, | |
|
25 | {"syscon", KEY_TYPE_INT, {(unsigned int)0}}, | |
|
26 | KEY_EMPTY | |
|
27 | }; | |
|
28 | /* LEON3 System with driver configuration for 2 APBUARTs, the | |
|
29 | * the rest of the AMBA device drivers use their defaults. | |
|
30 | */ | |
|
31 | ||
|
32 | /* Override default debug UART assignment. | |
|
33 | * 0 = Default APBUART. APBUART[0], but on MP system CPU0=APBUART0, | |
|
34 | * CPU1=APBUART1... | |
|
35 | * 1 = APBUART[0] | |
|
36 | * 2 = APBUART[1] | |
|
37 | * 3 = APBUART[2] | |
|
38 | * ... | |
|
39 | */ | |
|
40 | //int debug_uart_index = 2; /* second UART -- APBUART[1] */ | |
|
41 | #endif | |
|
42 | ||
|
43 | // If RTEMS_DRVMGR_STARTUP is defined we override the "weak defaults" that is defined by the LEON3 BSP. | |
|
44 | ||
|
45 | struct drvmgr_bus_res grlib_drv_resources = { | |
|
46 | .next = NULL, | |
|
47 | .resource = { | |
|
48 | {DRIVER_AMBAPP_GAISLER_GRSPW_ID, 0, &grlib_grspw_0n1_res[0]}, | |
|
49 | // {DRIVER_AMBAPP_GAISLER_APBUART_ID, 0, &grlib_drv_res_apbuart0[0]}, | |
|
50 | // {DRIVER_AMBAPP_GAISLER_APBUART_ID, 1, &grlib_drv_res_apbuart1[0]}, | |
|
51 | RES_EMPTY /* Mark end of device resource array */ | |
|
52 | } | |
|
53 | }; |
@@ -0,0 +1,397 | |||
|
1 | #include <FSW-rtems-processing.h> | |
|
2 | #include<math.h> | |
|
3 | #include <stdio.h> | |
|
4 | #include <leon.h> | |
|
5 | ||
|
6 | float k14_re = 1; | |
|
7 | float k14_im = 1; | |
|
8 | float k14_bis_re = 1; | |
|
9 | float k14_bis_im = 1; | |
|
10 | float k14_tris_re = 1; | |
|
11 | float k14_tris_im = 1; | |
|
12 | float k15_re = 1; | |
|
13 | float k15_im = 1; | |
|
14 | float k15_bis_re = 1; | |
|
15 | float k15_bis_im = 1; | |
|
16 | float k24_re = 1; | |
|
17 | float k24_im = 1; | |
|
18 | float k24_bis_re = 1; | |
|
19 | float k24_bis_im = 1; | |
|
20 | float k24_tris_re = 1; | |
|
21 | float k24_tris_im = 1; | |
|
22 | float k25_re = 1; | |
|
23 | float k25_im = 1; | |
|
24 | float k25_bis_re = 1; | |
|
25 | float k25_bis_im = 1; | |
|
26 | float k34_re = 1; | |
|
27 | float k34_im = 1; | |
|
28 | float k44 = 1; | |
|
29 | float k55 = 1; | |
|
30 | float k45_re = 1; | |
|
31 | float k45_im = 1; | |
|
32 | float alpha_M = M_PI/4; | |
|
33 | ||
|
34 | volatile int spectral_matrix_f0_a[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
35 | volatile int spectral_matrix_f0_b[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
36 | volatile int spectral_matrix_f0_c[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
37 | volatile int spectral_matrix_f0_d[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
38 | volatile int spectral_matrix_f0_e[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
39 | volatile int spectral_matrix_f0_f[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
40 | volatile int spectral_matrix_f0_g[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
41 | volatile int spectral_matrix_f0_h[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
42 | float averaged_spectral_matrix_f0[TOTAL_SIZE_SPECTRAL_MATRIX]; | |
|
43 | float compressed_spectral_matrix_f0[TOTAL_SIZE_COMPRESSED_MATRIX_f0]; | |
|
44 | unsigned char LFR_BP1_F0[NB_BINS_COMPRESSED_MATRIX_f0*9]; | |
|
45 | ||
|
46 | extern rtems_id Task_id[]; /* array of task ids */ | |
|
47 | ||
|
48 | struct spectral_matrices_regs_str{ | |
|
49 | volatile int ctrl; | |
|
50 | volatile int address0; | |
|
51 | volatile int address1; | |
|
52 | }; | |
|
53 | struct spectral_matrices_regs_str *spectral_matrices_regs; | |
|
54 | ||
|
55 | // Interrupt Service Routine for spectral matrices processing | |
|
56 | rtems_isr spectral_matrices_isr( rtems_vector_number vector ) | |
|
57 | { | |
|
58 | if (rtems_event_send( Task_id[4], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL) | |
|
59 | printf("In spectral_matrices_isr *** Error sending event to BPPR\n"); | |
|
60 | } | |
|
61 | ||
|
62 | rtems_task spw_bppr_task(rtems_task_argument argument) | |
|
63 | { | |
|
64 | rtems_status_code status; | |
|
65 | rtems_event_set event_out; | |
|
66 | static int nb_average_f0 = 0; | |
|
67 | //static int nb_average_f1 = 0; | |
|
68 | //static int nb_average_f2 = 0; | |
|
69 | ||
|
70 | while(1) | |
|
71 | ||
|
72 | spectral_matrices_regs = (struct spectral_matrices_regs_str *) ADDRESS_APB_SPECTRAL_MATRICES; | |
|
73 | spectral_matrices_regs->address0 = (volatile int) spectral_matrix_f0_a; | |
|
74 | spectral_matrices_regs->address1 = (volatile int) spectral_matrix_f0_b; | |
|
75 | ||
|
76 | printf("In BPPR ***\n"); | |
|
77 | ||
|
78 | while(1){ // wait for an event to begin with the processing | |
|
79 | status = rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); | |
|
80 | if (status == RTEMS_SUCCESSFUL){ | |
|
81 | if ((spectral_matrices_regs->ctrl & 0x00000001)==1){ | |
|
82 | matrix_average(spectral_matrix_f0_a, averaged_spectral_matrix_f0); | |
|
83 | spectral_matrices_regs->ctrl = spectral_matrices_regs->ctrl & 0xfffffffe; | |
|
84 | //printf("f0_a\n"); | |
|
85 | nb_average_f0++; | |
|
86 | } | |
|
87 | if (((spectral_matrices_regs->ctrl>>1) & 0x00000001)==1){ | |
|
88 | matrix_average(spectral_matrix_f0_b, compressed_spectral_matrix_f0); | |
|
89 | spectral_matrices_regs->ctrl = spectral_matrices_regs->ctrl & 0xfffffffd; | |
|
90 | //printf("f0_b\n"); | |
|
91 | nb_average_f0++; | |
|
92 | } | |
|
93 | if (nb_average_f0 == NB_AVERAGE_NORMAL_f0){ | |
|
94 | matrix_compression(averaged_spectral_matrix_f0, 0, compressed_spectral_matrix_f0); | |
|
95 | //printf("f0 compressed\n"); | |
|
96 | nb_average_f0 = 0; | |
|
97 | matrix_reset(averaged_spectral_matrix_f0); | |
|
98 | } | |
|
99 | } | |
|
100 | } | |
|
101 | } | |
|
102 | ||
|
103 | void matrix_average(volatile int *spectral_matrix, float *averaged_spectral_matrix) | |
|
104 | { | |
|
105 | int i; | |
|
106 | for(i=0; i<TOTAL_SIZE_SPECTRAL_MATRIX; i++){ | |
|
107 | averaged_spectral_matrix[i] = averaged_spectral_matrix[i] + spectral_matrix_f0_a[i] | |
|
108 | + spectral_matrix_f0_b[i] | |
|
109 | + spectral_matrix_f0_c[i] | |
|
110 | + spectral_matrix_f0_d[i] | |
|
111 | + spectral_matrix_f0_e[i] | |
|
112 | + spectral_matrix_f0_f[i] | |
|
113 | + spectral_matrix_f0_g[i] | |
|
114 | + spectral_matrix_f0_h[i]; | |
|
115 | } | |
|
116 | } | |
|
117 | ||
|
118 | void matrix_reset(float *averaged_spectral_matrix) | |
|
119 | { | |
|
120 | int i; | |
|
121 | for(i=0; i<TOTAL_SIZE_SPECTRAL_MATRIX; i++){ | |
|
122 | averaged_spectral_matrix_f0[i] = 0; | |
|
123 | } | |
|
124 | } | |
|
125 | ||
|
126 | void matrix_compression(float *averaged_spectral_matrix, unsigned char fChannel, float *compressed_spectral_matrix) | |
|
127 | { | |
|
128 | int i, j; | |
|
129 | switch (fChannel){ | |
|
130 | case 0: | |
|
131 | for(i=0;i<NB_BINS_COMPRESSED_MATRIX_f0;i++){ | |
|
132 | j = 17 + i * 8; | |
|
133 | compressed_spectral_matrix[i] = (averaged_spectral_matrix[j] | |
|
134 | + averaged_spectral_matrix[j+1] | |
|
135 | + averaged_spectral_matrix[j+2] | |
|
136 | + averaged_spectral_matrix[j+3] | |
|
137 | + averaged_spectral_matrix[j+4] | |
|
138 | + averaged_spectral_matrix[j+5] | |
|
139 | + averaged_spectral_matrix[j+6] | |
|
140 | + averaged_spectral_matrix[j+7])/(8*NB_AVERAGE_NORMAL_f0); | |
|
141 | } | |
|
142 | break; | |
|
143 | case 1: | |
|
144 | // case fChannel = f1 tp be completed later | |
|
145 | break; | |
|
146 | case 2: | |
|
147 | // case fChannel = f1 tp be completed later | |
|
148 | break; | |
|
149 | default: | |
|
150 | break; | |
|
151 | } | |
|
152 | } | |
|
153 | ||
|
154 | void BP1_set(float * compressed_spectral_matrix, unsigned char nb_bins_compressed_spectral_matrix, unsigned char * LFR_BP1){ | |
|
155 | int i, j; | |
|
156 | unsigned char tmp_u_char; | |
|
157 | unsigned char * pt_char; | |
|
158 | float PSDB, PSDE; | |
|
159 | float NVEC_V0, NVEC_V1, NVEC_V2; | |
|
160 | float significand; | |
|
161 | int exponent; | |
|
162 | float aux, tr_SB_SB, tmp; | |
|
163 | float e_cross_b_re, e_cross_b_im; | |
|
164 | float n_cross_e_scal_b_re = 0, n_cross_e_scal_b_im = 0; | |
|
165 | float nx = 0, ny = 0; | |
|
166 | float bz_bz_star = 0; | |
|
167 | for(i=0; i<nb_bins_compressed_spectral_matrix; i++){ | |
|
168 | //============================================== | |
|
169 | // BP1 PSD == B PAR_LFR_SC_BP1_PE_FL0 == 16 bits | |
|
170 | PSDB = compressed_spectral_matrix[i*30] // S11 | |
|
171 | + compressed_spectral_matrix[i*30+10] // S22 | |
|
172 | + compressed_spectral_matrix[i*30+18]; // S33 | |
|
173 | significand = frexp(PSDB, &exponent); | |
|
174 | pt_char = (unsigned char*) &PSDB; | |
|
175 | LFR_BP1[i*9+8] = pt_char[0]; // bits 31 downto 24 of the float | |
|
176 | LFR_BP1[i*9+7] = pt_char[1]; // bits 23 downto 16 of the float | |
|
177 | //============================================== | |
|
178 | // BP1 PSD == E PAR_LFR_SC_BP1_PB_FL0 == 16 bits | |
|
179 | PSDE = compressed_spectral_matrix[i*30+24] * k44 // S44 | |
|
180 | + compressed_spectral_matrix[i*30+28] * k55 // S55 | |
|
181 | + compressed_spectral_matrix[i*30+26] * k45_re // S45 | |
|
182 | - compressed_spectral_matrix[i*30+27] * k45_im; // S45 | |
|
183 | pt_char = (unsigned char*) &PSDE; | |
|
184 | LFR_BP1[i*9+6] = pt_char[0]; // bits 31 downto 24 of the float | |
|
185 | LFR_BP1[i*9+5] = pt_char[1]; // bits 23 downto 16 of the float | |
|
186 | //============================================================================== | |
|
187 | // BP1 normal wave vector == PAR_LFR_SC_BP1_NVEC_V0_F0 == 8 bits | |
|
188 | // == PAR_LFR_SC_BP1_NVEC_V1_F0 == 8 bits | |
|
189 | // == PAR_LFR_SC_BP1_NVEC_V2_F0 == 1 bits | |
|
190 | tmp = sqrt( | |
|
191 | compressed_spectral_matrix[i*30+3]*compressed_spectral_matrix[i*30+3] //Im S12 | |
|
192 | +compressed_spectral_matrix[i*30+5]*compressed_spectral_matrix[i*30+5] //Im S13 | |
|
193 | +compressed_spectral_matrix[i*30+5]*compressed_spectral_matrix[i*30+13] //Im S23 | |
|
194 | ); | |
|
195 | NVEC_V0 = compressed_spectral_matrix[i*30+13] / tmp; // Im S23 | |
|
196 | NVEC_V1 = -compressed_spectral_matrix[i*30+5] / tmp; // Im S13 | |
|
197 | NVEC_V2 = compressed_spectral_matrix[i*30+1] / tmp; // Im S12 | |
|
198 | LFR_BP1[i*9+4] = (char) (NVEC_V0*256); | |
|
199 | LFR_BP1[i*9+3] = (char) (NVEC_V1*256); | |
|
200 | pt_char = (unsigned char*) &NVEC_V2; | |
|
201 | LFR_BP1[i*9+2] = pt_char[0] & 0x80; // extract the sign of NVEC_V2 | |
|
202 | //======================================================= | |
|
203 | // BP1 ellipticity == PAR_LFR_SC_BP1_ELLIP_F0 == 4 bits | |
|
204 | aux = 2*tmp / PSDB; // compute the ellipticity | |
|
205 | tmp_u_char = (unsigned char) (aux*(16-1)); // convert the ellipticity | |
|
206 | LFR_BP1[i*9+2] = LFR_BP1[i*9+2] | ((tmp_u_char&0x0f)<<3); // keeps 4 bits of the resulting unsigned char | |
|
207 | //============================================================== | |
|
208 | // BP1 degree of polarization == PAR_LFR_SC_BP1_DOP_F0 == 3 bits | |
|
209 | for(j = 0; j<NB_VALUES_PER_SPECTRAL_MATRIX;j++){ | |
|
210 | tr_SB_SB = compressed_spectral_matrix[i*30]*compressed_spectral_matrix[i*30] | |
|
211 | + compressed_spectral_matrix[i*30+10]*compressed_spectral_matrix[i*30+10] | |
|
212 | + compressed_spectral_matrix[i*30+18]*compressed_spectral_matrix[i*30+18] | |
|
213 | + 2 * compressed_spectral_matrix[i*30+2]*compressed_spectral_matrix[i*30+2] | |
|
214 | + 2 * compressed_spectral_matrix[i*30+3]*compressed_spectral_matrix[i*30+3] | |
|
215 | + 2 * compressed_spectral_matrix[i*30+4]*compressed_spectral_matrix[i*30+4] | |
|
216 | + 2 * compressed_spectral_matrix[i*30+5]*compressed_spectral_matrix[i*30+5] | |
|
217 | + 2 * compressed_spectral_matrix[i*30+12]*compressed_spectral_matrix[i*30+12] | |
|
218 | + 2 * compressed_spectral_matrix[i*30+13]*compressed_spectral_matrix[i*30+13]; | |
|
219 | } | |
|
220 | aux = PSDB*PSDB; | |
|
221 | tmp = ( 3*tr_SB_SB - aux ) / ( 2 * aux ); | |
|
222 | tmp_u_char = (unsigned char) (NVEC_V0*(8-1)); | |
|
223 | LFR_BP1[i*9+2] = LFR_BP1[i*9+2] | ((tmp_u_char&0x07)); // keeps 3 bits of the resulting unsigned char | |
|
224 | //======================================================================================= | |
|
225 | // BP1 z-component of the normalized Poynting flux == PAR_LFR_SC_BP1_SZ_F0 == 8 bits (7+1) | |
|
226 | e_cross_b_re = compressed_spectral_matrix[i*30+20]*k34_re | |
|
227 | + compressed_spectral_matrix[i*30+6]*k14_re | |
|
228 | + compressed_spectral_matrix[i*30+8]*k15_re | |
|
229 | + compressed_spectral_matrix[i*30+14]*k24_re | |
|
230 | + compressed_spectral_matrix[i*30+16]*k25_re; | |
|
231 | e_cross_b_im = compressed_spectral_matrix[i*30+21]*k34_im | |
|
232 | + compressed_spectral_matrix[i*30+7]*k14_im | |
|
233 | + compressed_spectral_matrix[i*30+9]*k15_im | |
|
234 | + compressed_spectral_matrix[i*30+15]*k24_im | |
|
235 | + compressed_spectral_matrix[i*30+17]*k25_im; | |
|
236 | tmp = e_cross_b_re / PSDE; // compute ReaSz | |
|
237 | LFR_BP1[i*9+1] = ((unsigned char) (tmp * 128)) & 0x7f; // is it always positive? | |
|
238 | tmp = e_cross_b_re * e_cross_b_im; | |
|
239 | pt_char = (unsigned char*) &tmp; | |
|
240 | LFR_BP1[i*9+1] = LFR_BP1[i*9+1] | (pt_char[0] & 0x80); // extract the sign of ArgSz | |
|
241 | //====================================================================== | |
|
242 | // BP1 phase velocity estimator == PAR_LFR_SC_BP1_VPHI_F0 == 8 bits (7+1) | |
|
243 | nx = -sin(alpha_M)*NVEC_V0 - cos(alpha_M)*NVEC_V1; | |
|
244 | ny = NVEC_V2; | |
|
245 | bz_bz_star = cos(alpha_M) * cos(alpha_M) * compressed_spectral_matrix[i*30] // re S11 | |
|
246 | + sin(alpha_M) * sin(alpha_M) * compressed_spectral_matrix[i*30+10] // re S22 | |
|
247 | - 2 * sin(alpha_M) * cos(alpha_M) * compressed_spectral_matrix[i*30+2]; // re S12 | |
|
248 | n_cross_e_scal_b_re = nx * (compressed_spectral_matrix[i*30+8]*k15_bis_re | |
|
249 | +compressed_spectral_matrix[i*30+6]*k14_bis_re | |
|
250 | +compressed_spectral_matrix[i*30+16]*k25_bis_re | |
|
251 | +compressed_spectral_matrix[i*30+14]*k24_bis_re) | |
|
252 | + ny * (compressed_spectral_matrix[i*30+6]*k14_tris_re | |
|
253 | +compressed_spectral_matrix[i*30+14]*k24_tris_re); | |
|
254 | n_cross_e_scal_b_im = nx * (compressed_spectral_matrix[i*30+8]*k15_bis_im | |
|
255 | +compressed_spectral_matrix[i*30+6]*k14_bis_im | |
|
256 | +compressed_spectral_matrix[i*30+16]*k25_bis_im | |
|
257 | +compressed_spectral_matrix[i*30+14]*k24_bis_im) | |
|
258 | + ny * (compressed_spectral_matrix[i*30+6]*k14_tris_im | |
|
259 | +compressed_spectral_matrix[i*30+14]*k24_tris_im); | |
|
260 | tmp = n_cross_e_scal_b_re / bz_bz_star; | |
|
261 | LFR_BP1[i*9+0] = ((unsigned char) (tmp * 128)) & 0x7f; // is it always positive? | |
|
262 | tmp = n_cross_e_scal_b_re * n_cross_e_scal_b_im; | |
|
263 | pt_char = (unsigned char*) &tmp; | |
|
264 | LFR_BP1[i*9+1] = LFR_BP1[i*9+0] | (pt_char[0] & 0x80); // extract the sign of ArgV | |
|
265 | } | |
|
266 | ||
|
267 | } | |
|
268 | ||
|
269 | void BP2_set(float * compressed_spectral_matrix, unsigned char nb_bins_compressed_spectral_matrix){ | |
|
270 | // BP2 autocorrelation | |
|
271 | int i, aux = 0; | |
|
272 | for(i = 0; i<nb_bins_compressed_spectral_matrix; i++){ | |
|
273 | // S12 | |
|
274 | aux = sqrt(compressed_spectral_matrix[i*30]*compressed_spectral_matrix[i*30+10]); | |
|
275 | compressed_spectral_matrix[i*30+2] = compressed_spectral_matrix[i*30+2] / aux; | |
|
276 | compressed_spectral_matrix[i*30+3] = compressed_spectral_matrix[i*30+3] / aux; | |
|
277 | // S13 | |
|
278 | aux = sqrt(compressed_spectral_matrix[i*30]*compressed_spectral_matrix[i*30+18]); | |
|
279 | compressed_spectral_matrix[i*30+4] = compressed_spectral_matrix[i*30+4] / aux; | |
|
280 | compressed_spectral_matrix[i*30+5] = compressed_spectral_matrix[i*30+5] / aux; | |
|
281 | // S23 | |
|
282 | aux = sqrt(compressed_spectral_matrix[i*30+12]*compressed_spectral_matrix[i*30+18]); | |
|
283 | compressed_spectral_matrix[i*30+12] = compressed_spectral_matrix[i*30+12] / aux; | |
|
284 | compressed_spectral_matrix[i*30+13] = compressed_spectral_matrix[i*30+13] / aux; | |
|
285 | // S45 | |
|
286 | aux = sqrt(compressed_spectral_matrix[i*30+24]*compressed_spectral_matrix[i*30+28]); | |
|
287 | compressed_spectral_matrix[i*30+26] = compressed_spectral_matrix[i*30+26] / aux; | |
|
288 | compressed_spectral_matrix[i*30+27] = compressed_spectral_matrix[i*30+27] / aux; | |
|
289 | // S14 | |
|
290 | aux = sqrt(compressed_spectral_matrix[i*30]*compressed_spectral_matrix[i*30+24]); | |
|
291 | compressed_spectral_matrix[i*30+6] = compressed_spectral_matrix[i*30+6] / aux; | |
|
292 | compressed_spectral_matrix[i*30+7] = compressed_spectral_matrix[i*30+7] / aux; | |
|
293 | // S15 | |
|
294 | aux = sqrt(compressed_spectral_matrix[i*30]*compressed_spectral_matrix[i*30+28]); | |
|
295 | compressed_spectral_matrix[i*30+8] = compressed_spectral_matrix[i*30+8] / aux; | |
|
296 | compressed_spectral_matrix[i*30+9] = compressed_spectral_matrix[i*30+9] / aux; | |
|
297 | // S24 | |
|
298 | aux = sqrt(compressed_spectral_matrix[i*10]*compressed_spectral_matrix[i*30+24]); | |
|
299 | compressed_spectral_matrix[i*30+14] = compressed_spectral_matrix[i*30+14] / aux; | |
|
300 | compressed_spectral_matrix[i*30+15] = compressed_spectral_matrix[i*30+15] / aux; | |
|
301 | // S25 | |
|
302 | aux = sqrt(compressed_spectral_matrix[i*10]*compressed_spectral_matrix[i*30+28]); | |
|
303 | compressed_spectral_matrix[i*30+16] = compressed_spectral_matrix[i*30+16] / aux; | |
|
304 | compressed_spectral_matrix[i*30+17] = compressed_spectral_matrix[i*30+17] / aux; | |
|
305 | // S34 | |
|
306 | aux = sqrt(compressed_spectral_matrix[i*18]*compressed_spectral_matrix[i*30+24]); | |
|
307 | compressed_spectral_matrix[i*30+20] = compressed_spectral_matrix[i*30+20] / aux; | |
|
308 | compressed_spectral_matrix[i*30+21] = compressed_spectral_matrix[i*30+21] / aux; | |
|
309 | // S35 | |
|
310 | aux = sqrt(compressed_spectral_matrix[i*18]*compressed_spectral_matrix[i*30+28]); | |
|
311 | compressed_spectral_matrix[i*30+22] = compressed_spectral_matrix[i*30+22] / aux; | |
|
312 | compressed_spectral_matrix[i*30+23] = compressed_spectral_matrix[i*30+23] / aux; | |
|
313 | } | |
|
314 | } | |
|
315 | ||
|
316 | rtems_task spw_bppr_task_rate_monotonic(rtems_task_argument argument) | |
|
317 | { | |
|
318 | rtems_status_code status; | |
|
319 | //static int nb_average_f1 = 0; | |
|
320 | //static int nb_average_f2 = 0; | |
|
321 | ||
|
322 | rtems_name name; | |
|
323 | rtems_id period; | |
|
324 | name = rtems_build_name( 'P', 'E', 'R', 'D' ); | |
|
325 | status = rtems_rate_monotonic_create( name, &period ); | |
|
326 | if( status != RTEMS_SUCCESSFUL ) { | |
|
327 | printf( "rtems_rate_monotonic_create failed with status of %d\n", status ); | |
|
328 | //exit( 1 ); | |
|
329 | } | |
|
330 | ||
|
331 | spectral_matrices_regs = (struct spectral_matrices_regs_str *) ADDRESS_APB_SPECTRAL_MATRICES; | |
|
332 | spectral_matrices_regs->address0 = (volatile int) spectral_matrix_f0_a; | |
|
333 | spectral_matrices_regs->address1 = (volatile int) spectral_matrix_f0_b; | |
|
334 | ||
|
335 | printf("In BPPR BIS ***\n"); | |
|
336 | ||
|
337 | while(1){ // launch the rate monotonic task | |
|
338 | if ( rtems_rate_monotonic_period( period, 8 ) == RTEMS_TIMEOUT ){ | |
|
339 | printf("TIMEOUT\n"); | |
|
340 | //break; | |
|
341 | } | |
|
342 | status = rtems_event_send( Task_id[6], RTEMS_EVENT_0 ); // sending an event to the task 6, AVF0 | |
|
343 | if (status != RTEMS_SUCCESSFUL) printf("IN TASK BPPR BIS *** Error sending RTEMS_EVENT_0 to AVF0, code %d\n", status); | |
|
344 | } | |
|
345 | ||
|
346 | status = rtems_rate_monotonic_delete( period ); | |
|
347 | if ( status != RTEMS_SUCCESSFUL ) { | |
|
348 | printf( "rtems_rate_monotonic_delete failed with status of %d.\n", status ); | |
|
349 | //exit( 1 ); | |
|
350 | } | |
|
351 | status = rtems_task_delete( RTEMS_SELF ); /* should not return */ | |
|
352 | printf( "rtems_task_delete returned with status of %d.\n", status ); | |
|
353 | //exit( 1 ); | |
|
354 | } | |
|
355 | ||
|
356 | rtems_task spw_avf0_task(rtems_task_argument argument){ | |
|
357 | int i; | |
|
358 | static int nb_average; | |
|
359 | rtems_event_set event_out; | |
|
360 | rtems_status_code status; | |
|
361 | ||
|
362 | nb_average = 0; | |
|
363 | ||
|
364 | while(1){ | |
|
365 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 | |
|
366 | for(i=0; i<TOTAL_SIZE_SPECTRAL_MATRIX; i++){ | |
|
367 | averaged_spectral_matrix_f0[i] = averaged_spectral_matrix_f0[i] + spectral_matrix_f0_a[i] | |
|
368 | + spectral_matrix_f0_b[i] | |
|
369 | + spectral_matrix_f0_c[i] | |
|
370 | + spectral_matrix_f0_d[i] | |
|
371 | + spectral_matrix_f0_e[i] | |
|
372 | + spectral_matrix_f0_f[i] | |
|
373 | + spectral_matrix_f0_g[i] | |
|
374 | + spectral_matrix_f0_h[i]; | |
|
375 | } | |
|
376 | spectral_matrices_regs->ctrl = spectral_matrices_regs->ctrl & 0xfffffffe; // reset the appropriate bit in the register | |
|
377 | nb_average = nb_average + 8; | |
|
378 | if (nb_average == NB_AVERAGE_NORMAL_f0) { | |
|
379 | nb_average = 0; | |
|
380 | status = rtems_event_send( Task_id[7], RTEMS_EVENT_0 ); // sending an event to the task 7, BPF0 | |
|
381 | if (status != RTEMS_SUCCESSFUL) printf("IN TASK AVF0 *** Error sending RTEMS_EVENT_0, code %d\n", status); | |
|
382 | } | |
|
383 | } | |
|
384 | } | |
|
385 | ||
|
386 | rtems_task spw_bpf0_task(rtems_task_argument argument){ | |
|
387 | rtems_event_set event_out; | |
|
388 | ||
|
389 | while(1){ | |
|
390 | rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT0 | |
|
391 | matrix_compression(averaged_spectral_matrix_f0, 0, compressed_spectral_matrix_f0); | |
|
392 | BP1_set(compressed_spectral_matrix_f0, NB_BINS_COMPRESSED_MATRIX_f0, LFR_BP1_F0); | |
|
393 | printf("IN TASK BPF0 *** Matrix compressed, parameters calculated\n"); | |
|
394 | } | |
|
395 | } | |
|
396 | ||
|
397 |
@@ -0,0 +1,407 | |||
|
1 | //************************* | |
|
2 | // GPL reminder to be added | |
|
3 | //************************* | |
|
4 | ||
|
5 | #define PRINT_MESSAGES_ON_CONSOLE // enable or disable the printf instructions | |
|
6 | #ifdef PRINT_MESSAGES_ON_CONSOLE | |
|
7 | #define PRINTF(x) printf(x); | |
|
8 | #define PRINTF1(x,y) printf(x,y); | |
|
9 | #define PRINTF2(x,y,z) printf(x,y,z); | |
|
10 | #else | |
|
11 | #define PRINTF(x) | |
|
12 | #define PRINTF1(x,y) | |
|
13 | #define PRINTF2(x,y,z) | |
|
14 | #endif | |
|
15 | ||
|
16 | #define CCSDS_TC_PKT_MAX_SIZE 500 // 248 | |
|
17 | #define CCSDS_TM_PKT_MAX_SIZE 4412 | |
|
18 | #define OFFSET_COARSE_TIME 4+10-1 // -1 => the receiver suppressed the target logical address | |
|
19 | #define OFFSET_FINE_TIME OFFSET_COARSE_TIME+4 | |
|
20 | #define TC_FIFO_SIZE 5 | |
|
21 | ||
|
22 | #define ADDRESS_APBUART_REGISTERS 0x80000100 | |
|
23 | #define ADDRESS_GRSPW_REGISTERS 0x80000500 | |
|
24 | #define APBUART_CTRL_REG_MASK_DB 0xfffff7ff | |
|
25 | ||
|
26 | #define GRSPW_DEVICE_NAME "/dev/grspw0" | |
|
27 | #define UART_DEVICE_NAME "/dev/console" | |
|
28 | ||
|
29 | #include <rtems.h> | |
|
30 | ||
|
31 | /* configuration information */ | |
|
32 | ||
|
33 | #define CONFIGURE_INIT | |
|
34 | #include <bsp.h> /* for device driver prototypes */ | |
|
35 | ||
|
36 | /* configuration information */ | |
|
37 | ||
|
38 | #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER | |
|
39 | #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER | |
|
40 | ||
|
41 | #define CONFIGURE_MAXIMUM_TASKS 10 | |
|
42 | #define CONFIGURE_RTEMS_INIT_TASKS_TABLE | |
|
43 | #define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE) | |
|
44 | #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32 | |
|
45 | #define CONFIGURE_INIT_TASK_PRIORITY 100 | |
|
46 | #define CONFIGURE_MAXIMUM_DRIVERS 16 | |
|
47 | #define CONFIGURE_MAXIMUM_PERIODS 1 | |
|
48 | ||
|
49 | #include <rtems/confdefs.h> | |
|
50 | ||
|
51 | /* If --drvmgr was enabled during the configuration of the RTEMS kernel */ | |
|
52 | #ifdef RTEMS_DRVMGR_STARTUP | |
|
53 | #ifdef LEON3 | |
|
54 | /* Add Timer and UART Driver */ | |
|
55 | #ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER | |
|
56 | #define CONFIGURE_DRIVER_AMBAPP_GAISLER_GPTIMER | |
|
57 | #endif | |
|
58 | #ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER | |
|
59 | #define CONFIGURE_DRIVER_AMBAPP_GAISLER_APBUART | |
|
60 | #endif | |
|
61 | #endif | |
|
62 | #define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW /* GRSPW Driver */ | |
|
63 | #include <drvmgr/drvmgr_confdefs.h> | |
|
64 | #endif | |
|
65 | ||
|
66 | #include <rtems.h> | |
|
67 | #include <errno.h> | |
|
68 | #include <fcntl.h> | |
|
69 | #include <stdio.h> | |
|
70 | #include <stdlib.h> | |
|
71 | ||
|
72 | #include <FSW-config.c> | |
|
73 | #include <grspw.h> | |
|
74 | #include <apbuart.h> | |
|
75 | #include <FSW-rtems-processing.h> | |
|
76 | ||
|
77 | rtems_task Init( rtems_task_argument argument); /* forward declaration needed */ | |
|
78 | rtems_task spw_recv_task(rtems_task_argument argument); | |
|
79 | rtems_task spw_tcck_task(rtems_task_argument argument); | |
|
80 | rtems_task spw_spiq_task(rtems_task_argument argument); | |
|
81 | rtems_task spw_stat_task(rtems_task_argument argument); | |
|
82 | int configure_spw_link(); | |
|
83 | extern int rtems_cpu_usage_report(); | |
|
84 | extern int rtems_cpu_usage_reset(); | |
|
85 | ||
|
86 | char *link_status(int status); | |
|
87 | void print_statistics(spw_stats *); | |
|
88 | extern int sched_yield(); | |
|
89 | extern int errno; | |
|
90 | ||
|
91 | char *lstates[6] = {"Error-reset", | |
|
92 | "Error-wait", | |
|
93 | "Ready", | |
|
94 | "Started", | |
|
95 | "Connecting", | |
|
96 | "Run" | |
|
97 | }; | |
|
98 | ||
|
99 | struct tc_fifo_str{ | |
|
100 | struct tc_fifo_str *next; | |
|
101 | unsigned char *tc_pkt; | |
|
102 | unsigned int tc_pktlength; | |
|
103 | unsigned char ready; | |
|
104 | }; | |
|
105 | struct tc_fifo_str tc_fifo[TC_FIFO_SIZE]; | |
|
106 | struct tc_fifo_str *tc_being_processed; | |
|
107 | struct tc_fifo_str *tc_pending_reception; | |
|
108 | ||
|
109 | struct apbuart_regs_str{ | |
|
110 | volatile unsigned int data; | |
|
111 | volatile unsigned int status; | |
|
112 | volatile unsigned int ctrl; | |
|
113 | volatile unsigned int scaler; | |
|
114 | volatile unsigned int fifoDebug; | |
|
115 | }; | |
|
116 | ||
|
117 | int fdSPW; | |
|
118 | int fdUART; | |
|
119 | ||
|
120 | rtems_id Task_id[10]; /* array of task ids */ | |
|
121 | rtems_name Task_name[10]; /* array of task names */ | |
|
122 | rtems_name sem_tc_fifo_name; | |
|
123 | rtems_id sem_tc_fifo_id; | |
|
124 | ||
|
125 | rtems_task Init( rtems_task_argument ignored ) { | |
|
126 | rtems_status_code status; | |
|
127 | struct apbuart_regs_str *apbuart_regs; | |
|
128 | int i; | |
|
129 | rtems_isr_entry old_isr_handler; | |
|
130 | ||
|
131 | Task_name[1] = rtems_build_name( 'R', 'E', 'C', 'V' ); | |
|
132 | Task_name[2] = rtems_build_name( 'T', 'C', 'C', 'K' ); | |
|
133 | Task_name[3] = rtems_build_name( 'S', 'P', 'I', 'Q' ); | |
|
134 | Task_name[4] = rtems_build_name( 'B', 'P', 'P', 'R' ); | |
|
135 | Task_name[5] = rtems_build_name( 'S', 'T', 'A', 'T' ); | |
|
136 | Task_name[6] = rtems_build_name( 'A', 'V', 'F', '0' ); | |
|
137 | Task_name[7] = rtems_build_name( 'B', 'P', 'F', '0' ); | |
|
138 | sem_tc_fifo_name = rtems_build_name( 'S', 'E', 'M', '0' ); | |
|
139 | ||
|
140 | // RECV | |
|
141 | status = rtems_task_create( | |
|
142 | Task_name[1], 200, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
143 | RTEMS_DEFAULT_MODES, | |
|
144 | RTEMS_DEFAULT_ATTRIBUTES, &Task_id[1] | |
|
145 | ); | |
|
146 | // TCCK | |
|
147 | status = rtems_task_create( | |
|
148 | Task_name[2], 200, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
149 | RTEMS_DEFAULT_MODES, | |
|
150 | RTEMS_DEFAULT_ATTRIBUTES, &Task_id[2] | |
|
151 | ); | |
|
152 | // SPIQ | |
|
153 | status = rtems_task_create( | |
|
154 | Task_name[3], 50, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
155 | RTEMS_DEFAULT_MODES, | |
|
156 | RTEMS_DEFAULT_ATTRIBUTES, &Task_id[3] | |
|
157 | ); | |
|
158 | // BPPR | |
|
159 | status = rtems_task_create( | |
|
160 | Task_name[4], 10, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
161 | RTEMS_DEFAULT_MODES | RTEMS_NO_PREEMPT, | |
|
162 | RTEMS_DEFAULT_ATTRIBUTES, &Task_id[4] | |
|
163 | ); | |
|
164 | // STAT | |
|
165 | status = rtems_task_create( | |
|
166 | Task_name[5], 200, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
167 | RTEMS_DEFAULT_MODES, | |
|
168 | RTEMS_DEFAULT_ATTRIBUTES, &Task_id[5] | |
|
169 | ); | |
|
170 | // AVF0 | |
|
171 | status = rtems_task_create( | |
|
172 | Task_name[6], 50, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
173 | RTEMS_DEFAULT_MODES | RTEMS_NO_PREEMPT, | |
|
174 | RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT, &Task_id[6] | |
|
175 | ); | |
|
176 | // BPF0 | |
|
177 | status = rtems_task_create( | |
|
178 | Task_name[7], 50, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
179 | RTEMS_DEFAULT_MODES, | |
|
180 | RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT, &Task_id[7] | |
|
181 | ); | |
|
182 | ||
|
183 | status = rtems_semaphore_create( | |
|
184 | sem_tc_fifo_name, | |
|
185 | 1, | |
|
186 | RTEMS_BINARY_SEMAPHORE, | |
|
187 | 1, | |
|
188 | &sem_tc_fifo_id | |
|
189 | ); | |
|
190 | ||
|
191 | //******************************************** | |
|
192 | // Send the console outputs on the serial port | |
|
193 | apbuart_regs = (struct apbuart_regs_str *) ADDRESS_APBUART_REGISTERS; | |
|
194 | apbuart_regs->ctrl = apbuart_regs->ctrl & APBUART_CTRL_REG_MASK_DB; | |
|
195 | PRINTF("\n\n\n\n\nIn INIT *** Now the console is on port COM1\n") | |
|
196 | // | |
|
197 | //******************************************** | |
|
198 | ||
|
199 | configure_spw_link(); | |
|
200 | ||
|
201 | for (i = 0; i<TC_FIFO_SIZE; i++){ | |
|
202 | if (i==TC_FIFO_SIZE-1) tc_fifo[i].next = &tc_fifo[0]; | |
|
203 | else tc_fifo[i].next = &tc_fifo[i+1]; | |
|
204 | tc_fifo[i].tc_pkt = (unsigned char *) malloc(CCSDS_TC_PKT_MAX_SIZE); | |
|
205 | tc_fifo[i].tc_pktlength = 0; | |
|
206 | tc_fifo[i].ready = 0; | |
|
207 | } | |
|
208 | ||
|
209 | status = rtems_interrupt_catch( spectral_matrices_isr, 0x1c, &old_isr_handler) ; // 0x1c comes from sparcv8.pdf p.76 | |
|
210 | if (status==RTEMS_SUCCESSFUL) PRINTF("In INIT *** rtems_interrupt_catch successfullly configured\n") | |
|
211 | ||
|
212 | LEON_Unmask_interrupt( IRQ_SPECTRAL_MATRICES ); | |
|
213 | ||
|
214 | ||
|
215 | status = rtems_task_start( Task_id[2], spw_tcck_task, 1 ); | |
|
216 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_TCCK\n") | |
|
217 | ||
|
218 | status = rtems_task_start( Task_id[3], spw_spiq_task, 1 ); | |
|
219 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_SPIQ\n") | |
|
220 | ||
|
221 | status = rtems_task_start( Task_id[1], spw_recv_task, 1 ); | |
|
222 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_RECV\n") | |
|
223 | ||
|
224 | status = rtems_task_start( Task_id[4], spw_bppr_task_rate_monotonic, 1 ); | |
|
225 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_BPPR\n") | |
|
226 | ||
|
227 | status = rtems_task_start( Task_id[5], spw_stat_task, 1 ); | |
|
228 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_STAT\n") | |
|
229 | ||
|
230 | status = rtems_task_start( Task_id[6], spw_avf0_task, 1 ); | |
|
231 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_AVF0\n") | |
|
232 | ||
|
233 | status = rtems_task_start( Task_id[7], spw_bpf0_task, 1 ); | |
|
234 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_BPF0\n") | |
|
235 | ||
|
236 | status = rtems_task_delete(RTEMS_SELF); | |
|
237 | } | |
|
238 | ||
|
239 | rtems_task spw_recv_task( rtems_task_argument unused ) { | |
|
240 | rtems_status_code status; | |
|
241 | int len = 0; | |
|
242 | unsigned int i; | |
|
243 | ||
|
244 | PRINTF("In RECV *** \n") | |
|
245 | ||
|
246 | status = rtems_semaphore_obtain( sem_tc_fifo_id, RTEMS_WAIT, RTEMS_NO_TIMEOUT ); | |
|
247 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error: rtems_semaphore_obtain\n") | |
|
248 | for (i = 0; i<TC_FIFO_SIZE; i++){ // initialize the tc fifo ring | |
|
249 | tc_fifo[i].tc_pktlength = 0; | |
|
250 | tc_fifo[i].ready = 0; | |
|
251 | } | |
|
252 | status = rtems_semaphore_release( sem_tc_fifo_id ); | |
|
253 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error: rtems_semaphore_release\n") | |
|
254 | ||
|
255 | tc_being_processed = tc_fifo; | |
|
256 | tc_pending_reception = tc_fifo; | |
|
257 | ||
|
258 | while(1){ | |
|
259 | if (tc_pending_reception->ready == 0){ | |
|
260 | PRINTF("In RECV *** Just before read\n") | |
|
261 | len = read(fdSPW, tc_pending_reception->tc_pkt, CCSDS_TC_PKT_MAX_SIZE); // the call to read is blocking | |
|
262 | PRINTF("In RECV *** Just after read\n") | |
|
263 | if (len == -1) { // error during the read call | |
|
264 | PRINTF("In RECV *** last read call returned -1\n") | |
|
265 | if (rtems_event_send( Task_id[3], SPW_LINKERR_EVENT ) != RTEMS_SUCCESSFUL) | |
|
266 | PRINTF("IN RECV *** Error: rtems_event_send SPW_LINKERR_EVENT\n") | |
|
267 | if (rtems_task_suspend(RTEMS_SELF) != RTEMS_SUCCESSFUL) | |
|
268 | PRINTF("In RECV *** Error: rtems_task_suspend(RTEMS_SELF)\n") | |
|
269 | } | |
|
270 | else { | |
|
271 | tc_pending_reception->tc_pktlength = len; | |
|
272 | tc_pending_reception->ready = 1; | |
|
273 | PRINTF1("In RECV *** Got Message of length %d\n",tc_pending_reception->tc_pktlength) | |
|
274 | status = rtems_event_send( Task_id[2], RTEMS_EVENT_0 ); // sending an event to the task TCCK | |
|
275 | if (status == RTEMS_INVALID_ID) PRINTF("IN TASK RECV *** invalid task id when sending RTEMS_EVENT_0\n") | |
|
276 | tc_pending_reception = tc_pending_reception->next; | |
|
277 | sched_yield(); | |
|
278 | } | |
|
279 | } | |
|
280 | else { | |
|
281 | status = rtems_event_send( Task_id[2], RTEMS_EVENT_0 ); // sending an event to the task TCCK | |
|
282 | if (status == RTEMS_INVALID_ID) PRINTF("IN TASK RECV *** invalid task id when sending RTEMS_EVENT_0\n") | |
|
283 | sched_yield(); // if not executed, the system blocks when the packets arrive faster than the processing | |
|
284 | // this call gives back the hand to the scheduler and allows TCCK to process the TC packets | |
|
285 | } | |
|
286 | } | |
|
287 | ||
|
288 | close(fdSPW); | |
|
289 | } | |
|
290 | ||
|
291 | rtems_task spw_tcck_task( rtems_task_argument unused ) { | |
|
292 | rtems_status_code status; | |
|
293 | rtems_event_set event_out; | |
|
294 | ||
|
295 | PRINTF("In TCCK ***\n") | |
|
296 | while(1){ | |
|
297 | status = rtems_event_receive(RTEMS_EVENT_0, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); | |
|
298 | if (status == RTEMS_SUCCESSFUL) | |
|
299 | { | |
|
300 | while(tc_being_processed->ready==1){ | |
|
301 | printf("In TCCK *** COARSE TIME 0x%x 0x%x 0x%x 0x%x FINE_TIME 0x%x 0x%x\n", | |
|
302 | tc_being_processed->tc_pkt[OFFSET_COARSE_TIME], | |
|
303 | tc_being_processed->tc_pkt[OFFSET_COARSE_TIME+1], | |
|
304 | tc_being_processed->tc_pkt[OFFSET_COARSE_TIME+2], | |
|
305 | tc_being_processed->tc_pkt[OFFSET_COARSE_TIME+3], | |
|
306 | tc_being_processed->tc_pkt[OFFSET_FINE_TIME], | |
|
307 | tc_being_processed->tc_pkt[OFFSET_FINE_TIME+1]); | |
|
308 | tc_being_processed->ready = 0; | |
|
309 | tc_being_processed = tc_being_processed->next; | |
|
310 | } | |
|
311 | } | |
|
312 | } | |
|
313 | } | |
|
314 | ||
|
315 | rtems_task spw_spiq_task(rtems_task_argument unused){ | |
|
316 | rtems_event_set event_out; | |
|
317 | struct grspw_regs_str *grspw_regs; | |
|
318 | grspw_regs = (struct grspw_regs_str *) ADDRESS_GRSPW_REGISTERS; | |
|
319 | ||
|
320 | while(1){ | |
|
321 | PRINTF("In SPIQ *** Waiting for SPW_LINKERR_EVENT\n") | |
|
322 | rtems_event_receive(SPW_LINKERR_EVENT, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an SPW_LINKERR_EVENT | |
|
323 | ||
|
324 | if (rtems_task_suspend(Task_id[1])!=RTEMS_SUCCESSFUL) // suspend RECV task | |
|
325 | PRINTF("In SPIQ *** Error suspending RECV Task\n") | |
|
326 | ||
|
327 | configure_spw_link(); | |
|
328 | ||
|
329 | if (rtems_task_restart(Task_id[1], 1)!=RTEMS_SUCCESSFUL) // restart RECV task | |
|
330 | PRINTF("In SPIQ *** Error resume RECV Task\n") | |
|
331 | } | |
|
332 | } | |
|
333 | ||
|
334 | char *link_status(int status){ | |
|
335 | return lstates[status]; | |
|
336 | } | |
|
337 | ||
|
338 | void print_statistics(spw_stats *stats) | |
|
339 | { | |
|
340 | //printf(" ******** STATISTICS ******** \n"); | |
|
341 | printf("Transmit link errors: %i\n", stats->tx_link_err); | |
|
342 | printf("Receiver RMAP header CRC errors: %i\n", stats->rx_rmap_header_crc_err); | |
|
343 | printf("Receiver RMAP data CRC errors: %i\n", stats->rx_rmap_data_crc_err); | |
|
344 | printf("Receiver EEP errors: %i\n", stats->rx_eep_err); | |
|
345 | printf("Receiver truncation errors: %i\n", stats->rx_truncated); | |
|
346 | printf("Parity errors: %i\n", stats->parity_err); | |
|
347 | printf("Escape errors: %i\n", stats->escape_err); | |
|
348 | printf("Credit errors: %i\n", stats->credit_err); | |
|
349 | printf("Disconnect errors: %i\n", stats->disconnect_err); | |
|
350 | printf("Write synchronization errors: %i\n", stats->write_sync_err); | |
|
351 | printf("Early EOP/EEP: %i\n", stats->early_ep); | |
|
352 | printf("Invalid Node Address: %i\n", stats->invalid_address); | |
|
353 | printf("Packets transmitted: %i\n", stats->packets_sent); | |
|
354 | printf("Packets received: %i\n", stats->packets_received); | |
|
355 | } | |
|
356 | ||
|
357 | int configure_spw_link() | |
|
358 | { | |
|
359 | rtems_status_code status; | |
|
360 | ||
|
361 | close(fdSPW); // close the device if it is already open | |
|
362 | fdSPW = open(GRSPW_DEVICE_NAME, O_RDWR); // open the device. the open call reset the hardware | |
|
363 | if (fdSPW<0) PRINTF("In configure_spw_link *** Error opening"GRSPW_DEVICE_NAME"\n") | |
|
364 | while(ioctl(fdSPW, SPACEWIRE_IOCTRL_START, 0) != RTEMS_SUCCESSFUL){ | |
|
365 | PRINTF("In configure_spw_link *** "GRSPW_DEVICE_NAME" not started, retry\n") | |
|
366 | close(fdSPW); // close the device | |
|
367 | fdSPW = open(GRSPW_DEVICE_NAME, O_RDWR); // open the device. the open call reset the hardware | |
|
368 | if (fdSPW<0) PRINTF("In configure_spw_link *** Error opening"GRSPW_DEVICE_NAME"\n") | |
|
369 | rtems_task_wake_after(100); | |
|
370 | } | |
|
371 | ||
|
372 | PRINTF("In configure_spw_link *** "GRSPW_DEVICE_NAME" opened and started successfully\n") | |
|
373 | ||
|
374 | // sets a few parameters of the link | |
|
375 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_RMAPEN, 1); // sets the RMAP enable bit | |
|
376 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_RMAPEN\n") | |
|
377 | ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_RXBLOCK, 1); // sets the blocking mode for reception | |
|
378 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_RXBLOCK\n") | |
|
379 | ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_EVENT_ID, Task_id[3]); // sets the task ID to which an event is sent when a | |
|
380 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_EVENT_ID\n") // link-error interrupt occurs | |
|
381 | ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_DISABLE_ERR, 1); // automatic link-disabling due to link-error interrupts | |
|
382 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_DISABLE_ERR\n") | |
|
383 | ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ, 1); // sets the link-error interrupt bit | |
|
384 | if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ\n") | |
|
385 | PRINTF("In configure_spw_link *** "GRSPW_DEVICE_NAME" configured successfully\n") | |
|
386 | ||
|
387 | return RTEMS_SUCCESSFUL; | |
|
388 | } | |
|
389 | ||
|
390 | rtems_task spw_stat_task(rtems_task_argument argument){ | |
|
391 | int i; | |
|
392 | i = 0; | |
|
393 | PRINTF("In STAT *** \n") | |
|
394 | while(1){ | |
|
395 | rtems_task_wake_after(1000); | |
|
396 | PRINTF1("%d\n", i) | |
|
397 | if (i == 2) { | |
|
398 | rtems_cpu_usage_report(); | |
|
399 | rtems_cpu_usage_reset(); | |
|
400 | i = 0; | |
|
401 | } | |
|
402 | else i++; | |
|
403 | } | |
|
404 | } | |
|
405 | ||
|
406 | ||
|
407 |
@@ -0,0 +1,189 | |||
|
1 | #include <..\header\LPP_spwAPI.h> | |
|
2 | #include <..\header\basic_parameters.h> | |
|
3 | #include <..\header\ccsds_types.h> | |
|
4 | #include <stdio.h> | |
|
5 | #include <stdlib.h> | |
|
6 | #include <asm-leon/timer.h> | |
|
7 | #include <asm-leon/irq.h> | |
|
8 | ||
|
9 | #define FINE_TIME_RESET time_manager_regs->ctrl = 0x00000001; | |
|
10 | ||
|
11 | volatile int didtick = 0; | |
|
12 | volatile int cnt = 0; | |
|
13 | volatile int dide = 0; | |
|
14 | ||
|
15 | struct timerevent e; /* this has to be a global variable, it is inserted in a linked list by addtimer() */ | |
|
16 | struct irqaction action_receive_CCSDS; /* this has to be a global variable as it will be inserted in a list */ | |
|
17 | void register_event(); | |
|
18 | ||
|
19 | int event(void *arg) | |
|
20 | { | |
|
21 | dide = 1; | |
|
22 | register_event(); | |
|
23 | return 0; | |
|
24 | } | |
|
25 | ||
|
26 | void register_event() | |
|
27 | { | |
|
28 | /* add an event 1s from now */ | |
|
29 | do_gettimeofday((struct timeval*) &e.expire); | |
|
30 | e.handler = event; | |
|
31 | e.expire.tv_sec = e.expire.tv_sec + 1; | |
|
32 | addtimer(&e); | |
|
33 | } | |
|
34 | ||
|
35 | int main() | |
|
36 | { | |
|
37 | volatile char *rx; | |
|
38 | char *tx; | |
|
39 | volatile char *rmaphdr; | |
|
40 | volatile char *rmap; | |
|
41 | volatile int *rxd; | |
|
42 | volatile int *txd; | |
|
43 | int size; | |
|
44 | int i; | |
|
45 | int j; | |
|
46 | unsigned char current_nb_average = 0; | |
|
47 | spwHeader_t spwHeader; | |
|
48 | ||
|
49 | grspwregs_t *grspw_regs; | |
|
50 | time_manager_regs_t *time_manager_regs; | |
|
51 | spectral_matrices_regs_t *spectral_matrices_regs; | |
|
52 | ||
|
53 | grspw_regs = (grspwregs_t*) GRSPW_APB_ADDR; // the grspw registers are at the address GRSPW_APB_ADDR | |
|
54 | time_manager_regs = (time_manager_regs_t*) LPP_TIME_MANAGER; // the time manager registers are at the address LPP_TIME_MANAGER | |
|
55 | spectral_matrices_regs = (spectral_matrices_regs_t*) LPP_SPECTRAL_MATRIX_CTRL; // the spectral matrices registers are at this address | |
|
56 | ||
|
57 | rx = (char*) malloc(64); | |
|
58 | tx = (char*) malloc(64); | |
|
59 | rmaphdr = (char*) malloc(32); | |
|
60 | rmap = (char*) malloc(64); | |
|
61 | rxd = (int*) almalloc(1024); // memory allocation for the receiver descriptors table | |
|
62 | // almalloc => 1024 bytes aligned address | |
|
63 | txd = (int*) almalloc(1024); // memory allocation for the transmitter descriptors table | |
|
64 | // almalloc => 1024 bytes aligned address | |
|
65 | ||
|
66 | // GRSPW initilization | |
|
67 | spw_reset(grspw_regs); // RESET THE SPACEWIRE LINK | |
|
68 | spw_init(NODEADDR, CLKDIV, DESTKEY, RXMAXLEN, grspw_regs); // INITIALIZE THE SPACEWIRE REGISTERS | |
|
69 | enable_timecode_reception(grspw_regs); // enable time-code reception | |
|
70 | ||
|
71 | while( grspw_link_state(grspw_regs) != SPW_LINK_STATE_RUN ) {} // wait for the link to be in run state | |
|
72 | ||
|
73 | // INITIALIZE THE TRANSMITTER RECEIVER DESCRIPTORS TABLES | |
|
74 | for(i=0; i<8; i++) { // initialize the receiver and transmitter descriptor tables | |
|
75 | rxd[i] = 0; | |
|
76 | txd[i] = 0; | |
|
77 | } | |
|
78 | grspw_regs->txdesc = (int) txd; | |
|
79 | grspw_regs->rxdesc = (int) rxd; | |
|
80 | ||
|
81 | for (j=0; j<64; j++){ // initialize the rx and tx data tables | |
|
82 | rx[j] = j; | |
|
83 | tx[j] = 10; | |
|
84 | } | |
|
85 | ||
|
86 | // INITIALIZE THE TRANSMISSION | |
|
87 | spwHeader.targetLogicalAddress = 0x21; // initialize the SpaceWire Header | |
|
88 | spwHeader.protocolIdentifier = 0x02; | |
|
89 | spwHeader.reserved = 0x00; | |
|
90 | spwHeader.userApplication = 0x00; | |
|
91 | set_txd(tx, 32, (char*) &spwHeader, HEADERLEN, txd); // initialize the transmitter descriptor 0 | |
|
92 | ||
|
93 | INIT_CCSDS_TELEMETRY_HEADER | |
|
94 | ||
|
95 | // INITIALIZE THE RECEPTION | |
|
96 | enable_receiver_descriptor(rx, rxd); // enable the reception of a SpaceWire packet | |
|
97 | ||
|
98 | // START SPW TRANSMISSION / RECEPTION | |
|
99 | grspw_regs->dmactrl = GRSPW_DMACTRL_NS | GRSPW_DMACTRL_RD | GRSPW_DMACTRL_RI | GRSPW_DMACTRL_RE | GRSPW_DMACTRL_TE; | |
|
100 | // NS = 1 wait for a descriptor to be activated | |
|
101 | // RD = 1 there are enabled descriptors | |
|
102 | // RI = 1 receive interrupts | |
|
103 | // RE = 1 receiver enabled | |
|
104 | // TE = 1 transmitter enabled | |
|
105 | ||
|
106 | // TIME FUNCTIONS | |
|
107 | leonbare_init_ticks(); // initialize the time abilities of the Leon3 | |
|
108 | register_event(); // create an event | |
|
109 | ||
|
110 | // SETS AN IRQ HANDLER UPON RECEPTION OF A SPACEWIRE PACKET | |
|
111 | spacewire_PARAMETERS.size = &size; // size of the receive packet | |
|
112 | spacewire_PARAMETERS.rx = rx; // location of the data | |
|
113 | spacewire_PARAMETERS.rxd = rxd; // associated descriptor | |
|
114 | spacewire_PARAMETERS.tx = tx; // location of the data | |
|
115 | spacewire_PARAMETERS.txd = txd; // associated descriptor | |
|
116 | spacewire_PARAMETERS.regs = grspw_regs; // grspw module registers | |
|
117 | action_receive_CCSDS.handler = (irqhandler) irqhandler_receive_CCSDS; // create the irq handler | |
|
118 | chained_catch_interrupt(GRSPW_IRQ, &action_receive_CCSDS); // associate the handler with the GRSPW_IRQ | |
|
119 | enable_irq(GRSPW_IRQ); // enable the interruption driven by the grspw module upon reception of a packet | |
|
120 | ||
|
121 | packet_type.time_packet = 0; | |
|
122 | packet_type.tc_packet = 0; | |
|
123 | ||
|
124 | //write spectral matrices location in the registers | |
|
125 | spectral_matrices_regs->address1 = (unsigned int) spectral_matrix_f0_a; | |
|
126 | spectral_matrices_regs->address2 = (unsigned int) spectral_matrix_f0_b; | |
|
127 | ||
|
128 | printf("let's work...\n"); | |
|
129 | ||
|
130 | while(1) { // infinite loop | |
|
131 | if (packet_type.time_packet == 1) { | |
|
132 | FINE_TIME_RESET | |
|
133 | time_manager_regs->next_coarse_time = (rx[10+4]<<24) + (rx[11+4]<<16) + (rx[12+4]<<8) + (rx[13+4]); | |
|
134 | send_fine_time(time_manager_regs->fine_time); | |
|
135 | enable_receiver_descriptor(spacewire_PARAMETERS.rx, spacewire_PARAMETERS.rxd); | |
|
136 | enable_receiver(spacewire_PARAMETERS.regs); | |
|
137 | packet_type.time_packet = 0; | |
|
138 | } | |
|
139 | if ((spectral_matrices_regs->ctrl & 1) == 1) { | |
|
140 | FINE_TIME_RESET | |
|
141 | for (i=0; i<TOTAL_SIZE_SPECTRAL_MATRIX; i++) { | |
|
142 | averaged_spectral_matrix_f0[i] = averaged_spectral_matrix_f0[i] + spectral_matrix_f0_a[i]; | |
|
143 | } | |
|
144 | send_fine_time(time_manager_regs->fine_time); | |
|
145 | spectral_matrices_regs->ctrl = spectral_matrices_regs->ctrl & 0xfffffffe; | |
|
146 | current_nb_average++; | |
|
147 | } | |
|
148 | if ( ( (spectral_matrices_regs->ctrl>>1) & 1) == 1) { | |
|
149 | FINE_TIME_RESET | |
|
150 | for (i=0; i<TOTAL_SIZE_SPECTRAL_MATRIX; i++) { | |
|
151 | averaged_spectral_matrix_f0[i] = averaged_spectral_matrix_f0[i] + spectral_matrix_f0_b[i]; | |
|
152 | } | |
|
153 | send_fine_time(time_manager_regs->fine_time); | |
|
154 | spectral_matrices_regs->ctrl = spectral_matrices_regs->ctrl & 0xfffffffd; | |
|
155 | current_nb_average++; | |
|
156 | } | |
|
157 | if ( current_nb_average == NB_AVERAGE_NORMAL_f0 ) { | |
|
158 | FINE_TIME_RESET | |
|
159 | for(i=0;i<NB_BINS_COMPRESSED_MATRIX_f0;i++){ | |
|
160 | j = 17 + i * 8; | |
|
161 | compressed_spectral_matrix_f0[i]= (averaged_spectral_matrix_f0[j] | |
|
162 | + averaged_spectral_matrix_f0[j+1] | |
|
163 | + averaged_spectral_matrix_f0[j+2] | |
|
164 | + averaged_spectral_matrix_f0[j+3] | |
|
165 | + averaged_spectral_matrix_f0[j+4] | |
|
166 | + averaged_spectral_matrix_f0[j+5] | |
|
167 | + averaged_spectral_matrix_f0[j+6] | |
|
168 | + averaged_spectral_matrix_f0[j+7])/(8*NB_AVERAGE_NORMAL_f0); | |
|
169 | } | |
|
170 | ||
|
171 | BP1_set(); // computation of the BP1 set and building of the corresponding telemetry product | |
|
172 | ||
|
173 | // sending of the BP1 set | |
|
174 | set_txd( LFR_BP1_F0, NB_BINS_COMPRESSED_MATRIX_f0*9, // initialize the transmitter descriptor 0 | |
|
175 | (char*) &ccsdsTelemetryHeader, CCSDS_TELEMETRY_HEADER_LENGTH, txd ); | |
|
176 | enable_transmitter_descriptor(CCSDS_TELEMETRY_HEADER_LENGTH, spacewire_PARAMETERS.txd); // enable the descriptor for transmission | |
|
177 | enable_transmitter(spacewire_PARAMETERS.regs); // enable the transmission | |
|
178 | ||
|
179 | for (i=0; i<TOTAL_SIZE_SPECTRAL_MATRIX; i++) { | |
|
180 | averaged_spectral_matrix_f0[i] = 0; | |
|
181 | } | |
|
182 | //send_fine_time(time_manager_regs->fine_time); | |
|
183 | current_nb_average = 0; | |
|
184 | } | |
|
185 | } | |
|
186 | ||
|
187 | return 0; | |
|
188 | } | |
|
189 |
@@ -0,0 +1,11 | |||
|
1 | #include <..\header\LPP_grspw.h> | |
|
2 | #include <stdio.h> | |
|
3 | ||
|
4 | #define REG_WRITE(addr, val) (*(volatile unsigned int *)(addr) = (unsigned int)(val)) | |
|
5 | #define REG_READ(addr) (*(volatile unsigned int *)(addr)) | |
|
6 | ||
|
7 | /* Return Current Link State */ | |
|
8 | unsigned int grspw_link_state(grspwregs_t *regs) | |
|
9 | { | |
|
10 | return ((regs->status & GRSPW_STAT_LS) >> GRSPW_STAT_LS_BIT); | |
|
11 | } |
@@ -0,0 +1,176 | |||
|
1 | #include <..\header\LPP_spwAPI.h> | |
|
2 | #include <stdlib.h> | |
|
3 | #include <stdio.h> | |
|
4 | ||
|
5 | volatile int *lreg = (int*) 0x80000200; // the IRQMP controller registers are at 0x80000200 | |
|
6 | ||
|
7 | inline int loadmemAPI(int addr) | |
|
8 | { | |
|
9 | int tmp; | |
|
10 | asm volatile (" lda [%1]1, %0 " // LDA => Load Word from Alternate space | |
|
11 | : "=r" (tmp) | |
|
12 | : "r" (addr) | |
|
13 | ); | |
|
14 | return tmp; | |
|
15 | } | |
|
16 | ||
|
17 | inline char loadb(int addr) | |
|
18 | { | |
|
19 | char tmp; | |
|
20 | asm volatile (" lduba [%1]1, %0 " | |
|
21 | : "=r" (tmp) | |
|
22 | : "r" (addr) | |
|
23 | ); | |
|
24 | return tmp; | |
|
25 | } | |
|
26 | ||
|
27 | char *almalloc(int sz) | |
|
28 | { | |
|
29 | char *tmp; | |
|
30 | tmp = (char*) malloc(2*sz); | |
|
31 | tmp = (char*) (((int)tmp+sz) & ~(sz-1)); | |
|
32 | return(tmp); | |
|
33 | } | |
|
34 | ||
|
35 | ////// | |
|
36 | // SPW | |
|
37 | ////// | |
|
38 | ||
|
39 | void spw_reset(grspwregs_t *regs) | |
|
40 | { | |
|
41 | regs->ctrl = GRSPW_CTRL_RS; // make complete reset of the spacewire node, self clearing | |
|
42 | } | |
|
43 | ||
|
44 | void spw_init(int nodeaddr, int clkdiv, int destkey, int rxmaxlen, grspwregs_t *regs) | |
|
45 | { | |
|
46 | regs->ctrl = GRSPW_CTRL_LS | GRSPW_CTRL_RE; // link start (LS) | |
|
47 | // RMAP enable (RE) | |
|
48 | regs->ctrl = GRSPW_CTRL_LS | GRSPW_CTRL_RE; | |
|
49 | regs->ctrl = GRSPW_CTRL_LS | GRSPW_CTRL_RE; | |
|
50 | regs->ctrl = GRSPW_CTRL_LS | GRSPW_CTRL_RE; | |
|
51 | regs->ctrl = GRSPW_CTRL_LS | GRSPW_CTRL_RE; | |
|
52 | regs->ctrl = GRSPW_CTRL_LS | GRSPW_CTRL_RE; | |
|
53 | regs->status = 0xffffffff; | |
|
54 | regs->nodeaddr = nodeaddr; | |
|
55 | regs->clkdiv = clkdiv; | |
|
56 | regs->destkey = destkey; | |
|
57 | regs->time = 0; | |
|
58 | regs->dmactrl = GRSPW_DMACTRL_RA | GRSPW_DMACTRL_TA | GRSPW_DMACTRL_PR | GRSPW_DMACTRL_PS | GRSPW_DMACTRL_AI; | |
|
59 | regs->rxmaxlen = rxmaxlen; | |
|
60 | regs->txdesc = 0; | |
|
61 | regs->rxdesc = 0; | |
|
62 | } | |
|
63 | ||
|
64 | void set_txd(char *dataAddress, unsigned int dataLength, char *headerAddress, unsigned int headerLength, volatile int *txd) | |
|
65 | { | |
|
66 | txd[4] = 0; | |
|
67 | txd[3] = (int) dataAddress; // data address | |
|
68 | txd[2] = dataLength; // data length | |
|
69 | txd[1] = (int) headerAddress; // header address | |
|
70 | txd[0] = (1 << 13) | (1 << 12) | headerLength; // bit 13 WR = 1 next descriptor read will be 1st one in the table (at the base address) | |
|
71 | // bit 12 EN = 1 enable transmitter descriptor | |
|
72 | // bit 0 to 7 stand for the header length | |
|
73 | } | |
|
74 | ||
|
75 | int spw_checkrx(int* size, volatile int *rxd, grspwregs_t *regs) | |
|
76 | { | |
|
77 | volatile int tmp = 0; | |
|
78 | tmp = regs->dmactrl; | |
|
79 | if ( ( (tmp >> 6) & 1 ) ) | |
|
80 | { // bit 6 PR packet received | |
|
81 | *size = loadmemAPI((int) &rxd[0]) & 0x00001fff; | |
|
82 | regs->dmactrl = regs->dmactrl | 1 << 6; // clear bit 6 PR (packet received) by writing a one | |
|
83 | return 1; | |
|
84 | } | |
|
85 | else return 0; | |
|
86 | } | |
|
87 | ||
|
88 | int spw_checktx(grspwregs_t *regs) | |
|
89 | { | |
|
90 | if ( ( (regs->dmactrl >> 5) & 1 )==1 ) | |
|
91 | { // bit 5 PS (packet sent), cleared when written with a one | |
|
92 | regs->dmactrl = regs->dmactrl | 1 << 5; // clear bit 5 PS (packet sent) by writing a one | |
|
93 | return 1; | |
|
94 | } | |
|
95 | else return 0; | |
|
96 | } | |
|
97 | ||
|
98 | void enable_transmitter_descriptor(unsigned int headerLength, volatile int *txd) | |
|
99 | { | |
|
100 | txd[0] = GRSPW_TXBD_WR | GRSPW_TXBD_EN; | |
|
101 | //WR = 1 next descriptor read will be 1st one in the table (at the base address) | |
|
102 | //EN = 1 enable transmitter descriptor | |
|
103 | } | |
|
104 | ||
|
105 | void enable_transmitter(grspwregs_t *regs) | |
|
106 | { | |
|
107 | regs->dmactrl = regs->dmactrl | GRSPW_DMACTRL_TE; | |
|
108 | } | |
|
109 | ||
|
110 | void enable_receiver_descriptor(volatile char *rx, volatile int *rxd) | |
|
111 | { | |
|
112 | rxd[1] = (int) rx; | |
|
113 | rxd[0] = GRSPW_RXBD_IE | GRSPW_RXBD_WR | GRSPW_RXBD_EN; | |
|
114 | // IE = 1 Interrupt enable | |
|
115 | // WR = 1 next descriptor will be the 1st one in the desc table (at the base address) | |
|
116 | // EN = 1 activate the descriptor | |
|
117 | } | |
|
118 | ||
|
119 | void enable_receiver(grspwregs_t *regs) | |
|
120 | { | |
|
121 | regs->dmactrl = regs->dmactrl | 1 << 11 | 1 << 2; | |
|
122 | } | |
|
123 | ||
|
124 | int enable_timecode_reception(grspwregs_t *regs) | |
|
125 | { | |
|
126 | regs->ctrl = regs->ctrl | GRSPW_CTRL_TR; | |
|
127 | return 1; | |
|
128 | } | |
|
129 | ||
|
130 | int check_time(grspwregs_t *grspw_regs) | |
|
131 | { | |
|
132 | int tmp = loadmemAPI((int)&(grspw_regs->status)) & 1; | |
|
133 | if (tmp) { | |
|
134 | grspw_regs->status = loadmemAPI((int)&(grspw_regs->status)) | 1; | |
|
135 | } | |
|
136 | return tmp; | |
|
137 | } | |
|
138 | ||
|
139 | ////////////// | |
|
140 | // GENERAL USE | |
|
141 | ////////////// | |
|
142 | void send_fine_time(unsigned int fine_time){ | |
|
143 | spacewire_PARAMETERS.tx[0] = (char) fine_time; // send the fine time value to LPPMON | |
|
144 | spacewire_PARAMETERS.tx[1] = (char) (fine_time>>8); | |
|
145 | spacewire_PARAMETERS.tx[2] = (char) (fine_time>>16); | |
|
146 | spacewire_PARAMETERS.tx[3] = (char) (fine_time>>24); | |
|
147 | enable_transmitter_descriptor(HEADERLEN, spacewire_PARAMETERS.txd); // enable the descriptor for transmission | |
|
148 | enable_transmitter(spacewire_PARAMETERS.regs); // enable the transmission | |
|
149 | } | |
|
150 | ||
|
151 | ////// | |
|
152 | // IRQ | |
|
153 | ////// | |
|
154 | ||
|
155 | int irqhandler_receive_CCSDS(int irq, void * args, struct leonbare_pt_regs * leon_regs) | |
|
156 | { | |
|
157 | if (spw_checkrx(spacewire_PARAMETERS.size, spacewire_PARAMETERS.rxd, spacewire_PARAMETERS.regs)==1) | |
|
158 | { | |
|
159 | packet_type.time_packet = 1; | |
|
160 | return 1; | |
|
161 | } | |
|
162 | return 0; | |
|
163 | } | |
|
164 | ||
|
165 | int enable_irq(int irq) | |
|
166 | { | |
|
167 | lreg[ICLEAR/4] = (1 << irq); // clear any pending irq | |
|
168 | lreg[IMASK/4] = lreg[IMASK/4] | (1 << irq); // unmask irq | |
|
169 | return 1; | |
|
170 | } | |
|
171 | ||
|
172 | int disable_irq(int irq) { lreg[IMASK/4] &= ~(1 << irq); return 1;} | |
|
173 | ||
|
174 | int force_irq(int irq) { lreg[IFORCE/4] = lreg[IFORCE/4] | (1 << irq); return 1;} | |
|
175 | ||
|
176 |
@@ -0,0 +1,74 | |||
|
1 | #include <..\header\TC_handler.h> | |
|
2 | ||
|
3 | char TM_checker(ccsdsTelecommandSourcePacketHeader_t * TMPacket) | |
|
4 | { | |
|
5 | unsigned char pid = 0; | |
|
6 | unsigned char category = 0; | |
|
7 | unsigned int length = 0; | |
|
8 | ||
|
9 | // APID check *** APID on 2 bytes | |
|
10 | pid = ((TMPacket->packetID[0] & 0x07)<<4) + ( (TMPacket->packetID[1]>>4) & 0x0f ); // PID = 11 *** 7 bits xxxxx210 7654xxxx | |
|
11 | category = (TMPacket->packetID[1] & 0x0f); // PACKET_CATEGORY = 12 *** 4 bits xxxxxxxx xxxx3210 | |
|
12 | if (pid!=CCSDS_PROCESS_ID) return CCSDS_ERR_PID; | |
|
13 | if (category!=CCSDS_PACKET_CATEGORY) return CCSDS_ERR_CAT; | |
|
14 | ||
|
15 | // packet length check | |
|
16 | length = TMPacket->packetLength[1] + TMPacket->packetLength[0] * 256; | |
|
17 | if (category<=CCSDS_TELECOMMAND_MAX_PACKET_LENGTH) return CCSDS_ERR_LENGTH; // check that the packet does not exceed the MAX size | |
|
18 | ||
|
19 | // service type, subtype and packet length check | |
|
20 | switch(TMPacket->dataFieldHeader[1]) { // service type, authorized values are 181 and 9 | |
|
21 | case 181: | |
|
22 | switch(TMPacket->dataFieldHeader[2]){ //subtype, autorized values are 3, 20, 21, 24, 27, 28, 30, 40, 50, 60, 61 | |
|
23 | case 3: | |
|
24 | if (length!=12) return CCSDS_ERR_LENGTH; | |
|
25 | break; | |
|
26 | case 20: | |
|
27 | if (length!=14) return CCSDS_ERR_LENGTH; | |
|
28 | break; | |
|
29 | case 21: | |
|
30 | if (length!=20) return CCSDS_ERR_LENGTH; | |
|
31 | break; | |
|
32 | case 24: | |
|
33 | if (length!=14) return CCSDS_ERR_LENGTH; | |
|
34 | break; | |
|
35 | case 27: | |
|
36 | if (length!=14) return CCSDS_ERR_LENGTH; | |
|
37 | break; | |
|
38 | case 28: | |
|
39 | if (length!=14) return CCSDS_ERR_LENGTH; | |
|
40 | break; | |
|
41 | case 30: | |
|
42 | if (length!=12) return CCSDS_ERR_LENGTH; | |
|
43 | break; | |
|
44 | case 40: | |
|
45 | if (length!=20) return CCSDS_ERR_LENGTH; | |
|
46 | break; | |
|
47 | case 50: | |
|
48 | if (length!=50) return CCSDS_ERR_LENGTH; | |
|
49 | break; | |
|
50 | case 60: | |
|
51 | if (length!=12) return CCSDS_ERR_LENGTH; | |
|
52 | break; | |
|
53 | case 61: | |
|
54 | if (length!=12) return CCSDS_ERR_LENGTH; | |
|
55 | break; | |
|
56 | default: | |
|
57 | return CCSDS_ERR_SUBTYPE; | |
|
58 | break; | |
|
59 | } | |
|
60 | case 9: | |
|
61 | if (TMPacket->dataFieldHeader[2]==129) return CCSDS_ERR_SUBTYPE; | |
|
62 | if (length!=18) return CCSDS_ERR_LENGTH; | |
|
63 | break; | |
|
64 | default: | |
|
65 | return CCSDS_ERR_TYPE; | |
|
66 | break; | |
|
67 | } | |
|
68 | ||
|
69 | // source ID check // Source ID not documented in the ICD | |
|
70 | ||
|
71 | // packet error control, CRC check | |
|
72 | ||
|
73 | return CCSDS_TM_VALID; | |
|
74 | } |
@@ -0,0 +1,194 | |||
|
1 | #include <..\header\basic_parameters.h> | |
|
2 | #include<math.h> | |
|
3 | ||
|
4 | float k14_re = 1; | |
|
5 | float k14_im = 1; | |
|
6 | float k14_bis_re = 1; | |
|
7 | float k14_bis_im = 1; | |
|
8 | float k14_tris_re = 1; | |
|
9 | float k14_tris_im = 1; | |
|
10 | float k15_re = 1; | |
|
11 | float k15_im = 1; | |
|
12 | float k15_bis_re = 1; | |
|
13 | float k15_bis_im = 1; | |
|
14 | float k24_re = 1; | |
|
15 | float k24_im = 1; | |
|
16 | float k24_bis_re = 1; | |
|
17 | float k24_bis_im = 1; | |
|
18 | float k24_tris_re = 1; | |
|
19 | float k24_tris_im = 1; | |
|
20 | float k25_re = 1; | |
|
21 | float k25_im = 1; | |
|
22 | float k25_bis_re = 1; | |
|
23 | float k25_bis_im = 1; | |
|
24 | float k34_re = 1; | |
|
25 | float k34_im = 1; | |
|
26 | float k44 = 1; | |
|
27 | float k55 = 1; | |
|
28 | float k45_re = 1; | |
|
29 | float k45_im = 1; | |
|
30 | float alpha_M = M_PI/4; | |
|
31 | ||
|
32 | void BP1_set(){ | |
|
33 | int i, j; | |
|
34 | unsigned char tmp_u_char; | |
|
35 | unsigned char * pt_char; | |
|
36 | float PSDB, PSDE; | |
|
37 | float NVEC_V0, NVEC_V1, NVEC_V2; | |
|
38 | float significand; | |
|
39 | int exponent; | |
|
40 | float aux, tr_SB_SB, tmp; | |
|
41 | float e_cross_b_re, e_cross_b_im; | |
|
42 | float n_cross_e_scal_b_re = 0, n_cross_e_scal_b_im = 0; | |
|
43 | float nx = 0, ny = 0; | |
|
44 | float bz_bz_star = 0; | |
|
45 | for(i=0; i<NB_BINS_COMPRESSED_MATRIX_f0; i++){ | |
|
46 | //============================================== | |
|
47 | // BP1 PSD == B PAR_LFR_SC_BP1_PE_FL0 == 16 bits | |
|
48 | PSDB = compressed_spectral_matrix_f0[i*30] // S11 | |
|
49 | + compressed_spectral_matrix_f0[i*30+10] // S22 | |
|
50 | + compressed_spectral_matrix_f0[i*30+18]; // S33 | |
|
51 | significand = frexp(PSDB, &exponent); | |
|
52 | pt_char = (unsigned char*) &PSDB; | |
|
53 | LFR_BP1_F0[i*9+8] = pt_char[0]; // bits 31 downto 24 of the float | |
|
54 | LFR_BP1_F0[i*9+7] = pt_char[1]; // bits 23 downto 16 of the float | |
|
55 | //============================================== | |
|
56 | // BP1 PSD == E PAR_LFR_SC_BP1_PB_FL0 == 16 bits | |
|
57 | PSDE = compressed_spectral_matrix_f0[i*30+24] * k44 // S44 | |
|
58 | + compressed_spectral_matrix_f0[i*30+28] * k55 // S55 | |
|
59 | + compressed_spectral_matrix_f0[i*30+26] * k45_re // S45 | |
|
60 | - compressed_spectral_matrix_f0[i*30+27] * k45_im; // S45 | |
|
61 | pt_char = (unsigned char*) &PSDE; | |
|
62 | LFR_BP1_F0[i*9+6] = pt_char[0]; // bits 31 downto 24 of the float | |
|
63 | LFR_BP1_F0[i*9+5] = pt_char[1]; // bits 23 downto 16 of the float | |
|
64 | //============================================================================== | |
|
65 | // BP1 normal wave vector == PAR_LFR_SC_BP1_NVEC_V0_F0 == 8 bits | |
|
66 | // == PAR_LFR_SC_BP1_NVEC_V1_F0 == 8 bits | |
|
67 | // == PAR_LFR_SC_BP1_NVEC_V2_F0 == 1 bits | |
|
68 | tmp = sqrt( | |
|
69 | compressed_spectral_matrix_f0[i*30+3]*compressed_spectral_matrix_f0[i*30+3] //Im S12 | |
|
70 | +compressed_spectral_matrix_f0[i*30+5]*compressed_spectral_matrix_f0[i*30+5] //Im S13 | |
|
71 | +compressed_spectral_matrix_f0[i*30+5]*compressed_spectral_matrix_f0[i*30+13] //Im S23 | |
|
72 | ); | |
|
73 | NVEC_V0 = compressed_spectral_matrix_f0[i*30+13] / tmp; // Im S23 | |
|
74 | NVEC_V1 = -compressed_spectral_matrix_f0[i*30+5] / tmp; // Im S13 | |
|
75 | NVEC_V2 = compressed_spectral_matrix_f0[i*30+1] / tmp; // Im S12 | |
|
76 | LFR_BP1_F0[i*9+4] = (char) (NVEC_V0*256); | |
|
77 | LFR_BP1_F0[i*9+3] = (char) (NVEC_V1*256); | |
|
78 | pt_char = (unsigned char*) &NVEC_V2; | |
|
79 | LFR_BP1_F0[i*9+2] = pt_char[0] & 0x80; // extract the sign of NVEC_V2 | |
|
80 | //======================================================= | |
|
81 | // BP1 ellipticity == PAR_LFR_SC_BP1_ELLIP_F0 == 4 bits | |
|
82 | aux = 2*tmp / PSDB; // compute the ellipticity | |
|
83 | tmp_u_char = (unsigned char) (aux*(16-1)); // convert the ellipticity | |
|
84 | LFR_BP1_F0[i*9+2] = LFR_BP1_F0[i*9+2] | ((tmp_u_char&0x0f)<<3); // keeps 4 bits of the resulting unsigned char | |
|
85 | //============================================================== | |
|
86 | // BP1 degree of polarization == PAR_LFR_SC_BP1_DOP_F0 == 3 bits | |
|
87 | for(j = 0; j<NB_VALUES_PER_SPECTRAL_MATRIX;j++){ | |
|
88 | tr_SB_SB = compressed_spectral_matrix_f0[i*30]*compressed_spectral_matrix_f0[i*30] | |
|
89 | + compressed_spectral_matrix_f0[i*30+10]*compressed_spectral_matrix_f0[i*30+10] | |
|
90 | + compressed_spectral_matrix_f0[i*30+18]*compressed_spectral_matrix_f0[i*30+18] | |
|
91 | + 2 * compressed_spectral_matrix_f0[i*30+2]*compressed_spectral_matrix_f0[i*30+2] | |
|
92 | + 2 * compressed_spectral_matrix_f0[i*30+3]*compressed_spectral_matrix_f0[i*30+3] | |
|
93 | + 2 * compressed_spectral_matrix_f0[i*30+4]*compressed_spectral_matrix_f0[i*30+4] | |
|
94 | + 2 * compressed_spectral_matrix_f0[i*30+5]*compressed_spectral_matrix_f0[i*30+5] | |
|
95 | + 2 * compressed_spectral_matrix_f0[i*30+12]*compressed_spectral_matrix_f0[i*30+12] | |
|
96 | + 2 * compressed_spectral_matrix_f0[i*30+13]*compressed_spectral_matrix_f0[i*30+13]; | |
|
97 | } | |
|
98 | aux = PSDB*PSDB; | |
|
99 | tmp = ( 3*tr_SB_SB - aux ) / ( 2 * aux ); | |
|
100 | tmp_u_char = (unsigned char) (NVEC_V0*(8-1)); | |
|
101 | LFR_BP1_F0[i*9+2] = LFR_BP1_F0[i*9+2] | ((tmp_u_char&0x07)); // keeps 3 bits of the resulting unsigned char | |
|
102 | //======================================================================================= | |
|
103 | // BP1 z-component of the normalized Poynting flux == PAR_LFR_SC_BP1_SZ_F0 == 8 bits (7+1) | |
|
104 | e_cross_b_re = compressed_spectral_matrix_f0[i*30+20]*k34_re | |
|
105 | + compressed_spectral_matrix_f0[i*30+6]*k14_re | |
|
106 | + compressed_spectral_matrix_f0[i*30+8]*k15_re | |
|
107 | + compressed_spectral_matrix_f0[i*30+14]*k24_re | |
|
108 | + compressed_spectral_matrix_f0[i*30+16]*k25_re; | |
|
109 | e_cross_b_im = compressed_spectral_matrix_f0[i*30+21]*k34_im | |
|
110 | + compressed_spectral_matrix_f0[i*30+7]*k14_im | |
|
111 | + compressed_spectral_matrix_f0[i*30+9]*k15_im | |
|
112 | + compressed_spectral_matrix_f0[i*30+15]*k24_im | |
|
113 | + compressed_spectral_matrix_f0[i*30+17]*k25_im; | |
|
114 | tmp = e_cross_b_re / PSDE; // compute ReaSz | |
|
115 | LFR_BP1_F0[i*9+1] = ((unsigned char) (tmp * 128)) & 0x7f; // is it always positive? | |
|
116 | tmp = e_cross_b_re * e_cross_b_im; | |
|
117 | pt_char = (unsigned char*) &tmp; | |
|
118 | LFR_BP1_F0[i*9+1] = LFR_BP1_F0[i*9+1] | (pt_char[0] & 0x80); // extract the sign of ArgSz | |
|
119 | //====================================================================== | |
|
120 | // BP1 phase velocity estimator == PAR_LFR_SC_BP1_VPHI_F0 == 8 bits (7+1) | |
|
121 | nx = -sin(alpha_M)*NVEC_V0 - cos(alpha_M)*NVEC_V1; | |
|
122 | ny = NVEC_V2; | |
|
123 | bz_bz_star = cos(alpha_M) * cos(alpha_M) * compressed_spectral_matrix_f0[i*30] // re S11 | |
|
124 | + sin(alpha_M) * sin(alpha_M) * compressed_spectral_matrix_f0[i*30+10] // re S22 | |
|
125 | - 2 * sin(alpha_M) * cos(alpha_M) * compressed_spectral_matrix_f0[i*30+2]; // re S12 | |
|
126 | n_cross_e_scal_b_re = nx * (compressed_spectral_matrix_f0[i*30+8]*k15_bis_re | |
|
127 | +compressed_spectral_matrix_f0[i*30+6]*k14_bis_re | |
|
128 | +compressed_spectral_matrix_f0[i*30+16]*k25_bis_re | |
|
129 | +compressed_spectral_matrix_f0[i*30+14]*k24_bis_re) | |
|
130 | + ny * (compressed_spectral_matrix_f0[i*30+6]*k14_tris_re | |
|
131 | +compressed_spectral_matrix_f0[i*30+14]*k24_tris_re); | |
|
132 | n_cross_e_scal_b_im = nx * (compressed_spectral_matrix_f0[i*30+8]*k15_bis_im | |
|
133 | +compressed_spectral_matrix_f0[i*30+6]*k14_bis_im | |
|
134 | +compressed_spectral_matrix_f0[i*30+16]*k25_bis_im | |
|
135 | +compressed_spectral_matrix_f0[i*30+14]*k24_bis_im) | |
|
136 | + ny * (compressed_spectral_matrix_f0[i*30+6]*k14_tris_im | |
|
137 | +compressed_spectral_matrix_f0[i*30+14]*k24_tris_im); | |
|
138 | tmp = n_cross_e_scal_b_re / bz_bz_star; | |
|
139 | LFR_BP1_F0[i*9+0] = ((unsigned char) (tmp * 128)) & 0x7f; // is it always positive? | |
|
140 | tmp = n_cross_e_scal_b_re * n_cross_e_scal_b_im; | |
|
141 | pt_char = (unsigned char*) &tmp; | |
|
142 | LFR_BP1_F0[i*9+1] = LFR_BP1_F0[i*9+0] | (pt_char[0] & 0x80); // extract the sign of ArgV | |
|
143 | } | |
|
144 | ||
|
145 | } | |
|
146 | ||
|
147 | void BP2_set(){ | |
|
148 | // BP2 autocorrelation | |
|
149 | int i, aux = 0; | |
|
150 | for(i = 0; i<NB_BINS_COMPRESSED_MATRIX_f0; i++){ | |
|
151 | // S12 | |
|
152 | aux = sqrt(compressed_spectral_matrix_f0[i*30]*compressed_spectral_matrix_f0[i*30+10]); | |
|
153 | compressed_spectral_matrix_f0[i*30+2] = compressed_spectral_matrix_f0[i*30+2] / aux; | |
|
154 | compressed_spectral_matrix_f0[i*30+3] = compressed_spectral_matrix_f0[i*30+3] / aux; | |
|
155 | // S13 | |
|
156 | aux = sqrt(compressed_spectral_matrix_f0[i*30]*compressed_spectral_matrix_f0[i*30+18]); | |
|
157 | compressed_spectral_matrix_f0[i*30+4] = compressed_spectral_matrix_f0[i*30+4] / aux; | |
|
158 | compressed_spectral_matrix_f0[i*30+5] = compressed_spectral_matrix_f0[i*30+5] / aux; | |
|
159 | // S23 | |
|
160 | aux = sqrt(compressed_spectral_matrix_f0[i*30+12]*compressed_spectral_matrix_f0[i*30+18]); | |
|
161 | compressed_spectral_matrix_f0[i*30+12] = compressed_spectral_matrix_f0[i*30+12] / aux; | |
|
162 | compressed_spectral_matrix_f0[i*30+13] = compressed_spectral_matrix_f0[i*30+13] / aux; | |
|
163 | // S45 | |
|
164 | aux = sqrt(compressed_spectral_matrix_f0[i*30+24]*compressed_spectral_matrix_f0[i*30+28]); | |
|
165 | compressed_spectral_matrix_f0[i*30+26] = compressed_spectral_matrix_f0[i*30+26] / aux; | |
|
166 | compressed_spectral_matrix_f0[i*30+27] = compressed_spectral_matrix_f0[i*30+27] / aux; | |
|
167 | // S14 | |
|
168 | aux = sqrt(compressed_spectral_matrix_f0[i*30]*compressed_spectral_matrix_f0[i*30+24]); | |
|
169 | compressed_spectral_matrix_f0[i*30+6] = compressed_spectral_matrix_f0[i*30+6] / aux; | |
|
170 | compressed_spectral_matrix_f0[i*30+7] = compressed_spectral_matrix_f0[i*30+7] / aux; | |
|
171 | // S15 | |
|
172 | aux = sqrt(compressed_spectral_matrix_f0[i*30]*compressed_spectral_matrix_f0[i*30+28]); | |
|
173 | compressed_spectral_matrix_f0[i*30+8] = compressed_spectral_matrix_f0[i*30+8] / aux; | |
|
174 | compressed_spectral_matrix_f0[i*30+9] = compressed_spectral_matrix_f0[i*30+9] / aux; | |
|
175 | // S24 | |
|
176 | aux = sqrt(compressed_spectral_matrix_f0[i*10]*compressed_spectral_matrix_f0[i*30+24]); | |
|
177 | compressed_spectral_matrix_f0[i*30+14] = compressed_spectral_matrix_f0[i*30+14] / aux; | |
|
178 | compressed_spectral_matrix_f0[i*30+15] = compressed_spectral_matrix_f0[i*30+15] / aux; | |
|
179 | // S25 | |
|
180 | aux = sqrt(compressed_spectral_matrix_f0[i*10]*compressed_spectral_matrix_f0[i*30+28]); | |
|
181 | compressed_spectral_matrix_f0[i*30+16] = compressed_spectral_matrix_f0[i*30+16] / aux; | |
|
182 | compressed_spectral_matrix_f0[i*30+17] = compressed_spectral_matrix_f0[i*30+17] / aux; | |
|
183 | // S34 | |
|
184 | aux = sqrt(compressed_spectral_matrix_f0[i*18]*compressed_spectral_matrix_f0[i*30+24]); | |
|
185 | compressed_spectral_matrix_f0[i*30+20] = compressed_spectral_matrix_f0[i*30+20] / aux; | |
|
186 | compressed_spectral_matrix_f0[i*30+21] = compressed_spectral_matrix_f0[i*30+21] / aux; | |
|
187 | // S35 | |
|
188 | aux = sqrt(compressed_spectral_matrix_f0[i*18]*compressed_spectral_matrix_f0[i*30+28]); | |
|
189 | compressed_spectral_matrix_f0[i*30+22] = compressed_spectral_matrix_f0[i*30+22] / aux; | |
|
190 | compressed_spectral_matrix_f0[i*30+23] = compressed_spectral_matrix_f0[i*30+23] / aux; | |
|
191 | } | |
|
192 | } | |
|
193 | ||
|
194 |
This diff has been collapsed as it changes many lines, (538 lines changed) Show them Hide them | |||
@@ -0,0 +1,538 | |||
|
1 | /* Simple SpaceWire interface test for 2 boards. | |
|
2 | * When using two boards define MULTI_BOARD and | |
|
3 | * one of TASK_RX or TASK_TX. | |
|
4 | * | |
|
5 | * The main SpaceWire example for oe board is rtems-spacewire. | |
|
6 | * | |
|
7 | * Gaisler Research 2007, | |
|
8 | * Daniel Hellstr�m | |
|
9 | * | |
|
10 | */ | |
|
11 | ||
|
12 | ////// | |
|
13 | // PLE | |
|
14 | #define PRINT_MESSAGES_ON_CONSOLE // enable or disable the printf instructions | |
|
15 | #ifdef PRINT_MESSAGES_ON_CONSOLE | |
|
16 | #define PRINTF(x) printf(x); | |
|
17 | #define PRINTF1(x,y) printf(x,y); | |
|
18 | #define PRINTF2(x,y,z) printf(x,y,z); | |
|
19 | #else | |
|
20 | #define PRINTF(x) | |
|
21 | #define PRINTF1(x,y) | |
|
22 | #define PRINTF2(x,y,z) | |
|
23 | #endif | |
|
24 | // | |
|
25 | ////// | |
|
26 | ||
|
27 | #define CONFIGURE_INIT | |
|
28 | #include <bsp.h> /* for device driver prototypes */ | |
|
29 | rtems_task Init( rtems_task_argument argument); /* forward declaration needed */ | |
|
30 | ||
|
31 | /* configuration information */ | |
|
32 | #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER | |
|
33 | #define CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER 1 | |
|
34 | #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER | |
|
35 | ||
|
36 | #define CONFIGURE_MAXIMUM_TASKS 8 | |
|
37 | #define CONFIGURE_RTEMS_INIT_TASKS_TABLE | |
|
38 | #define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE) | |
|
39 | #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32 | |
|
40 | #define CONFIGURE_INIT_TASK_PRIORITY 100 | |
|
41 | #define CONFIGURE_MAXIMUM_DRIVERS 16 | |
|
42 | ||
|
43 | /* #define CONFIGURE_INIT_TASK_INITIAL_MODES (RTEMS_PREEMPT | \ */ | |
|
44 | /* RTEMS_TIMESLICE | \ */ | |
|
45 | /* RTEMS_ASR | \ */ | |
|
46 | /* RTEMS_INTERRUPT_LEVEL(0)) */ | |
|
47 | ||
|
48 | //#define RTEMS_PCI_CONFIG_LIB | |
|
49 | //#define CONFIGURE_PCI_LIB PCI_LIB_AUTO | |
|
50 | ||
|
51 | #include <rtems/confdefs.h> | |
|
52 | ||
|
53 | /* Configure Driver manager */ | |
|
54 | #if defined(RTEMS_DRVMGR_STARTUP) && defined(LEON3) /* if --drvmgr was given to configure */ | |
|
55 | /* Add Timer and UART Driver for this example */ | |
|
56 | #ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER | |
|
57 | #define CONFIGURE_DRIVER_AMBAPP_GAISLER_GPTIMER | |
|
58 | #endif | |
|
59 | #ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER | |
|
60 | #define CONFIGURE_DRIVER_AMBAPP_GAISLER_APBUART | |
|
61 | #endif | |
|
62 | #endif | |
|
63 | //#define CONFIGURE_DRIVER_AMBAPP_GAISLER_PCIF /* PCI is for RASTA-IO and GR-701 GRSPW */ | |
|
64 | //#define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI /* PCI is for RASTA-IO and GR-701 GRSPW */ | |
|
65 | //#define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI2 /* PCI is for RASTA-IO and GR-701 GRSPW */ | |
|
66 | //#define CONFIGURE_DRIVER_PCI_GR_RASTA_IO /* GR-RASTA-IO has three GRSPW SpaceWire cores */ | |
|
67 | //#define CONFIGURE_DRIVER_PCI_GR_701 /* GR-701 has three GRSPW SpaceWire cores */ | |
|
68 | ||
|
69 | #ifdef LEON2 | |
|
70 | /* PCI support for AT697 */ | |
|
71 | #define CONFIGURE_DRIVER_LEON2_AT697PCI | |
|
72 | /* AMBA PnP Support for GRLIB-LEON2 */ | |
|
73 | #define CONFIGURE_DRIVER_LEON2_AMBAPP | |
|
74 | #endif | |
|
75 | ||
|
76 | #define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW /* GRSPW Driver */ | |
|
77 | ||
|
78 | #include <drvmgr/drvmgr_confdefs.h> | |
|
79 | ||
|
80 | #include <rtems.h> | |
|
81 | #include <errno.h> | |
|
82 | #include <sys/types.h> | |
|
83 | #include <sys/stat.h> | |
|
84 | #include <fcntl.h> | |
|
85 | #include <stdio.h> | |
|
86 | #include <stdlib.h> | |
|
87 | ||
|
88 | #undef ENABLE_NETWORK | |
|
89 | /* Include driver configurations and system initialization */ | |
|
90 | #include "config.c" | |
|
91 | ||
|
92 | #include <grspw.h> | |
|
93 | ||
|
94 | /* Select GRSPW core to be used in sample application. | |
|
95 | * - /dev/grspw0 (First ON-CHIP core) | |
|
96 | * - /dev/grspw1 (Second ON-CHIP core) | |
|
97 | * - /dev/rastaio0/grspw0 (The GRSPW core on first GR-RASTA-IO board) | |
|
98 | * - /dev/rastaio0/grspw1 (The second GRSPW core on first GR-RASTA-IO board) | |
|
99 | * - /dev/gr701_0/grspw0 (The first GRSPW core on first GR-701 board) | |
|
100 | * - /dev/gr701_1/grspw0 (The first GRSPW core on second GR-701 board) | |
|
101 | */ | |
|
102 | ||
|
103 | #define GRSPW_DEVICE_NAME1 "/dev/grspw1" | |
|
104 | #define GRSPW_DEVICE_NAME2 "/dev/grspw0" | |
|
105 | ||
|
106 | rtems_task task1(rtems_task_argument argument); | |
|
107 | rtems_task task2(rtems_task_argument argument); | |
|
108 | ||
|
109 | void print_config(spw_config *cnf); | |
|
110 | void print_statistics(spw_stats *stats); | |
|
111 | void check_init_config(spw_config *cnf); | |
|
112 | char *link_status(int status); | |
|
113 | extern int errno; | |
|
114 | ||
|
115 | char *lstates[6] = {"Error-reset", | |
|
116 | "Error-wait", | |
|
117 | "Ready", | |
|
118 | "Started", | |
|
119 | "Connecting", | |
|
120 | "Run" | |
|
121 | }; | |
|
122 | ||
|
123 | rtems_id Task_id[3]; /* array of task ids */ | |
|
124 | rtems_name Task_name[3]; /* array of task names */ | |
|
125 | ||
|
126 | /* ========================================================= | |
|
127 | initialisation */ | |
|
128 | rtems_task Init( | |
|
129 | rtems_task_argument ignored | |
|
130 | ) | |
|
131 | { | |
|
132 | FILE *f; int fd; | |
|
133 | rtems_status_code status; | |
|
134 | ||
|
135 | printf("******** Starting RTEMS Spacewire test 2 ********\n"); | |
|
136 | ||
|
137 | system_init(); | |
|
138 | ||
|
139 | Task_name[1] = rtems_build_name( 'S', 'E', 'N', 'D' ); | |
|
140 | Task_name[2] = rtems_build_name( 'R', 'E', 'C', 'V' ); | |
|
141 | ||
|
142 | status = rtems_task_create( | |
|
143 | Task_name[1], 1, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
144 | RTEMS_DEFAULT_MODES, | |
|
145 | RTEMS_DEFAULT_ATTRIBUTES, &Task_id[1] | |
|
146 | ); | |
|
147 | ||
|
148 | status = rtems_task_create( | |
|
149 | Task_name[2], 1, RTEMS_MINIMUM_STACK_SIZE * 2, | |
|
150 | RTEMS_DEFAULT_MODES, | |
|
151 | RTEMS_DEFAULT_ATTRIBUTES, &Task_id[2] | |
|
152 | ); | |
|
153 | ||
|
154 | #ifdef TASK_TX | |
|
155 | PRINTF("start TASK_TX\n") | |
|
156 | status = rtems_task_start(Task_id[1], task1, 1); | |
|
157 | #endif | |
|
158 | #define TASK_RX | |
|
159 | #ifdef TASK_RX | |
|
160 | PRINTF("start TASK_RX\n") | |
|
161 | status = rtems_task_start(Task_id[2], task2, 2); | |
|
162 | #endif | |
|
163 | ||
|
164 | status = rtems_task_delete(RTEMS_SELF); | |
|
165 | } | |
|
166 | ||
|
167 | unsigned int init1 = 0, init2 = 0; | |
|
168 | static char tx_pkt[4096]; | |
|
169 | static char tx_hpkt[256]; | |
|
170 | ||
|
171 | #define NODE_ADR_TX 1 | |
|
172 | #define NODE_ADR_RX 254 | |
|
173 | ||
|
174 | #ifdef TASK_TX | |
|
175 | /* ========================================================= | |
|
176 | sender task */ | |
|
177 | rtems_task task1( | |
|
178 | rtems_task_argument unused | |
|
179 | ) | |
|
180 | { | |
|
181 | rtems_status_code status; | |
|
182 | rtems_event_set out; | |
|
183 | int i; | |
|
184 | int j; | |
|
185 | int k; | |
|
186 | int fd; | |
|
187 | int lstatus; | |
|
188 | int stat; | |
|
189 | int ret; | |
|
190 | spw_ioctl_pkt_send *pkt = (spw_ioctl_pkt_send *)malloc(sizeof(spw_ioctl_pkt_send)); | |
|
191 | spw_stats *statistics = (spw_stats *)malloc(sizeof(spw_stats)); | |
|
192 | spw_config *config = (spw_config *)malloc(sizeof(spw_config)); | |
|
193 | spw_ioctl_packetsize *ps = (spw_ioctl_packetsize *)malloc(sizeof(spw_ioctl_packetsize)); | |
|
194 | ||
|
195 | PRINTF("**** Transmit test task started ****\n") | |
|
196 | printf("\n"); | |
|
197 | printf("Opening " GRSPW_DEVICE_NAME1 ": "); | |
|
198 | j=0; | |
|
199 | fd = open(GRSPW_DEVICE_NAME1, O_RDWR); | |
|
200 | if ( fd < 0 ){ | |
|
201 | printf("Failed to open " GRSPW_DEVICE_NAME1 " (%d)\n",errno); | |
|
202 | exit(0); | |
|
203 | } | |
|
204 | printf("opened successfully\n"); | |
|
205 | printf("**** Checking initial configuration for " GRSPW_DEVICE_NAME1 " ****\n"); | |
|
206 | printf("\n"); | |
|
207 | if (ioctl(fd, SPACEWIRE_IOCTRL_GET_CONFIG, config) == -1) { | |
|
208 | printf("ioctl failed: SPACEWIRE_IOCTRL_GET_CONFIG \n"); | |
|
209 | exit(0); | |
|
210 | } | |
|
211 | print_config(config); | |
|
212 | if (ioctl(fd, SPACEWIRE_IOCTRL_SET_NODEADDR, NODE_ADR_TX) == -1) { | |
|
213 | printf("ioctl failed: SPACEWIRE_IOCTRL_SET_NODEADDR \n"); | |
|
214 | exit(0); | |
|
215 | } | |
|
216 | if (ioctl(fd, SPACEWIRE_IOCTRL_GET_CONFIG, config) == -1) { | |
|
217 | printf("ioctl failed: SPACEWIRE_IOCTRL_GET_CONFIG\n"); | |
|
218 | exit(0); | |
|
219 | } | |
|
220 | if (ioctl(fd, SPACEWIRE_IOCTRL_SET_TXBLOCK, 1) == -1) { | |
|
221 | printf("ioctl failed: SPACEWIRE_IOCTRL_SET_TXBLOCK\n"); | |
|
222 | exit(0); | |
|
223 | } | |
|
224 | ||
|
225 | printf("Trying to bring link up\n"); | |
|
226 | while(1){ | |
|
227 | if (ioctl(fd, SPACEWIRE_IOCTRL_START, 0) == -1) { | |
|
228 | sched_yield(); /*printf("ioctl failed: SPACEWIRE_IOCTRL_START\n");*/ | |
|
229 | }else | |
|
230 | break; | |
|
231 | } | |
|
232 | printf("Link is up\n"); | |
|
233 | ||
|
234 | printf("Disabling transmitter and receiver\n"); | |
|
235 | if ( ioctl(fd, SPACEWIRE_IOCTRL_STOP, 0) == -1 ){ | |
|
236 | printf("ioctl failed: SPACEWIRE_IOCTRL_STOP (%d)\n",errno); | |
|
237 | exit(0); | |
|
238 | } | |
|
239 | ||
|
240 | printf("Trying to bring link up again\n"); | |
|
241 | while(1){ | |
|
242 | if (ioctl(fd, SPACEWIRE_IOCTRL_START, 0) == -1) { | |
|
243 | sched_yield(); /*printf("ioctl failed: SPACEWIRE_IOCTRL_START\n");*/ | |
|
244 | }else | |
|
245 | break; | |
|
246 | } | |
|
247 | printf("Link is up\n"); | |
|
248 | ||
|
249 | if (ioctl(fd, SPACEWIRE_IOCTRL_SET_CLKDIV, 0) == -1) { | |
|
250 | printf("ioctl failed: SPACEWIRE_IOCTRL_SET_CLKDIV\n"); | |
|
251 | exit(0); | |
|
252 | } | |
|
253 | ||
|
254 | print_config(config); | |
|
255 | if (ioctl(fd, SPACEWIRE_IOCTRL_GET_LINK_STATUS, &(lstatus)) == -1) { | |
|
256 | printf("ioctl failed: SPACEWIRE_IOCTRL_GET_LINK_STATUS\n"); | |
|
257 | exit(0); | |
|
258 | } | |
|
259 | printf("Spacewire link 1 is in %s state\n", link_status(lstatus)); | |
|
260 | /* printf("Set link error event id and link error irq\n"); */ | |
|
261 | /* printf("Task Id 2: %i \n", Task_id[1]); */ | |
|
262 | /* ioctl(fd, SPACEWIRE_IOCTRL_SET_EVENT_ID, Task_id[1]); */ | |
|
263 | /* ioctl(fd, SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ, 1); */ | |
|
264 | /* rtems_event_receive(RTEMS_ALL_EVENTS, RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &out); */ | |
|
265 | /* printf("Got event 1\n"); */ | |
|
266 | /* ioctl(fd, SPACEWIRE_IOCTRL_SET_DISABLE_ERR, 1); */ | |
|
267 | /* rtems_event_receive(RTEMS_ALL_EVENTS, RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &out); */ | |
|
268 | /* printf("Got event 2\n"); */ | |
|
269 | /* ioctl(fd, SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ, 0); */ | |
|
270 | /* ioctl(fd, SPACEWIRE_IOCTRL_LINKSTART, 1); */ | |
|
271 | /* printf("Link error test finished\n"); */ | |
|
272 | /*config print finished, allow task 2 to print its config*/ | |
|
273 | i=0; | |
|
274 | while(1){ | |
|
275 | printf("-------------- Sending Initiator ----------------\n"); | |
|
276 | tx_pkt[0] = NODE_ADR_RX; | |
|
277 | tx_pkt[1] = 'G'; | |
|
278 | tx_pkt[2] = 'A'; | |
|
279 | tx_pkt[3] = 'I'; | |
|
280 | tx_pkt[4] = 'S'; | |
|
281 | tx_pkt[5] = 'L'; | |
|
282 | tx_pkt[6] = 'E'; | |
|
283 | tx_pkt[7] = 'R'; | |
|
284 | tx_pkt[8] = ' '; | |
|
285 | tx_pkt[9] = 'S'; | |
|
286 | tx_pkt[10] = 'P'; | |
|
287 | tx_pkt[11] = 'W'; | |
|
288 | tx_pkt[12] = '0'+i; | |
|
289 | tx_pkt[13] = 0; | |
|
290 | ||
|
291 | /* Send packet */ | |
|
292 | if ( (ret=write(fd, tx_pkt, 14)) <= 0 ){ | |
|
293 | printf("Write failed, errno: %d, ret: %d\n",errno,ret); | |
|
294 | } | |
|
295 | ||
|
296 | /* Sleep 5s */ | |
|
297 | printf("Sleeping 1s\n"); | |
|
298 | sleep(1); | |
|
299 | i++; | |
|
300 | if ( i>9 ) | |
|
301 | i=0; | |
|
302 | } | |
|
303 | } | |
|
304 | ||
|
305 | #endif | |
|
306 | ||
|
307 | ||
|
308 | #ifdef TASK_RX | |
|
309 | /* ========================================================= | |
|
310 | receiver task */ | |
|
311 | ||
|
312 | rtems_task task2( | |
|
313 | rtems_task_argument unused | |
|
314 | ) | |
|
315 | { | |
|
316 | rtems_status_code status; | |
|
317 | spw_config *config; | |
|
318 | spw_stats *statistics = (spw_stats *)malloc(sizeof(spw_stats)); | |
|
319 | char *rx_pkt; | |
|
320 | char *cx_pkt; | |
|
321 | char *cx_hpkt; | |
|
322 | int fd; | |
|
323 | rtems_event_set event0, event1; | |
|
324 | int len; | |
|
325 | int i; | |
|
326 | int j; | |
|
327 | int k; | |
|
328 | int st; | |
|
329 | int lstatus; | |
|
330 | int rd; | |
|
331 | int tmp; | |
|
332 | ||
|
333 | rx_pkt = (char *)malloc(4096); | |
|
334 | cx_pkt = (char *)malloc(4096); | |
|
335 | cx_hpkt = (char *)malloc(256); | |
|
336 | config = (spw_config *)malloc(sizeof(spw_config)); | |
|
337 | spw_ioctl_packetsize *ps = (spw_ioctl_packetsize *)malloc(sizeof(spw_ioctl_packetsize)); | |
|
338 | ||
|
339 | PRINTF("**** Receive test task started ****\n") | |
|
340 | j = 0; | |
|
341 | errno =0 ; | |
|
342 | PRINTF("Try to open "GRSPW_DEVICE_NAME2"\n") | |
|
343 | // OPEN THE SPACEWIRE LINK | |
|
344 | fd = open(GRSPW_DEVICE_NAME2, O_RDWR); | |
|
345 | if (fd<0) exit(0); | |
|
346 | // SPACEWIRE_IOCTRL_SET_RMAPEN | |
|
347 | ioctl(fd, SPACEWIRE_IOCTRL_SET_RMAPEN, 1); | |
|
348 | if (errno == RTEMS_IO_ERROR) exit(0); | |
|
349 | // SPACEWIRE_IOCTRL_START | |
|
350 | while(1) { | |
|
351 | if (ioctl(fd, SPACEWIRE_IOCTRL_START, 0) == -1) { | |
|
352 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_START\n") | |
|
353 | sched_yield(); | |
|
354 | } | |
|
355 | else break; | |
|
356 | } | |
|
357 | PRINTF("Open "GRSPW_DEVICE_NAME2" successfully\n") | |
|
358 | ||
|
359 | /* Make driver use the default timings as given by HW when reset */ | |
|
360 | #if 0 | |
|
361 | /* make driver calculate timings from system clock */ | |
|
362 | if ( ioctl(fd,SPACEWIRE_IOCTRL_SET_COREFREQ,0) == -1 ){ | |
|
363 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_SET_COREFREQ, errno: %d\n",errno) | |
|
364 | exit(0); | |
|
365 | } | |
|
366 | ||
|
367 | /* make driver calculate timings from 40MHz spacewire clock */ | |
|
368 | if ( ioctl(fd,SPACEWIRE_IOCTRL_SET_COREFREQ,40000) == -1 ){ | |
|
369 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_SET_COREFREQ, errno: %d\n",errno) | |
|
370 | exit(0); | |
|
371 | } | |
|
372 | #endif | |
|
373 | if (ioctl(fd, SPACEWIRE_IOCTRL_GET_CONFIG, config) == -1) { | |
|
374 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_GET_CONFIG\n") | |
|
375 | exit(0); | |
|
376 | } | |
|
377 | PRINTF(" Checking initial configuration for Spacewire 2 ****\n") | |
|
378 | print_config(config); | |
|
379 | PRINTF("config checked\n") | |
|
380 | ||
|
381 | if (ioctl(fd, SPACEWIRE_IOCTRL_SET_NODEADDR, NODE_ADR_RX) == -1) { | |
|
382 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_SET_NODEADDR\n") | |
|
383 | exit(0); | |
|
384 | } | |
|
385 | PRINTF("SPACEWIRE_IOCTRL_SET_NODEADDR\n") | |
|
386 | ||
|
387 | if (ioctl(fd, SPACEWIRE_IOCTRL_SET_RXBLOCK, 1) == -1) { | |
|
388 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_SET_RXBLOCK\n"); | |
|
389 | exit(0); | |
|
390 | } | |
|
391 | PRINTF("SPACEWIRE_IOCTRL_SET_RXBLOCK\n") | |
|
392 | PRINTF("Trying to bring link up\n") | |
|
393 | PRINTF("Link is up, Changing speed\n") | |
|
394 | ||
|
395 | if (ioctl(fd, SPACEWIRE_IOCTRL_SET_CLKDIV, 0) == -1) { | |
|
396 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_SET_CLKDIV\n") | |
|
397 | exit(0); | |
|
398 | } | |
|
399 | ||
|
400 | if (ioctl(fd, SPACEWIRE_IOCTRL_GET_CONFIG, config) == -1) { | |
|
401 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_GET_CONFIG\n") | |
|
402 | exit(0); | |
|
403 | } | |
|
404 | print_config(config); | |
|
405 | ||
|
406 | if (ioctl(fd, SPACEWIRE_IOCTRL_GET_LINK_STATUS, &(lstatus)) == -1) { | |
|
407 | PRINTF("ioctl failed: SPACEWIRE_IOCTRL_GET_LINK_STATUS\n") | |
|
408 | exit(0); | |
|
409 | } | |
|
410 | PRINTF1("Spacewire link 2 is in %s state\n", link_status(lstatus)) | |
|
411 | ||
|
412 | while(1){ | |
|
413 | printf("-------------- Receiving Initiator ----------------\n"); | |
|
414 | tmp = 500; | |
|
415 | len = read(fd, rx_pkt, tmp); | |
|
416 | if ( len <= 0 ){ | |
|
417 | printf("Read Failed, errno: %d, ret: %d\n",errno,len); | |
|
418 | sleep(1); | |
|
419 | continue; | |
|
420 | } | |
|
421 | ||
|
422 | /* handle message */ | |
|
423 | printf("Got Message of length %d, to address %d\n",len,rx_pkt[0]); | |
|
424 | printf("Message data: [ 0x%x 0x%x ...] (%s)\n",rx_pkt[1],rx_pkt[2],&rx_pkt[0]); | |
|
425 | } | |
|
426 | close(fd); | |
|
427 | } | |
|
428 | ||
|
429 | #endif | |
|
430 | ||
|
431 | /* ========================================================= | |
|
432 | event task */ | |
|
433 | ||
|
434 | void print_config(spw_config *cnf) | |
|
435 | { | |
|
436 | printf("\n"); | |
|
437 | printf(" ******** CONFIG ******** \n"); | |
|
438 | printf("Node Address: %i\n", cnf->nodeaddr); | |
|
439 | printf("Destination Key: %i\n", cnf->destkey); | |
|
440 | printf("Clock Divider: %i\n", cnf->clkdiv); | |
|
441 | printf("Rx Maximum Packet: %i\n", cnf->rxmaxlen); | |
|
442 | printf("Timer: %i\n", cnf->timer); | |
|
443 | printf("Linkdisabled: %i\n", cnf->linkdisabled); | |
|
444 | printf("Linkstart: %i\n", cnf->linkstart); | |
|
445 | printf("Disconnect: %i\n", cnf->disconnect); | |
|
446 | printf("Promiscuous: %i\n", cnf->promiscuous); | |
|
447 | printf("RMAP Enable: %i\n", cnf->rmapen); | |
|
448 | printf("RMAP Buffer Disable: %i\n", cnf->rmapbufdis); | |
|
449 | printf("Check Rmap Error: %i\n", cnf->check_rmap_err); | |
|
450 | printf("Remove Protocol ID: %i\n", cnf->rm_prot_id); | |
|
451 | printf("Blocking Transmit: %i\n", cnf->tx_blocking); | |
|
452 | printf("Disable when Link Error: %i\n", cnf->disable_err); | |
|
453 | printf("Link Error IRQ Enabled: %i\n", cnf->link_err_irq); | |
|
454 | printf("Link Error Event Task ID: %i\n", cnf->event_id); | |
|
455 | printf("RMAP Available: %i\n", cnf->is_rmap); | |
|
456 | printf("RMAP CRC Available: %i\n", cnf->is_rmapcrc); | |
|
457 | printf("Unaligned Receive Buffer Support: %i\n", cnf->is_rxunaligned); | |
|
458 | printf("\n"); | |
|
459 | ||
|
460 | } | |
|
461 | ||
|
462 | void print_statistics(spw_stats *stats) | |
|
463 | { | |
|
464 | printf("\n"); | |
|
465 | printf(" ******** STATISTICS ******** \n"); | |
|
466 | printf("Transmit link errors: %i\n", stats->tx_link_err); | |
|
467 | printf("Receiver RMAP header CRC errors: %i\n", stats->rx_rmap_header_crc_err); | |
|
468 | printf("Receiver RMAP data CRC errors: %i\n", stats->rx_rmap_data_crc_err); | |
|
469 | printf("Receiver EEP errors: %i\n", stats->rx_eep_err); | |
|
470 | printf("Receiver truncation errors: %i\n", stats->rx_truncated); | |
|
471 | printf("Parity errors: %i\n", stats->parity_err); | |
|
472 | printf("Escape errors: %i\n", stats->escape_err); | |
|
473 | printf("Credit errors: %i\n", stats->credit_err); | |
|
474 | printf("Disconnect errors: %i\n", stats->disconnect_err); | |
|
475 | printf("Write synchronization errors: %i\n", stats->write_sync_err); | |
|
476 | printf("Early EOP/EEP: %i\n", stats->early_ep); | |
|
477 | printf("Invalid Node Address: %i\n", stats->invalid_address); | |
|
478 | printf("Packets transmitted: %i\n", stats->packets_sent); | |
|
479 | printf("Packets received: %i\n", stats->packets_received); | |
|
480 | } | |
|
481 | ||
|
482 | void check_init_config(spw_config *cnf) | |
|
483 | { | |
|
484 | if (cnf->nodeaddr != 254) { | |
|
485 | printf("Incorrect initial node address! Expected: %i Got: %i\n", 254, cnf->nodeaddr); | |
|
486 | exit(0); | |
|
487 | } | |
|
488 | if (cnf->destkey != 0) { | |
|
489 | printf("Incorrect initial destination key! Expected: %i Got: %i\n", 0, cnf->destkey); | |
|
490 | exit(0); | |
|
491 | } | |
|
492 | if (cnf->rxmaxlen != 1024) { | |
|
493 | printf("Incorrect initial Rx maximum packet length! Expected: %i Got: %i\n", 1024 , cnf->rxmaxlen); | |
|
494 | exit(0); | |
|
495 | } | |
|
496 | if (cnf->linkdisabled != 0) { | |
|
497 | printf("Incorrect initial linkdisabled value! Expected: %i Got: %i\n", 0, cnf->linkdisabled); | |
|
498 | exit(0); | |
|
499 | } | |
|
500 | if (cnf->linkstart != 1) { | |
|
501 | printf("Incorrect initial linkstart value! Expected: %i Got: %i\n", 1, cnf->linkstart); | |
|
502 | exit(0); | |
|
503 | } | |
|
504 | if (cnf->promiscuous != 0) { | |
|
505 | printf("Incorrect initial promiscuous mode value! Expected: %i Got: %i\n", 0, cnf->promiscuous); | |
|
506 | exit(0); | |
|
507 | } | |
|
508 | if (cnf->check_rmap_err != 0) { | |
|
509 | printf("Incorrect initial check rmap error value! Expected: %i Got: %i\n", 0, cnf->check_rmap_err); | |
|
510 | exit(0); | |
|
511 | } | |
|
512 | if (cnf->rm_prot_id != 0) { | |
|
513 | printf("Incorrect initial remove protocol id value! Expected: %i Got: %i\n", 0, cnf->rm_prot_id); | |
|
514 | exit(0); | |
|
515 | } | |
|
516 | if (cnf->tx_blocking != 0) { | |
|
517 | printf("Incorrect initial tx blocking! Expected: %i Got: %i\n", 0, cnf->tx_blocking); | |
|
518 | exit(0); | |
|
519 | } | |
|
520 | if (cnf->disable_err != 0) { | |
|
521 | printf("Incorrect initial disable when link error value! Expected: %i Got: %i\n", 0, cnf->disable_err); | |
|
522 | exit(0); | |
|
523 | } | |
|
524 | if (cnf->link_err_irq != 0) { | |
|
525 | printf("Incorrect initial link error enable value! Expected: %i Got: %i\n", 0, cnf->link_err_irq); | |
|
526 | exit(0); | |
|
527 | } | |
|
528 | if (cnf->event_id != 0) { | |
|
529 | printf("Incorrect initial event id! Expected: %i Got: %i\n", 0, cnf->event_id); | |
|
530 | exit(0); | |
|
531 | } | |
|
532 | } | |
|
533 | ||
|
534 | char *link_status(int status) | |
|
535 | { | |
|
536 | return lstates[status]; | |
|
537 | ||
|
538 | } |
General Comments 0
You need to be logged in to leave comments.
Login now