]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_Kinetis_K60_Tower_IAR/Freescale_Code/cpu/arm_cm4.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / CORTEX_Kinetis_K60_Tower_IAR / Freescale_Code / cpu / arm_cm4.h
1 /*\r
2  * File:                arm_cm4.h\r
3  * Purpose:             Definitions common to all ARM Cortex M4 processors\r
4  *\r
5  * Notes:\r
6  */\r
7 \r
8 #ifndef _CPU_ARM_CM4_H\r
9 #define _CPU_ARM_CM4_H\r
10 \r
11 #include "common.h"\r
12 \r
13 /*ARM Cortex M4 implementation for interrupt priority shift*/\r
14 #define ARM_INTERRUPT_LEVEL_BITS          4\r
15 \r
16 /***********************************************************************/\r
17 // function prototypes for arm_cm4.c\r
18 void stop (void);\r
19 void wait (void);\r
20 void write_vtor (int);\r
21 void enable_irq (int);\r
22 void disable_irq (int);\r
23 void set_irq_priority (int, int);\r
24 \r
25 /***********************************************************************/\r
26   /*!< Macro to enable all interrupts. */\r
27 #define EnableInterrupts asm(" CPSIE i");\r
28 \r
29   /*!< Macro to disable all interrupts. */\r
30 #define DisableInterrupts asm(" CPSID i");\r
31 /***********************************************************************/\r
32 \r
33 \r
34 /*\r
35  * Misc. Defines\r
36  */\r
37 #ifdef  FALSE\r
38 #undef  FALSE\r
39 #endif\r
40 #define FALSE   (0)\r
41 \r
42 #ifdef  TRUE\r
43 #undef  TRUE\r
44 #endif\r
45 #define TRUE    (1)\r
46 \r
47 #ifdef  NULL\r
48 #undef  NULL\r
49 #endif\r
50 #define NULL    (0)\r
51 \r
52 #ifdef  ON\r
53 #undef  ON\r
54 #endif\r
55 #define ON      (1)\r
56 \r
57 #ifdef  OFF\r
58 #undef  OFF\r
59 #endif\r
60 #define OFF     (0)\r
61 \r
62 /***********************************************************************/\r
63 /*\r
64  * The basic data types\r
65  */\r
66 typedef unsigned char           uint8;  /*  8 bits */\r
67 typedef unsigned short int      uint16; /* 16 bits */\r
68 typedef unsigned long int       uint32; /* 32 bits */\r
69 \r
70 typedef char                        int8;   /*  8 bits */\r
71 typedef short int               int16;  /* 16 bits */\r
72 typedef int                         int32;  /* 32 bits */\r
73 \r
74 typedef volatile int8           vint8;  /*  8 bits */\r
75 typedef volatile int16          vint16; /* 16 bits */\r
76 typedef volatile int32          vint32; /* 32 bits */\r
77 \r
78 typedef volatile uint8          vuint8;  /*  8 bits */\r
79 typedef volatile uint16         vuint16; /* 16 bits */\r
80 typedef volatile uint32         vuint32; /* 32 bits */\r
81 \r
82 // function prototype for main function\r
83 void main(void);\r
84 \r
85 /***********************************************************************/\r
86 #endif  /* _CPU_ARM_CM4_H */\r
87 \r