355 lines
14 KiB
Plaintext
355 lines
14 KiB
Plaintext
BFIN GAS /tmp/ccONdRC5.s page 1
|
||
|
||
|
||
1 # 1 "gcc/l502-bf_basiccrt.s"
|
||
1 #include <sys/platform.h>
|
||
1 ...
|
||
0
|
||
0
|
||
1 /*
|
||
2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved.
|
||
3 *
|
||
4 * Licensed under the Clear BSD license.
|
||
5 * Please see COPYING.LIBGLOSS for details.
|
||
6 */
|
||
7
|
||
8 #ifndef _PLATFORM_H
|
||
9 #define _PLATFORM_H
|
||
10 /* Generic Wrapper for platform specific header file.
|
||
11 */
|
||
12 #include <sys/_adi_platform.h>
|
||
1 /*
|
||
2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved.
|
||
3 *
|
||
4 * Licensed under the Clear BSD license.
|
||
5 * Please see COPYING.LIBGLOSS for details.
|
||
6 */
|
||
7
|
||
8 /*
|
||
9 ** Include appropriate header file for platform.
|
||
10 */
|
||
11
|
||
12 #ifndef __ADI_PLATFORM_H
|
||
13 #define __ADI_PLATFORM_H
|
||
14
|
||
15 #ifndef __ASSEMBLER__
|
||
16
|
||
17 #if defined (__ADSPBF531__)
|
||
18 #include <cdefBF531.h>
|
||
19 #elif defined (__ADSPBF532__)
|
||
20 #include <cdefBF532.h>
|
||
21 #elif defined (__ADSPBF533__)
|
||
22 #include <cdefBF533.h>
|
||
23 #elif defined (__ADSPBF534__)
|
||
24 #include <cdefBF534.h>
|
||
25 #elif defined (__ADSPBF535__)
|
||
26 #include <cdefBF535.h>
|
||
27 #elif defined (__ADSPBF536__)
|
||
28 #include <cdefBF536.h>
|
||
29 #elif defined (__ADSPBF537__)
|
||
30 #include <cdefBF537.h>
|
||
31 #elif defined (__ADSPBF538__)
|
||
32 #include <cdefBF538.h>
|
||
33 #elif defined (__ADSPBF539__)
|
||
34 #include <cdefBF539.h>
|
||
35 #elif defined (__ADSPBF561__)
|
||
36 #include <cdefBF561.h>
|
||
37 #elif defined (__AD6531__)
|
||
38 #include <cdefAD6531.h>
|
||
39 #elif defined (__AD6532__)
|
||
40 #include <cdefAD6532.h>
|
||
BFIN GAS /tmp/ccONdRC5.s page 2
|
||
|
||
|
||
41 #elif defined (__AD6723__)
|
||
42 #include <cdefAD6723.h>
|
||
43 #elif defined (__AD6900__)
|
||
44 #include <cdefAD6900.h>
|
||
45 #elif defined (__AD6901__)
|
||
46 #include <cdefAD6901.h>
|
||
47 #elif defined (__AD6902__)
|
||
48 #include <cdefAD6902.h>
|
||
49 #elif defined (__AD6903__)
|
||
50 #include <cdefAD6903.h>
|
||
51 #elif defined (__AD6904__)
|
||
52 #include <cdefAD6904.h>
|
||
53 #elif defined (__AD6905__)
|
||
54 #include <cdefAD6905.h>
|
||
55 #elif defined (__MT6906__)
|
||
56 #include <cdefMT6906.h>
|
||
57 #elif defined (__ADSPBF504__)
|
||
58 #include <cdefBF504.h>
|
||
59 #elif defined (__ADSPBF504F__)
|
||
60 #include <cdefBF504F.h>
|
||
61 #elif defined (__ADSPBF506__) || defined (__ADSPBF506F__)
|
||
62 #include <cdefBF506F.h>
|
||
63 #elif defined (__ADSPBF512__)
|
||
64 #include <cdefBF512.h>
|
||
65 #elif defined (__ADSPBF514__)
|
||
66 #include <cdefBF514.h>
|
||
67 #elif defined (__ADSPBF516__)
|
||
68 #include <cdefBF516.h>
|
||
69 #elif defined (__ADSPBF518__)
|
||
70 #include <cdefBF518.h>
|
||
71 #elif defined (__ADSPBF522__)
|
||
72 #include <cdefBF522.h>
|
||
73 #elif defined (__ADSPBF523__)
|
||
74 #include <cdefBF523.h>
|
||
75 #elif defined (__ADSPBF524__)
|
||
76 #include <cdefBF524.h>
|
||
77 #elif defined (__ADSPBF525__)
|
||
78 #include <cdefBF525.h>
|
||
79 #elif defined (__ADSPBF526__)
|
||
80 #include <cdefBF526.h>
|
||
81 #elif defined (__ADSPBF527__)
|
||
82 #include <cdefBF527.h>
|
||
83 #elif defined (__ADSPBF542__)
|
||
84 #include <cdefBF542.h>
|
||
85 #elif defined (__ADSPBF542M__)
|
||
86 #include <cdefBF542M.h>
|
||
87 #elif defined (__ADSPBF544__)
|
||
88 #include <cdefBF544.h>
|
||
89 #elif defined (__ADSPBF544M__)
|
||
90 #include <cdefBF544M.h>
|
||
91 #elif defined (__ADSPBF547__)
|
||
92 #include <cdefBF547.h>
|
||
93 #elif defined (__ADSPBF547M__)
|
||
94 #include <cdefBF547M.h>
|
||
95 #elif defined (__ADSPBF548__)
|
||
96 #include <cdefBF548.h>
|
||
97 #elif defined (__ADSPBF548M__)
|
||
BFIN GAS /tmp/ccONdRC5.s page 3
|
||
|
||
|
||
98 #include <cdefBF548M.h>
|
||
99 #elif defined (__ADSPBF549__)
|
||
100 #include <cdefBF549.h>
|
||
101 #elif defined (__ADSPBF549M__)
|
||
102 #include <cdefBF549M.h>
|
||
103 #elif defined (__ADSPBF592A__)
|
||
104 #include <cdefBF592-A.h>
|
||
105 #elif defined (__ADSPBF606__)
|
||
106 #include <cdefBF606.h>
|
||
107 #elif defined (__ADSPBF607__)
|
||
108 #include <cdefBF607.h>
|
||
109 #elif defined (__ADSPBF608__)
|
||
110 #include <cdefBF608.h>
|
||
111 #elif defined (__ADSPBF609__)
|
||
112 #include <cdefBF609.h>
|
||
113 #else
|
||
114 #error Processor Type Not Supported
|
||
115 #endif
|
||
116
|
||
117
|
||
118 #else
|
||
119
|
||
120 #if defined (__ADSPBF531__)
|
||
121 #include <defBF531.h>
|
||
122 #elif defined (__ADSPBF532__)
|
||
123 #include <defBF532.h>
|
||
124 #elif defined (__ADSPBF533__)
|
||
125 #include <defBF533.h>
|
||
126 #elif defined (__ADSPBF534__)
|
||
127 #include <defBF534.h>
|
||
128 #elif defined (__ADSPBF535__)
|
||
129 #include <defBF535.h>
|
||
130 #elif defined (__ADSPBF536__)
|
||
131 #include <defBF536.h>
|
||
132 #elif defined (__ADSPBF537__)
|
||
133 #include <defBF537.h>
|
||
134 #elif defined (__ADSPBF538__)
|
||
135 #include <defBF538.h>
|
||
136 #elif defined (__ADSPBF539__)
|
||
137 #include <defBF539.h>
|
||
138 #elif defined (__ADSPBF561__)
|
||
139 #include <defBF561.h>
|
||
140 #elif defined (__AD6531__)
|
||
141 #include <defAD6531.h>
|
||
142 #elif defined (__AD6532__)
|
||
143 #include <defAD6532.h>
|
||
144 #elif defined (__AD6723__)
|
||
145 #include <defAD6723.h>
|
||
146 #elif defined (__AD6900__)
|
||
147 #include <defAD6900.h>
|
||
148 #elif defined (__AD6901__)
|
||
149 #include <defAD6901.h>
|
||
150 #elif defined (__AD6902__)
|
||
151 #include <defAD6902.h>
|
||
152 #elif defined (__AD6903__)
|
||
153 #include <defAD6903.h>
|
||
154 #elif defined (__AD6904__)
|
||
BFIN GAS /tmp/ccONdRC5.s page 4
|
||
|
||
|
||
155 #include <defAD6904.h>
|
||
156 #elif defined (__AD6905__)
|
||
157 #include <defAD6905.h>
|
||
158 #elif defined (__MT6906__)
|
||
159 #include <defMT6906.h>
|
||
160 #elif defined (__ADSPBF504__)
|
||
161 #include <defBF504.h>
|
||
162 #elif defined (__ADSPBF504F__)
|
||
163 #include <defBF504F.h>
|
||
164 #elif defined (__ADSPBF506__) || defined (__ADSPBF506F__)
|
||
165 #include <defBF506F.h>
|
||
166 #elif defined (__ADSPBF512__)
|
||
167 #include <defBF512.h>
|
||
168 #elif defined (__ADSPBF514__)
|
||
169 #include <defBF514.h>
|
||
170 #elif defined (__ADSPBF516__)
|
||
171 #include <defBF516.h>
|
||
172 #elif defined (__ADSPBF518__)
|
||
173 #include <defBF518.h>
|
||
174 #elif defined (__ADSPBF522__)
|
||
175 #include <defBF522.h>
|
||
176 #elif defined (__ADSPBF523__)
|
||
177 #include <defBF523.h>
|
||
1 /*
|
||
2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved.
|
||
3 *
|
||
4 * Licensed under the Clear BSD license.
|
||
5 * Please see COPYING.LIBGLOSS for details.
|
||
6 */
|
||
7
|
||
8 /*
|
||
9 ************************************************************************************
|
||
10 **
|
||
11 ** This include file contains a list of macro "defines" to enable the programmer
|
||
12 ** to use symbolic names for register-access and bit-manipulation.
|
||
13 **
|
||
14 **/
|
||
15 #ifndef _DEF_BF523_H
|
||
16 #define _DEF_BF523_H
|
||
17
|
||
18 /* Include all Core registers and bit definitions */
|
||
19 #include <def_LPBlackfin.h>
|
||
1 /*
|
||
20
|
||
21 /* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF523 */
|
||
22
|
||
23 /* Include defBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
|
||
24 #include <defBF52x_base.h>
|
||
1 /*
|
||
25
|
||
178 #elif defined (__ADSPBF524__)
|
||
13 #endif
|
||
2 #include <cplb.h>
|
||
1 /*
|
||
3 #include <sys/anomaly_macros_rtl.h>
|
||
1 /*
|
||
4 #include <defBF533.h>
|
||
BFIN GAS /tmp/ccONdRC5.s page 5
|
||
|
||
|
||
1 /*
|
||
2 * Copyright (C) 2012 Analog Devices Inc. All rights reserved.
|
||
3 *
|
||
4 * Licensed under the Clear BSD license.
|
||
5 * Please see COPYING.LIBGLOSS for details.
|
||
6 */
|
||
7
|
||
8 /************************************************************************
|
||
9 *
|
||
10 * defBF533.h
|
||
11 *
|
||
12 ************************************************************************/
|
||
13
|
||
14 #ifndef _DEFBF533_H
|
||
15 #define _DEFBF533_H
|
||
16
|
||
17 #include <defBF532.h>
|
||
1 /*
|
||
18
|
||
5 #include <def_LPBlackfin.h>
|
||
6
|
||
7 .text;
|
||
8 .align 2;
|
||
9 .global __start;
|
||
10 .extern _main;
|
||
11 .type __start, STT_FUNC;
|
||
12 __start:
|
||
13
|
||
14 0000 0760 R7 = 0;
|
||
15 0002 073C LC0 = R7;
|
||
16 0004 1F3C LC1 = R7;
|
||
17 0006 2736 L0 = R7;
|
||
18 0008 2F36 L1 = R7;
|
||
19 000a 3736 L2 = R7;
|
||
20 000c 3F36 L3 = R7;
|
||
21 000e 10E10013 I0.L = (ITEST_COMMAND & 0xFFFF);
|
||
22 0012 50E1E0FF I0.H = (ITEST_COMMAND >> 16);
|
||
23 0016 11E10003 I1.L = (DTEST_COMMAND & 0xFFFF);
|
||
24 001a 51E1E0FF I1.H = (DTEST_COMMAND >> 16);
|
||
25 001e 0760 R7 = 0;
|
||
26 0020 079F [I0] = R7;
|
||
27 0022 0F9F [I1] = R7;
|
||
28
|
||
29 0024 2300 CSYNC;
|
||
30
|
||
31 0026 0EE1F4FF SP.L=__stack_end - 12;
|
||
32 002a 4EE1FFFF SP.H=__stack_end - 12;
|
||
33 002e 7E32 FP = SP;
|
||
34 0030 A66F SP += -12;
|
||
35
|
||
36 // Zero bss memory
|
||
37 0032 00E10000 R0.L = __bss_start;
|
||
38 0036 40E10000 R0.H = __bss_start;
|
||
39 003a 01E10000 R1.L = __bss_end;
|
||
40 003e 41E10000 R1.H = __bss_end;
|
||
41 0042 8152 R2 = R1 - R0;
|
||
42 0044 0160 R1 = 0;
|
||
BFIN GAS /tmp/ccONdRC5.s page 6
|
||
|
||
|
||
43 0046 FFE3DDFF CALL.X _memset;
|
||
44
|
||
45
|
||
46 ///////////////from PRM/////////////////////////////////////
|
||
47 004a 08E13C20 P0.L = (EVT15 & 0xFFFF) ; /* Point to IVG15 in Event Vector Table */
|
||
48 004e 48E1E0FF P0.H = ((EVT15 >> 16) & 0xFFFF) ;
|
||
49 0052 09E17A00 P1.L = START; /* Point to start of User code */
|
||
50 0056 49E10000 P1.H = START;
|
||
51 005a 4193 [P0] = P1 ; /* Place the address of START in IVG15 of EVT */
|
||
52 005c 08E10421 P0.L = (IMASK & 0xFFFF) ;
|
||
53 0060 0091 R0 = [P0] ;
|
||
54 0062 01E10080 R1.L = (EVT_IVG15 & 0xFFFF) ;
|
||
55 0066 0856 R0 = R0 | R1 ;
|
||
56 0068 0093 [P0] = R0 ; /* Set (enable) IVG15 bit in IMASK register */
|
||
57 006a 9F00 RAISE 15 ; /* Invoke IVG15 interrupt */
|
||
58 006c 08E17800 P0.L = WAIT_HERE ;
|
||
59 0070 48E10000 P0.H = WAIT_HERE ;
|
||
60 0074 583E RETI = P0 ; /* RETI loaded with return address */
|
||
61 0076 1100 RTI ; /* Return from Reset Event */
|
||
62 WAIT_HERE : /* Wait here till IVG15 interrupt is serviced */
|
||
63 0078 0020 JUMP WAIT_HERE ;
|
||
64 START: /* IVG15 vectors here */
|
||
65 /* Enables interrupts and saves return address to stack */
|
||
66 007a 7B01 [--SP] = RETI ;
|
||
67 ///////////////from PRM/////////////////////////////////////
|
||
68
|
||
69 007c 4001 [--SP]=R0;
|
||
70 007e 4001 [--SP]=R0;
|
||
71 0080 7E32 FP = SP;
|
||
72 0082 A66F SP += -12;
|
||
73
|
||
74 0084 FFE3BEFF CALL.X _main;
|
||
75 0088 0000 NOP;
|
||
76 __end:
|
||
77 008a 2000 IDLE;
|
||
78 008c FF2F0000 JUMP __end;
|
||
BFIN GAS /tmp/ccONdRC5.s page 7
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
gcc/l502-bf_basiccrt.s:12 .text:0000000000000000 __start
|
||
gcc/l502-bf_basiccrt.s:64 .text:000000000000007a START
|
||
gcc/l502-bf_basiccrt.s:62 .text:0000000000000078 WAIT_HERE
|
||
gcc/l502-bf_basiccrt.s:76 .text:000000000000008a __end
|
||
|
||
UNDEFINED SYMBOLS
|
||
__stack_end
|
||
__bss_start
|
||
__bss_end
|
||
_memset
|
||
_main
|