source: rtems/cpukit/score/cpu/arm/armv7m-initialize.c @ f0d66b1

4.115
Last change on this file since f0d66b1 was f0d66b1, checked in by Sebastian Huber <sebastian.huber@…>, on 03/26/12 at 16:12:22

arm: New function

Add and use function _ARMV7M_Set_exception_priority_and_handler(). Use
ARMV7M_EXCEPTION_PRIORITY_LOWEST define.

  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 * Copyright (c) 2011 Sebastian Huber.  All rights reserved.
3 *
4 *  embedded brains GmbH
5 *  Obere Lagerstr. 30
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.com/license/LICENSE.
13 */
14
15#ifdef HAVE_CONFIG_H
16  #include "config.h"
17#endif
18
19#include <rtems/score/cpu.h>
20
21#ifdef ARM_MULTILIB_ARCH_V7M
22
23#include <rtems/score/armv7m.h>
24
25void _CPU_Initialize( void )
26{
27  /*
28   * The exception handler used to carry out the thead dispatching must have
29   * the lowest priority possible.  No other exception handlers must have this
30   * priority if they use services that may lead to a thread dispatch.  See
31   * also "ARMv7-M Architecture Reference Manual, Issue D" section B1.5.4
32   * "Exception priorities and preemption".
33   */
34  _ARMV7M_Set_exception_priority_and_handler(
35    ARMV7M_VECTOR_SVC,
36    ARMV7M_EXCEPTION_PRIORITY_LOWEST,
37    _ARMV7M_Supervisor_call
38  );
39  _ARMV7M_Set_exception_priority_and_handler(
40    ARMV7M_VECTOR_PENDSV,
41    ARMV7M_EXCEPTION_PRIORITY_LOWEST,
42    _ARMV7M_Pendable_service_call
43  );
44}
45
46#endif /* ARM_MULTILIB_ARCH_V7M */
Note: See TracBrowser for help on using the repository browser.