From 0ca18eb09fa648a3cfc3318274e610bb9b3c98aa Mon Sep 17 00:00:00 2001 From: Federico Ruiz Ugalde Date: Tue, 25 Jun 2013 20:47:05 -0600 Subject: [PATCH] Added interrupts for f3, Pre_main rutine in vector_chipset, nvic.h modified to include f3. --- include/libopencm3/dispatch/nvic.h | 2 ++ lib/dispatch/vector_nvic.c | 2 ++ lib/stm32/f3/vector_chipset.c | 27 +++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 lib/stm32/f3/vector_chipset.c diff --git a/include/libopencm3/dispatch/nvic.h b/include/libopencm3/dispatch/nvic.h index 868910d0..d7bf4795 100644 --- a/include/libopencm3/dispatch/nvic.h +++ b/include/libopencm3/dispatch/nvic.h @@ -2,6 +2,8 @@ # include #elif defined(STM32F2) # include +#elif defined(STM32F3) +# include #elif defined(STM32F4) # include #elif defined(STM32L1) diff --git a/lib/dispatch/vector_nvic.c b/lib/dispatch/vector_nvic.c index 4241d0c1..edc92094 100644 --- a/lib/dispatch/vector_nvic.c +++ b/lib/dispatch/vector_nvic.c @@ -2,6 +2,8 @@ # include "../stm32/f1/vector_nvic.c" #elif defined(STM32F2) # include "../stm32/f2/vector_nvic.c" +#elif defined(STM32F3) +# include "../stm32/f3/vector_nvic.c" #elif defined(STM32F4) # include "../stm32/f4/vector_nvic.c" #elif defined(STM32L1) diff --git a/lib/stm32/f3/vector_chipset.c b/lib/stm32/f3/vector_chipset.c new file mode 100644 index 00000000..145be057 --- /dev/null +++ b/lib/stm32/f3/vector_chipset.c @@ -0,0 +1,27 @@ +/* + * This file is part of the libopencm3 project. + * + * Copyright (C) 2010 Piotr Esden-Tempski + * Copyright (C) 2011 Fergus Noble + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#include + +static void pre_main(void) +{ + /* Enable access to Floating-Point coprocessor. */ + SCB_CPACR |= SCB_CPACR_FULL * (SCB_CPACR_CP10 | SCB_CPACR_CP11); +}