]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_STM32L152_IAR/system_and_ST_code/stm32_eval.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / CORTEX_STM32L152_IAR / system_and_ST_code / stm32_eval.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32_eval.h\r
4   * @author  MCD Application Team\r
5   * @version V4.4.0RC1\r
6   * @date    07/02/2010\r
7   * @brief   Header file for stm32_eval.c module.\r
8   ******************************************************************************\r
9   * @copy\r
10   *\r
11   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
12   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
13   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
14   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
15   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
16   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
17   *\r
18   * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>\r
19   */ \r
20   \r
21 /* Define to prevent recursive inclusion -------------------------------------*/\r
22 #ifndef __STM32_EVAL_H\r
23 #define __STM32_EVAL_H\r
24 \r
25 #ifdef __cplusplus\r
26  extern "C" {\r
27 #endif \r
28 \r
29 /* Includes ------------------------------------------------------------------*/\r
30 \r
31 /** @addtogroup Utilities\r
32   * @{\r
33   */ \r
34   \r
35 /** @addtogroup STM32_EVAL\r
36   * @{\r
37   */ \r
38 \r
39 /** @defgroup STM32_EVAL_Abstraction_Layer\r
40   * @{\r
41   */\r
42   \r
43 /** @defgroup STM32_EVAL_HARDWARE_RESOURCES\r
44   * @{\r
45   */\r
46 \r
47 /**\r
48 @code  \r
49  The table below gives an overview of the hardware resources supported by each \r
50  STM32 EVAL board.\r
51      - LCD: TFT Color LCD (Parallel (FSMC) and Serial (SPI))\r
52      - IOE: IO Expander on I2C\r
53      - sFLASH: serial SPI FLASH (M25Pxxx)\r
54      - sEE: serial I2C EEPROM (M24C08, M24C32, M24C64)\r
55      - TSENSOR: Temperature Sensor (LM75)\r
56      - SD: SD Card memory (SPI and SDIO (SD Card MODE)) \r
57   =================================================================================================================+\r
58     STM32 EVAL     | LED | Buttons  | Com Ports |    LCD    | IOE  | sFLASH | sEE | TSENSOR | SD (SPI) | SD(SDIO)  |\r
59   =================================================================================================================+\r
60    STM3210B-EVAL   |  4  |    8     |     2     | YES (SPI) | NO   |  YES   | NO  |   YES   |    YES   |    NO     |\r
61   -----------------------------------------------------------------------------------------------------------------+\r
62    STM3210E-EVAL   |  4  |    8     |     2     | YES (FSMC)| NO   |  YES   | NO  |   YES   |    NO    |    YES    |\r
63   -----------------------------------------------------------------------------------------------------------------+\r
64    STM3210C-EVAL   |  4  |    3     |     1     | YES (SPI) | YES  |  NO    | YES |   NO    |    YES   |    NO     |\r
65   -----------------------------------------------------------------------------------------------------------------+\r
66    STM32100B-EVAL  |  4  |    8     |     2     | YES (SPI) | NO   |  YES   | NO  |   YES   |    YES   |    NO     |\r
67   -----------------------------------------------------------------------------------------------------------------+\r
68    STM32L152-EVAL  |  4  |    8     |     2     | YES (SPI) | NO   |  NO    | NO  |   YES   |    YES   |    NO     |\r
69   =================================================================================================================+\r
70 @endcode\r
71 */\r
72 \r
73 /**\r
74   * @}\r
75   */\r
76   \r
77 /** @defgroup STM32_EVAL_Exported_Types\r
78   * @{\r
79   */\r
80 typedef enum \r
81 {\r
82   LED1 = 0,\r
83   LED2 = 1,\r
84   LED3 = 2,\r
85   LED4 = 3\r
86 } Led_TypeDef;\r
87 \r
88 typedef enum \r
89 {  \r
90   BUTTON_WAKEUP = 0,\r
91   BUTTON_TAMPER = 1,\r
92   BUTTON_KEY = 2,\r
93   BUTTON_RIGHT = 3,\r
94   BUTTON_LEFT = 4,\r
95   BUTTON_UP = 5,\r
96   BUTTON_DOWN = 6,\r
97   BUTTON_SEL = 7\r
98 } Button_TypeDef;\r
99 \r
100 typedef enum \r
101 {  \r
102   BUTTON_MODE_GPIO = 0,\r
103   BUTTON_MODE_EXTI = 1\r
104 } ButtonMode_TypeDef;\r
105 \r
106 typedef enum \r
107\r
108   JOY_NONE = 0,\r
109   JOY_SEL = 1,\r
110   JOY_DOWN = 2,\r
111   JOY_LEFT = 3,\r
112   JOY_RIGHT = 4,\r
113   JOY_UP = 5\r
114 } JOYState_TypeDef\r
115 ;\r
116 \r
117 typedef enum \r
118 {\r
119   COM1 = 0,\r
120   COM2 = 1\r
121 } COM_TypeDef;   \r
122 /**\r
123   * @}\r
124   */ \r
125   \r
126 /** @defgroup STM32_EVAL_Exported_Constants\r
127   * @{\r
128   */ \r
129 \r
130 /** \r
131   * @brief  Uncomment the line corresponding to the STMicroelectronics evaluation\r
132   *   board used in your application.\r
133   *   \r
134   *  Tip: To avoid modifying this file each time you need to switch between these\r
135   *       boards, you can define the board in your toolchain compiler preprocessor.    \r
136   */ \r
137 #if !defined (USE_STM32100B_EVAL) && !defined (USE_STM3210B_EVAL) &&  !defined (USE_STM3210E_EVAL)\\r
138    &&  !defined (USE_STM3210C_EVAL) &&  !defined (USE_STM32L152_EVAL)\r
139  //#define USE_STM32100B_EVAL\r
140  //#define USE_STM3210B_EVAL\r
141  //#define USE_STM3210E_EVAL\r
142  //#define USE_STM3210C_EVAL\r
143  //#define USE_STM32L152_EVAL\r
144 #endif\r
145 \r
146 #ifdef USE_STM32100B_EVAL\r
147  #include "stm32f10x.h"\r
148  #include "stm32100b_eval/stm32100b_eval.h"\r
149 #elif defined USE_STM3210B_EVAL\r
150  #include "stm32f10x.h"\r
151  #include "stm3210b_eval/stm3210b_eval.h" \r
152 #elif defined USE_STM3210E_EVAL\r
153  #include "stm32f10x.h"\r
154  #include "stm3210e_eval/stm3210e_eval.h"\r
155 #elif defined USE_STM3210C_EVAL\r
156  #include "stm32f10x.h"\r
157  #include "stm3210c_eval/stm3210c_eval.h"\r
158 #elif defined USE_STM32L152_EVAL\r
159  #include "stm32l1xx.h"\r
160  #include "stm32l152_eval/stm32l152_eval.h" \r
161 #else \r
162  #error "Please select first the STM32 EVAL board to be used (in stm32_eval.h)"\r
163 #endif                      \r
164 \r
165 \r
166 /** \r
167   * @brief  STM32 Button Defines Legacy  \r
168   */ \r
169 #define Button_WAKEUP        BUTTON_WAKEUP\r
170 #define Button_TAMPER        BUTTON_TAMPER\r
171 #define Button_KEY           BUTTON_KEY\r
172 #define Button_RIGHT         BUTTON_RIGHT\r
173 #define Button_LEFT          BUTTON_LEFT\r
174 #define Button_UP            BUTTON_UP\r
175 #define Button_DOWN          BUTTON_DOWN\r
176 #define Button_SEL           BUTTON_SEL\r
177 #define Mode_GPIO            BUTTON_MODE_GPIO\r
178 #define Mode_EXTI            BUTTON_MODE_EXTI\r
179 #define Button_Mode_TypeDef  ButtonMode_TypeDef\r
180 #define JOY_CENTER           JOY_SEL\r
181 #define JOY_State_TypeDef    JOYState_TypeDef \r
182 \r
183 /** \r
184   * @brief  LCD Defines Legacy  \r
185   */ \r
186 #define LCD_RSNWR_GPIO_CLK  LCD_NWR_GPIO_CLK\r
187 #define LCD_SPI_GPIO_PORT   LCD_SPI_SCK_GPIO_PORT\r
188 #define LCD_SPI_GPIO_CLK    LCD_SPI_SCK_GPIO_CLK\r
189 #define R0                  LCD_REG_0\r
190 #define R1                  LCD_REG_1\r
191 #define R2                  LCD_REG_2\r
192 #define R3                  LCD_REG_3\r
193 #define R4                  LCD_REG_4\r
194 #define R5                  LCD_REG_5\r
195 #define R6                  LCD_REG_6\r
196 #define R7                  LCD_REG_7\r
197 #define R8                  LCD_REG_8\r
198 #define R9                  LCD_REG_9\r
199 #define R10                 LCD_REG_10\r
200 #define R12                 LCD_REG_12\r
201 #define R13                 LCD_REG_13\r
202 #define R14                 LCD_REG_14\r
203 #define R15                 LCD_REG_15\r
204 #define R16                 LCD_REG_16\r
205 #define R17                 LCD_REG_17\r
206 #define R18                 LCD_REG_18\r
207 #define R19                 LCD_REG_19\r
208 #define R20                 LCD_REG_20\r
209 #define R21                 LCD_REG_21\r
210 #define R22                 LCD_REG_22\r
211 #define R23                 LCD_REG_23\r
212 #define R24                 LCD_REG_24\r
213 #define R25                 LCD_REG_25\r
214 #define R26                 LCD_REG_26\r
215 #define R27                 LCD_REG_27\r
216 #define R28                 LCD_REG_28\r
217 #define R29                 LCD_REG_29\r
218 #define R30                 LCD_REG_30\r
219 #define R31                 LCD_REG_31\r
220 #define R32                 LCD_REG_32\r
221 #define R33                 LCD_REG_33\r
222 #define R34                 LCD_REG_34\r
223 #define R36                 LCD_REG_36\r
224 #define R37                 LCD_REG_37\r
225 #define R40                 LCD_REG_40\r
226 #define R41                 LCD_REG_41\r
227 #define R43                 LCD_REG_43\r
228 #define R45                 LCD_REG_45\r
229 #define R48                 LCD_REG_48\r
230 #define R49                 LCD_REG_49\r
231 #define R50                 LCD_REG_50\r
232 #define R51                 LCD_REG_51\r
233 #define R52                 LCD_REG_52\r
234 #define R53                 LCD_REG_53\r
235 #define R54                 LCD_REG_54\r
236 #define R55                 LCD_REG_55\r
237 #define R56                 LCD_REG_56\r
238 #define R57                 LCD_REG_57\r
239 #define R59                 LCD_REG_59\r
240 #define R60                 LCD_REG_60\r
241 #define R61                 LCD_REG_61\r
242 #define R62                 LCD_REG_62\r
243 #define R63                 LCD_REG_63\r
244 #define R64                 LCD_REG_64\r
245 #define R65                 LCD_REG_65\r
246 #define R66                 LCD_REG_66\r
247 #define R67                 LCD_REG_67\r
248 #define R68                 LCD_REG_68\r
249 #define R69                 LCD_REG_69\r
250 #define R70                 LCD_REG_70\r
251 #define R71                 LCD_REG_71\r
252 #define R72                 LCD_REG_72\r
253 #define R73                 LCD_REG_73\r
254 #define R74                 LCD_REG_74\r
255 #define R75                 LCD_REG_75\r
256 #define R76                 LCD_REG_76\r
257 #define R77                 LCD_REG_77\r
258 #define R78                 LCD_REG_78\r
259 #define R79                 LCD_REG_79\r
260 #define R80                 LCD_REG_80\r
261 #define R81                 LCD_REG_81\r
262 #define R82                 LCD_REG_82\r
263 #define R83                 LCD_REG_83\r
264 #define R96                 LCD_REG_96\r
265 #define R97                 LCD_REG_97\r
266 #define R106                LCD_REG_106\r
267 #define R118                LCD_REG_118\r
268 #define R128                LCD_REG_128\r
269 #define R129                LCD_REG_129\r
270 #define R130                LCD_REG_130\r
271 #define R131                LCD_REG_131\r
272 #define R132                LCD_REG_132\r
273 #define R133                LCD_REG_133\r
274 #define R134                LCD_REG_134\r
275 #define R135                LCD_REG_135\r
276 #define R136                LCD_REG_136\r
277 #define R137                LCD_REG_137\r
278 #define R139                LCD_REG_139\r
279 #define R140                LCD_REG_140\r
280 #define R141                LCD_REG_141\r
281 #define R143                LCD_REG_143\r
282 #define R144                LCD_REG_144\r
283 #define R145                LCD_REG_145\r
284 #define R146                LCD_REG_146\r
285 #define R147                LCD_REG_147\r
286 #define R148                LCD_REG_148\r
287 #define R149                LCD_REG_149\r
288 #define R150                LCD_REG_150\r
289 #define R151                LCD_REG_151\r
290 #define R152                LCD_REG_152\r
291 #define R153                LCD_REG_153\r
292 #define R154                LCD_REG_154\r
293 #define R157                LCD_REG_157\r
294 #define R192                LCD_REG_192\r
295 #define R193                LCD_REG_193\r
296 #define R227                LCD_REG_227\r
297 #define R229                LCD_REG_229\r
298 #define R231                LCD_REG_231\r
299 #define R239                LCD_REG_239\r
300 #define White               LCD_COLOR_WHITE\r
301 #define Black               LCD_COLOR_BLACK\r
302 #define Grey                LCD_COLOR_GREY\r
303 #define Blue                LCD_COLOR_BLUE\r
304 #define Blue2               LCD_COLOR_BLUE2\r
305 #define Red                 LCD_COLOR_RED\r
306 #define Magenta             LCD_COLOR_MAGENTA\r
307 #define Green               LCD_COLOR_GREEN\r
308 #define Cyan                LCD_COLOR_CYAN\r
309 #define Yellow              LCD_COLOR_YELLOW\r
310 #define Line0               LCD_LINE_0\r
311 #define Line1               LCD_LINE_1\r
312 #define Line2               LCD_LINE_2\r
313 #define Line3               LCD_LINE_3\r
314 #define Line4               LCD_LINE_4\r
315 #define Line5               LCD_LINE_5\r
316 #define Line6               LCD_LINE_6\r
317 #define Line7               LCD_LINE_7\r
318 #define Line8               LCD_LINE_8\r
319 #define Line9               LCD_LINE_9\r
320 #define Horizontal          LCD_DIR_HORIZONTAL\r
321 #define Vertical            LCD_DIR_VERTICAL\r
322 \r
323 /**\r
324   * @}\r
325   */ \r
326 \r
327 /** @defgroup STM32_EVAL_Exported_Macros\r
328   * @{\r
329   */ \r
330 /**\r
331   * @}\r
332   */ \r
333 \r
334 /** @defgroup STM32_EVAL_Exported_Functions\r
335   * @{\r
336   */ \r
337 /**\r
338   * @}\r
339   */ \r
340 \r
341 #ifdef __cplusplus\r
342 }\r
343 #endif\r
344 \r
345 \r
346 #endif /* __STM32_EVAL_H */\r
347 \r
348 /**\r
349   * @}\r
350   */ \r
351 \r
352 /**\r
353   * @}\r
354   */ \r
355 \r
356 /**\r
357   * @}\r
358   */   \r
359 \r
360 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r