source: rtems/c/src/lib/libbsp/arm/shared/armv7m/startup/bspreset.c @ b32a9cd

5
Last change on this file since b32a9cd was b32a9cd, checked in by Sebastian Huber <sebastian.huber@…>, on 01/12/16 at 13:44:10

bsps/arm: Use common ARMv7-M bsp_reset()

  • Property mode set to 100644
File size: 798 bytes
Line 
1/*
2 * Copyright (c) 2015 embedded brains GmbH.  All rights reserved.
3 *
4 *  embedded brains GmbH
5 *  Dornierstr. 4
6 *  82178 Puchheim
7 *  Germany
8 *  <rtems@embedded-brains.de>
9 *
10 * The license and distribution terms for this file may be
11 * found in the file LICENSE in this distribution or at
12 * http://www.rtems.org/license/LICENSE.
13 */
14
15#include <rtems.h>
16#include <rtems/score/armv7m.h>
17
18#include <bsp/bootcard.h>
19#include <bsp/start.h>
20
21#ifdef ARM_MULTILIB_ARCH_V7M
22
23BSP_START_TEXT_SECTION __attribute__((flatten)) void bsp_reset(void)
24{
25  rtems_interrupt_level level;
26
27  rtems_interrupt_local_disable(level);
28  (void) level;
29
30  _ARMV7M_SCB->aircr = ARMV7M_SCB_AIRCR_VECTKEY
31    | ARMV7M_SCB_AIRCR_SYSRESETREQ;
32
33  while (true) {
34    /* Do nothing */
35  }
36}
37
38#endif /* ARM_MULTILIB_ARCH_V7M */
Note: See TracBrowser for help on using the repository browser.