Browse Source

stm32l4: enable FPU in chipset specific startup.

Helpful if you don't like seeing:
(gdb) vecstate
HardFault: forced due to escalated or disabled configurable fault (see below)
UsageFault due to access to disabled/absent coprocessor
pull/555/merge
Karl Palsson 9 years ago
parent
commit
f6c7d92c4f
  1. 2
      lib/dispatch/vector_chipset.c
  2. 27
      lib/stm32/l4/vector_chipset.c

2
lib/dispatch/vector_chipset.c

@ -4,6 +4,8 @@
# include "../stm32/f4/vector_chipset.c"
#elif defined(STM32F7)
# include "../stm32/f7/vector_chipset.c"
#elif defined(STM32L4)
# include "../stm32/l4/vector_chipset.c"
#elif defined(LPC43XX_M4)
# include "../lpc43xx/m4/vector_chipset.c"
#elif defined(VF6XX)

27
lib/stm32/l4/vector_chipset.c

@ -0,0 +1,27 @@
/*
* This file is part of the libopencm3 project.
*
* Copyright (C) 2010 Piotr Esden-Tempski <piotr@esden.net>
* Copyright (C) 2011 Fergus Noble <fergusnoble@gmail.com>
*
* 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 <http://www.gnu.org/licenses/>.
*/
#include <libopencm3/cm3/scb.h>
static void pre_main(void)
{
/* Enable access to Floating-Point coprocessor. */
SCB_CPACR |= SCB_CPACR_FULL * (SCB_CPACR_CP10 | SCB_CPACR_CP11);
}
Loading…
Cancel
Save