source: rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspreset.c @ f68401e

4.115
Last change on this file since f68401e was 2460cc7, checked in by Sebastian Huber <sebastian.huber@…>, on 01/07/13 at 13:56:18

bsp/lpc24xx: Request system reset for LPC17XX

  • Property mode set to 100644
File size: 1022 bytes
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc24xx
5 *
6 * @brief Reset code.
7 */
8
9/*
10 * Copyright (c) 2008-2013 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Obere Lagerstr. 30
14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.com/license/LICENSE.
21 */
22
23#include <rtems.h>
24#include <rtems/score/armv7m.h>
25
26#include <bsp/bootcard.h>
27#include <bsp/lpc24xx.h>
28#include <bsp/start.h>
29
30BSP_START_TEXT_SECTION __attribute__((flatten)) void bsp_reset(void)
31{
32  rtems_interrupt_level level;
33
34  rtems_interrupt_disable(level);
35
36  #if defined(ARM_MULTILIB_ARCH_V4)
37    /* Trigger watchdog reset */
38    WDCLKSEL = 0;
39    WDTC = 0xff;
40    WDMOD = 0x3;
41    WDFEED = 0xaa;
42    WDFEED = 0x55;
43  #elif defined(ARM_MULTILIB_ARCH_V7M)
44    _ARMV7M_SCB->aircr = ARMV7M_SCB_AIRCR_VECTKEY
45      | ARMV7M_SCB_AIRCR_SYSRESETREQ;
46  #endif
47
48  while (true) {
49    /* Do nothing */
50  }
51}
Note: See TracBrowser for help on using the repository browser.