Robobo
ARMCM3.h
Go to the documentation of this file.
1 /**************************************************************************/
26 #ifndef ARMCM3_H
27 #define ARMCM3_H
28 
29 /*
30  * ==========================================================================
31  * ---------- Interrupt Number Definition -----------------------------------
32  * ==========================================================================
33  */
34 
35 typedef enum IRQn
36 {
37 /****** Cortex-M3 Processor Exceptions Numbers ***************************************************/
41  BusFault_IRQn = -11,
43  SVCall_IRQn = -5,
45  PendSV_IRQn = -2,
46  SysTick_IRQn = -1,
48 /****** ARMCM3 specific Interrupt Numbers ********************************************************/
49  GPIO_IRQn = 0
50 } IRQn_Type;
51 
52 
53 /*
54  * ==========================================================================
55  * ----------- Processor and Core Peripheral Section ------------------------
56  * ==========================================================================
57  */
58 
59 /* Configuration of the Cortex-M3 Processor and Core Peripherals */
60 #define __CM3_REV 0x0201
61 #define __MPU_PRESENT 1
62 #define __NVIC_PRIO_BITS 3
63 #define __Vendor_SysTickConfig 0
66 #include <core_cm3.h> /* Cortex-M3 processor and core peripherals */
67 #include "system_ARMCM3.h" /* System Header */
68 
69 
70 /******************************************************************************/
71 /* Device Specific Peripheral registers structures */
72 /******************************************************************************/
73 
74 /*--------------------- General Purpose Input and Ouptut ---------------------*/
75 typedef union
76 {
77  __IO uint32_t WORD;
78  __IO uint8_t BYTE[4];
80 
81 typedef struct
82 {
83  GPIO_Data_TypeDef DATA [256];
84  __O uint32_t DIR;
85  uint32_t RESERVED[3];
86  __O uint32_t IE;
88 
89 
90 /******************************************************************************/
91 /* Peripheral memory map */
92 /******************************************************************************/
93 /* Peripheral and SRAM base address */
94 #define ARM_SRAM_BASE (( uint32_t)0x20000000UL)
95 #define ARM_PERIPH_BASE (( uint32_t)0x40000000UL)
96 
97 /* Peripheral memory map */
98 #define ARM_GPIO_BASE ARM_PERIPH_BASE
99 
100 #define ARM_GPIO0_BASE (ARM_GPIO_BASE)
101 #define ARM_GPIO1_BASE (ARM_GPIO_BASE + 0x0800UL)
102 #define ARM_GPIO2_BASE (ARM_GPIO_BASE + 0x1000UL)
103 
104 
105 /******************************************************************************/
106 /* Peripheral declaration */
107 /******************************************************************************/
108 #define ARM_GPIO0 ((ARM_GPIO_TypeDef *) ARM_GPIO0_BASE)
109 #define ARM_GPIO1 ((ARM_GPIO_TypeDef *) ARM_GPIO1_BASE)
110 #define ARM_GPIO2 ((ARM_GPIO_TypeDef *) ARM_GPIO2_BASE)
111 
112 
113 #endif /* ARMCM3_H */
Definition: ARMCM3.h:43
CMSIS Cortex-M3 Device System Header File for CM3 Device Series.
Definition: ARMCM3.h:44
Definition: ARMCM0.h:75
IRQn
Definition: ARMCM0.h:35
Definition: ARMCM3.h:46
Definition: ARMCM3.h:42
Definition: ARMCM0.h:81
#define __IO
Definition: core_cm0.h:157
#define __O
Definition: core_cm0.h:156
Definition: ARMCM3.h:41
Definition: ARMCM3.h:38
Definition: ARMCM3.h:45
Definition: ARMCM3.h:40
Definition: ARMCM3.h:39
Definition: ARMCM3.h:49