File tree Expand file tree Collapse file tree 10 files changed +126
-15
lines changed Expand file tree Collapse file tree 10 files changed +126
-15
lines changed Original file line number Diff line number Diff line change 34
34
#ifndef MBED_CMSIS_NVIC_H
35
35
#define MBED_CMSIS_NVIC_H
36
36
37
- static void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
37
+ extern void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
38
38
39
39
#define NVIC_NUM_VECTORS (MXC_IRQ_COUNT)
40
40
#define NVIC_RAM_VECTOR_ADDRESS (ramVectorTable) // Vectors positioned at start of RAM
Original file line number Diff line number Diff line change
1
+ /* mbed Microcontroller Library
2
+ * Copyright (c) 2017 ARM Limited
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include "cmsis.h"
17
+ #include "mbed_toolchain.h"
18
+
19
+ /* RAM vector_table needs to be aligned with the size of the vector table */
20
+ /* TODO: Use MXC_IRQ_COUNT to automatically set this alignment per DUI0553A 4.3.4 */
21
+ /* Vector Table Offset which requires the next-power-of-two alignment. This */
22
+ /* can be calculated by 4*pow(2,ceil(log2(MXC_IRQ_COUNT))) */
23
+ MBED_ALIGN (512 )
24
+ void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
Original file line number Diff line number Diff line change 34
34
#ifndef MBED_CMSIS_NVIC_H
35
35
#define MBED_CMSIS_NVIC_H
36
36
37
- static void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
37
+ extern void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
38
38
39
39
#define NVIC_NUM_VECTORS (MXC_IRQ_COUNT)
40
40
#define NVIC_RAM_VECTOR_ADDRESS (ramVectorTable) // Vectors positioned at start of RAM
Original file line number Diff line number Diff line change
1
+ /* mbed Microcontroller Library
2
+ * Copyright (c) 2017 ARM Limited
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include "cmsis.h"
17
+ #include "mbed_toolchain.h"
18
+
19
+ /* RAM vector_table needs to be aligned with the size of the vector table */
20
+ /* TODO: Use MXC_IRQ_COUNT to automatically set this alignment per DUI0553A 4.3.4 */
21
+ /* Vector Table Offset which requires the next-power-of-two alignment. This */
22
+ /* can be calculated by 4*pow(2,ceil(log2(MXC_IRQ_COUNT))) */
23
+ MBED_ALIGN (512 )
24
+ void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
Original file line number Diff line number Diff line change 34
34
#ifndef MBED_CMSIS_NVIC_H
35
35
#define MBED_CMSIS_NVIC_H
36
36
37
- static void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
37
+ extern void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
38
38
39
39
#define NVIC_NUM_VECTORS (MXC_IRQ_COUNT)
40
40
#define NVIC_RAM_VECTOR_ADDRESS (ramVectorTable) // Vectors positioned at start of RAM
Original file line number Diff line number Diff line change
1
+ /* mbed Microcontroller Library
2
+ * Copyright (c) 2017 ARM Limited
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include "cmsis.h"
17
+ #include "mbed_toolchain.h"
18
+
19
+ /* RAM vector_table needs to be aligned with the size of the vector table */
20
+ /* TODO: Use MXC_IRQ_COUNT to automatically set this alignment per DUI0553A 4.3.4 */
21
+ /* Vector Table Offset which requires the next-power-of-two alignment. This */
22
+ /* can be calculated by 4*pow(2,ceil(log2(MXC_IRQ_COUNT))) */
23
+ MBED_ALIGN (512 )
24
+ void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
Original file line number Diff line number Diff line change 34
34
#ifndef MBED_CMSIS_NVIC_H
35
35
#define MBED_CMSIS_NVIC_H
36
36
37
- static void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
37
+ extern void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
38
38
39
39
#define NVIC_NUM_VECTORS (MXC_IRQ_COUNT)
40
40
#define NVIC_RAM_VECTOR_ADDRESS (ramVectorTable) // Vectors positioned at start of RAM
41
41
42
42
#endif /* MBED_CMSIS_NVIC_H */
43
+
Original file line number Diff line number Diff line change
1
+ /* mbed Microcontroller Library
2
+ * Copyright (c) 2017 ARM Limited
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include "cmsis.h"
17
+ #include "mbed_toolchain.h"
18
+
19
+ /* RAM vector_table needs to be aligned with the size of the vector table */
20
+ /* TODO: Use MXC_IRQ_COUNT to automatically set this alignment per DUI0553A 4.3.4 */
21
+ /* Vector Table Offset which requires the next-power-of-two alignment. This */
22
+ /* can be calculated by 4*pow(2,ceil(log2(MXC_IRQ_COUNT))) */
23
+ MBED_ALIGN (512 )
24
+ void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
Original file line number Diff line number Diff line change
1
+ /* mbed Microcontroller Library
2
+ * Copyright (c) 2017 ARM Limited
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include "cmsis.h"
17
+ #include "mbed_toolchain.h"
18
+
19
+ /* RAM vector_table needs to be aligned with the size of the vector table */
20
+ /* TODO: Use MXC_IRQ_COUNT to automatically set this alignment per DUI0553A 4.3.4 */
21
+ /* Vector Table Offset which requires the next-power-of-two alignment. This */
22
+ /* can be calculated by 4*pow(2,ceil(log2(MXC_IRQ_COUNT))) */
23
+ MBED_ALIGN (512 )
24
+ void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
Original file line number Diff line number Diff line change 43
43
#ifndef _NVIC_TABLE_H
44
44
#define _NVIC_TABLE_H
45
45
46
- /* RAM vector_table needs to be aligned with the size of the vector table */
47
- /* TODO: Use MXC_IRQ_COUNT to automatically set this alignment per DUI0553A 4.3.4 */
48
- /* Vector Table Offset which requires the next-power-of-two alignment. This */
49
- /* can be calculated by 4*pow(2,ceil(log2(MXC_IRQ_COUNT))) */
50
- #if defined ( __ICCARM__ )
51
- #pragma data_alignment = 512
52
- #define __isr_vector __vector_table
53
- #else
54
- __attribute__ ((aligned (512 )))
55
- #endif
56
- static void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
46
+ extern void (* ramVectorTable [MXC_IRQ_COUNT ])(void );
57
47
58
48
#define NVIC_NUM_VECTORS (MXC_IRQ_COUNT)
59
49
#define NVIC_RAM_VECTOR_ADDRESS (ramVectorTable) // Vectors positioned at start of RAM
You can’t perform that action at this time.
0 commit comments