libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
vf6xx/vector_chipset.c
Go to the documentation of this file.
1/*
2 * This file is part of the libopencm3 project.
3 *
4 * Copyright (C) 2014 Stefan Agner <stefan@agner.ch>
5 *
6 * This library is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this library. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#include <libopencm3/cm3/scb.h>
21
22static inline void pre_main(void)
23{
24 /*
25 * For Vybrid we need to set the stack pointer manually
26 * since the boot ROM has its own stack
27 */
28 __asm__ ( \
29 "ldr sp,=_stack;" \
30 );
31
32 /* Set Vector Table Offset to our memory based vector table */
33 SCB_VTOR = (uint32_t)&vector_table;
34
35 /* Enable access to Floating-Point coprocessor. */
37}
#define SCB_VTOR
VTOR: Vector Table Offset Register.
Definition: scb.h:49
#define SCB_CPACR
CPACR: Coprocessor Access Control Register.
Definition: scb.h:134
#define SCB_CPACR_CP10
Definition: scb.h:530
#define SCB_CPACR_FULL
Definition: scb.h:527
#define SCB_CPACR_CP11
Definition: scb.h:532
vector_table_t vector_table
Definition: vector.c:40
static void pre_main(void)