diff options
Diffstat (limited to 'wirish/boards')
-rw-r--r-- | wirish/boards/VLDiscovery/board.cpp (renamed from wirish/boards/maple.cpp) | 52 | ||||
-rw-r--r-- | wirish/boards/VLDiscovery/include/board/board.h | 91 | ||||
-rw-r--r-- | wirish/boards/maple/board.cpp | 143 | ||||
-rw-r--r-- | wirish/boards/maple/include/board/board.h (renamed from wirish/boards/maple.h) | 29 | ||||
-rw-r--r-- | wirish/boards/maple_RET6/board.cpp (renamed from wirish/boards/maple_RET6.cpp) | 13 | ||||
-rw-r--r-- | wirish/boards/maple_RET6/include/board/board.h (renamed from wirish/boards/maple_RET6.h) | 12 | ||||
-rw-r--r-- | wirish/boards/maple_mini/board.cpp (renamed from wirish/boards/maple_mini.cpp) | 15 | ||||
-rw-r--r-- | wirish/boards/maple_mini/include/board/board.h (renamed from wirish/boards/maple_mini.h) | 7 | ||||
-rw-r--r-- | wirish/boards/maple_native/board.cpp (renamed from wirish/boards/maple_native.cpp) | 18 | ||||
-rw-r--r-- | wirish/boards/maple_native/include/board/board.h (renamed from wirish/boards/maple_native.h) | 7 | ||||
-rw-r--r-- | wirish/boards/olimex_stm32_h103/board.cpp (renamed from wirish/boards/olimex_stm32_h103.cpp) | 15 | ||||
-rw-r--r-- | wirish/boards/olimex_stm32_h103/include/board/board.h (renamed from wirish/boards/olimex_stm32_h103.h) | 4 | ||||
-rw-r--r-- | wirish/boards/st_stm3220g_eval/board.cpp | 60 | ||||
-rw-r--r-- | wirish/boards/st_stm3220g_eval/include/board/board.h | 53 |
14 files changed, 423 insertions, 96 deletions
diff --git a/wirish/boards/maple.cpp b/wirish/boards/VLDiscovery/board.cpp index 43d4386..c86204d 100644 --- a/wirish/boards/maple.cpp +++ b/wirish/boards/VLDiscovery/board.cpp @@ -25,29 +25,26 @@ *****************************************************************************/ /** - * @file maple.cpp - * @author Marti Bolivar <mbolivar@leaflabs.com> - * @brief Maple PIN_MAP and boardInit(). + * @file wirish/boards/VLDiscovery/board.cpp + * @author Anton Eltchaninov <anton.eltchaninov@gmail.com> + * @brief VLDiscovery board file. */ -#ifdef BOARD_maple +#include <board/board.h> -#include "maple.h" - -#include "gpio.h" -#include "timer.h" -#include "wirish_types.h" +#include <libmaple/gpio.h> +#include <libmaple/timer.h> +#include <wirish/wirish_types.h> void boardInit(void) { + afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY); } extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { - /* Top header */ - {GPIOA, TIMER2, ADC1, 3, 4, 3}, /* D0/PA3 */ {GPIOA, TIMER2, ADC1, 2, 3, 2}, /* D1/PA2 */ - {GPIOA, TIMER2, ADC1, 0, 1, 0}, /* D2/PA0 */ + {GPIOA, TIMER2, ADC1, 0, 1, 0}, /* D2/PA0 (BUT) */ {GPIOA, TIMER2, ADC1, 1, 2, 1}, /* D3/PA1 */ {GPIOB, NULL, NULL, 5, 0, ADCx}, /* D4/PB5 */ {GPIOB, TIMER4, NULL, 6, 1, ADCx}, /* D5/PB6 */ @@ -58,20 +55,14 @@ extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { {GPIOA, NULL, ADC1, 4, 0, 4}, /* D10/PA4 */ {GPIOA, TIMER3, ADC1, 7, 2, 7}, /* D11/PA7 */ {GPIOA, TIMER3, ADC1, 6, 1, 6}, /* D12/PA6 */ - {GPIOA, NULL, ADC1, 5, 0, 5}, /* D13/PA5 (LED) */ + {GPIOA, NULL, ADC1, 5, 0, 5}, /* D13/PA5 */ {GPIOB, TIMER4, NULL, 8, 3, ADCx}, /* D14/PB8 */ - - /* Little header */ - {GPIOC, NULL, ADC1, 0, 0, 10}, /* D15/PC0 */ {GPIOC, NULL, ADC1, 1, 0, 11}, /* D16/PC1 */ {GPIOC, NULL, ADC1, 2, 0, 12}, /* D17/PC2 */ {GPIOC, NULL, ADC1, 3, 0, 13}, /* D18/PC3 */ {GPIOC, NULL, ADC1, 4, 0, 14}, /* D19/PC4 */ {GPIOC, NULL, ADC1, 5, 0, 15}, /* D20/PC5 */ - - /* External header */ - {GPIOC, NULL, NULL, 13, 0, ADCx}, /* D21/PC13 */ {GPIOC, NULL, NULL, 14, 0, ADCx}, /* D22/PC14 */ {GPIOC, NULL, NULL, 15, 0, ADCx}, /* D23/PC15 */ @@ -88,16 +79,16 @@ extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { {GPIOB, NULL, NULL, 15, 0, ADCx}, /* D34/PB15 */ {GPIOC, NULL, NULL, 6, 0, ADCx}, /* D35/PC6 */ {GPIOC, NULL, NULL, 7, 0, ADCx}, /* D36/PC7 */ - {GPIOC, NULL, NULL, 8, 0, ADCx}, /* D37/PC8 */ - {GPIOC, NULL, NULL, 9, 0, ADCx}, /* D38/PC9 (BUT) */ - - /* JTAG header */ - - {GPIOA, NULL, NULL, 13, 0, ADCx}, /* D39/PA13 */ - {GPIOA, NULL, NULL, 14, 0, ADCx}, /* D40/PA14 */ + {GPIOC, NULL, NULL, 8, 0, ADCx}, /* D37/PC8 (Blue led) */ + {GPIOC, NULL, NULL, 9, 0, ADCx}, /* D38/PC9 (Green led) */ + {GPIOA, TIMER1, NULL, 11, 4, ADCx}, /* D39/PA11 */ + {GPIOA, NULL, NULL, 12, 0, ADCx}, /* D40/PA12 */ {GPIOA, NULL, NULL, 15, 0, ADCx}, /* D41/PA15 */ - {GPIOB, NULL, NULL, 3, 0, ADCx}, /* D42/PB3 */ - {GPIOB, NULL, NULL, 4, 0, ADCx}, /* D43/PB4 */ + {GPIOB, NULL, NULL, 2, 0, ADCx}, /* D42/PB2 */ + {GPIOB, NULL, NULL, 3, 0, ADCx}, /* D43/PB3 */ + {GPIOB, NULL, NULL, 4, 0, ADCx}, /* D44/PB4 */ + {GPIOC, NULL, NULL, 11, 0, ADCx}, /* D45/PC11 */ + {GPIOC, NULL, NULL, 12, 0, ADCx} /* D46/PC12 */ }; extern const uint8 boardPWMPins[] __FLASH__ = { @@ -109,8 +100,5 @@ extern const uint8 boardADCPins[] __FLASH__ = { }; extern const uint8 boardUsedPins[] __FLASH__ = { - BOARD_LED_PIN, BOARD_BUTTON_PIN, BOARD_JTMS_SWDIO_PIN, - BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN + BOARD_BLUE_LED_PIN, BOARD_GREEN_LED_PIN, BOARD_BUTTON_PIN }; - -#endif diff --git a/wirish/boards/VLDiscovery/include/board/board.h b/wirish/boards/VLDiscovery/include/board/board.h new file mode 100644 index 0000000..04d21c7 --- /dev/null +++ b/wirish/boards/VLDiscovery/include/board/board.h @@ -0,0 +1,91 @@ +/****************************************************************************** + * The MIT License + * + * Copyright (c) 2011 LeafLabs, LLC. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + *****************************************************************************/ + +/** + * @file wirish/boards/VLDiscovery/include/board/board.h + * @author Anton Eltchaninov <anton.eltchaninov@gmail.com> + * @brief VLDiscovery board header. + */ + +#ifndef _BOARD_VLDISCOVERY_H_ +#define _BOARD_VLDISCOVERY_H_ + +#define BOARD_RCC_PLLMUL RCC_PLLMUL_3 + +#define CYCLES_PER_MICROSECOND 24 +#define SYSTICK_RELOAD_VAL 23999 /* takes a cycle to reload */ + +#define BOARD_BUTTON_PIN 2 /* PA0 USER */ +#define BOARD_BLUE_LED_PIN 37 /* blue led LD4 */ +#define BOARD_GREEN_LED_PIN 38 /* green led LD3 */ +#define BOARD_LED_PIN BOARD_BLUE_LED_PIN + +/* Number of USARTs/UARTs whose pins are broken out to headers */ +#define BOARD_NR_USARTS 3 + +/* Default USART pin numbers (not considering AFIO remap) */ +#define BOARD_USART1_TX_PIN 7 +#define BOARD_USART1_RX_PIN 8 +#define BOARD_USART2_TX_PIN 1 +#define BOARD_USART2_RX_PIN 0 +#define BOARD_USART3_TX_PIN 29 +#define BOARD_USART3_RX_PIN 30 + +/* Number of SPI ports */ +#define BOARD_NR_SPI 2 + +/* Default SPI pin numbers (not considering AFIO remap) */ +#define BOARD_SPI1_NSS_PIN 10 +#define BOARD_SPI1_MOSI_PIN 11 +#define BOARD_SPI1_MISO_PIN 12 +#define BOARD_SPI1_SCK_PIN 13 +#define BOARD_SPI2_NSS_PIN 31 +#define BOARD_SPI2_MOSI_PIN 34 +#define BOARD_SPI2_MISO_PIN 33 +#define BOARD_SPI2_SCK_PIN 32 + +/* Total number of GPIO pins that are broken out to headers and + * intended for general use. */ +#define BOARD_NR_GPIO_PINS 47 + +/* Number of pins capable of PWM output */ +#define BOARD_NR_PWM_PINS 15 + +/* Number of pins capable of ADC conversion */ +#define BOARD_NR_ADC_PINS 15 + +/* Number of pins already connected to external hardware. */ +#define BOARD_NR_USED_PINS 3 + +/* Save Maple pin order and define aliases */ +enum { +PA3, PA2, PA0, PA1, PB5, PB6, PA8, PA9, PA10, PB7, PA4, PA7, PA6, PA5, +PB8, PC0, PC1, PC2, PC3, PC4, PC5, PC13, PC14, PC15, PB9, PD2, PC10, +PB0, PB1, PB10, PB11, PB12, PB13, PB14, PB15, PC6, PC7, PC8, PC9, +PA11, PA12, PA15, PB2, PB3, PB4, PC11, PC12 }; + + +#endif diff --git a/wirish/boards/maple/board.cpp b/wirish/boards/maple/board.cpp new file mode 100644 index 0000000..a585ea1 --- /dev/null +++ b/wirish/boards/maple/board.cpp @@ -0,0 +1,143 @@ +/****************************************************************************** + * The MIT License + * + * Copyright (c) 2011 LeafLabs, LLC. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + *****************************************************************************/ + +/** + * @file wirish/boards/maple/board.cpp + * @author Marti Bolivar <mbolivar@leaflabs.com> + * @brief Maple board file. + */ + +#include <board/board.h> // For this board's header file + +#include <wirish/wirish_types.h> // For stm32_pin_info and its contents + // (these go into PIN_MAP). + +#include "boards_private.h" // For PMAP_ROW(), which makes + // PIN_MAP easier to read. + +// boardInit(): nothing special to do for Maple. +// +// When defining your own board.cpp, you can put extra code in this +// function if you have anything you want done on reset, before main() +// or setup() are called. +// +// If there's nothing special you need done, feel free to leave this +// function out, as we do here. +/* +void boardInit(void) { +} +*/ + +// Pin map: this lets the basic I/O functions (digitalWrite(), +// analogRead(), pwmWrite()) translate from pin numbers to STM32 +// peripherals. +// +// PMAP_ROW() lets us specify a row (really a struct stm32_pin_info) +// in the pin map. Its arguments are: +// +// - GPIO device for the pin (GPIOA, etc.) +// - GPIO bit for the pin (0 through 15) +// - Timer device, or NULL if none +// - Timer channel (1 to 4, for PWM), or 0 if none +// - ADC device, or NULL if none +// - ADC channel, or ADCx if none +extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { + + /* Top header */ + + PMAP_ROW(GPIOA, 3, TIMER2, 4, ADC1, 3), /* D0/PA3 */ + PMAP_ROW(GPIOA, 2, TIMER2, 3, ADC1, 2), /* D1/PA2 */ + PMAP_ROW(GPIOA, 0, TIMER2, 1, ADC1, 0), /* D2/PA0 */ + PMAP_ROW(GPIOA, 1, TIMER2, 2, ADC1, 1), /* D3/PA1 */ + PMAP_ROW(GPIOB, 5, NULL, 0, NULL, ADCx), /* D4/PB5 */ + PMAP_ROW(GPIOB, 6, TIMER4, 1, NULL, ADCx), /* D5/PB6 */ + PMAP_ROW(GPIOA, 8, TIMER1, 1, NULL, ADCx), /* D6/PA8 */ + PMAP_ROW(GPIOA, 9, TIMER1, 2, NULL, ADCx), /* D7/PA9 */ + PMAP_ROW(GPIOA, 10, TIMER1, 3, NULL, ADCx), /* D8/PA10 */ + PMAP_ROW(GPIOB, 7, TIMER4, 2, NULL, ADCx), /* D9/PB7 */ + PMAP_ROW(GPIOA, 4, NULL, 0, ADC1, 4), /* D10/PA4 */ + PMAP_ROW(GPIOA, 7, TIMER3, 2, ADC1, 7), /* D11/PA7 */ + PMAP_ROW(GPIOA, 6, TIMER3, 1, ADC1, 6), /* D12/PA6 */ + PMAP_ROW(GPIOA, 5, NULL, 0, ADC1, 5), /* D13/PA5 (LED) */ + PMAP_ROW(GPIOB, 8, TIMER4, 3, NULL, ADCx), /* D14/PB8 */ + + /* Little header */ + + PMAP_ROW(GPIOC, 0, NULL, 0, ADC1, 10), /* D15/PC0 */ + PMAP_ROW(GPIOC, 1, NULL, 0, ADC1, 11), /* D16/PC1 */ + PMAP_ROW(GPIOC, 2, NULL, 0, ADC1, 12), /* D17/PC2 */ + PMAP_ROW(GPIOC, 3, NULL, 0, ADC1, 13), /* D18/PC3 */ + PMAP_ROW(GPIOC, 4, NULL, 0, ADC1, 14), /* D19/PC4 */ + PMAP_ROW(GPIOC, 5, NULL, 0, ADC1, 15), /* D20/PC5 */ + + /* External header */ + + PMAP_ROW(GPIOC, 13, NULL, 0, NULL, ADCx), /* D21/PC13 */ + PMAP_ROW(GPIOC, 14, NULL, 0, NULL, ADCx), /* D22/PC14 */ + PMAP_ROW(GPIOC, 15, NULL, 0, NULL, ADCx), /* D23/PC15 */ + PMAP_ROW(GPIOB, 9, TIMER4, 4, NULL, ADCx), /* D24/PB9 */ + PMAP_ROW(GPIOD, 2, NULL, 0, NULL, ADCx), /* D25/PD2 */ + PMAP_ROW(GPIOC, 10, NULL, 0, NULL, ADCx), /* D26/PC10 */ + PMAP_ROW(GPIOB, 0, TIMER3, 3, ADC1, 8), /* D27/PB0 */ + PMAP_ROW(GPIOB, 1, TIMER3, 4, ADC1, 9), /* D28/PB1 */ + PMAP_ROW(GPIOB, 10, NULL, 0, NULL, ADCx), /* D29/PB10 */ + PMAP_ROW(GPIOB, 11, NULL, 0, NULL, ADCx), /* D30/PB11 */ + PMAP_ROW(GPIOB, 12, NULL, 0, NULL, ADCx), /* D31/PB12 */ + PMAP_ROW(GPIOB, 13, NULL, 0, NULL, ADCx), /* D32/PB13 */ + PMAP_ROW(GPIOB, 14, NULL, 0, NULL, ADCx), /* D33/PB14 */ + PMAP_ROW(GPIOB, 15, NULL, 0, NULL, ADCx), /* D34/PB15 */ + PMAP_ROW(GPIOC, 6, NULL, 0, NULL, ADCx), /* D35/PC6 */ + PMAP_ROW(GPIOC, 7, NULL, 0, NULL, ADCx), /* D36/PC7 */ + PMAP_ROW(GPIOC, 8, NULL, 0, NULL, ADCx), /* D37/PC8 */ + PMAP_ROW(GPIOC, 9, NULL, 0, NULL, ADCx), /* D38/PC9 (BUT) */ + + /* JTAG header */ + + PMAP_ROW(GPIOA, 13, NULL, 0, NULL, ADCx), /* D39/PA13 */ + PMAP_ROW(GPIOA, 14, NULL, 0, NULL, ADCx), /* D40/PA14 */ + PMAP_ROW(GPIOA, 15, NULL, 0, NULL, ADCx), /* D41/PA15 */ + PMAP_ROW(GPIOB, 3, NULL, 0, NULL, ADCx), /* D42/PB3 */ + PMAP_ROW(GPIOB, 4, NULL, 0, NULL, ADCx), /* D43/PB4 */ +}; + +// Array of pins you can use for pwmWrite(). Keep it in Flash because +// it doesn't change, and so we don't waste RAM. +extern const uint8 boardPWMPins[] __FLASH__ = { + 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 14, 24, 27, 28 +}; + +// Array of pins you can use for analogRead(). +extern const uint8 boardADCPins[] __FLASH__ = { + 0, 1, 2, 3, 10, 11, 12, 15, 16, 17, 18, 19, 20, 27, 28 +}; + +// Array of pins that the board uses for something special. Other than +// the button and the LED, it's usually best to leave these pins alone +// unless you know what you're doing. +extern const uint8 boardUsedPins[] __FLASH__ = { + BOARD_LED_PIN, BOARD_BUTTON_PIN, BOARD_JTMS_SWDIO_PIN, + BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN +}; diff --git a/wirish/boards/maple.h b/wirish/boards/maple/include/board/board.h index a986884..72a4282 100644 --- a/wirish/boards/maple.h +++ b/wirish/boards/maple/include/board/board.h @@ -25,24 +25,27 @@ *****************************************************************************/ /** - * @file maple.h + * @file wirish/boards/maple/include/board/board.h * @author Marti Bolivar <mbolivar@leaflabs.com> - * @brief Private include file for Maple in boards.h + * @brief Maple board header. */ #ifndef _BOARD_MAPLE_H_ #define _BOARD_MAPLE_H_ +/* 72 MHz -> 72 cycles per microsecond. */ #define CYCLES_PER_MICROSECOND 72 -#define SYSTICK_RELOAD_VAL 71999 /* takes a cycle to reload */ +/* Pin number for the built-in button. */ #define BOARD_BUTTON_PIN 38 + +/* Pin number for the built-in LED. */ #define BOARD_LED_PIN 13 -/* Number of USARTs/UARTs whose pins are broken out to headers */ +/* Number of USARTs/UARTs whose pins are broken out to headers. */ #define BOARD_NR_USARTS 3 -/* Default USART pin numbers (not considering AFIO remap) */ +/* USART pin numbers. */ #define BOARD_USART1_TX_PIN 7 #define BOARD_USART1_RX_PIN 8 #define BOARD_USART2_TX_PIN 1 @@ -50,10 +53,10 @@ #define BOARD_USART3_TX_PIN 29 #define BOARD_USART3_RX_PIN 30 -/* Number of SPI ports */ +/* Number of SPI ports broken out to headers. */ #define BOARD_NR_SPI 2 -/* Default SPI pin numbers (not considering AFIO remap) */ +/* SPI pin numbers. */ #define BOARD_SPI1_NSS_PIN 10 #define BOARD_SPI1_MOSI_PIN 11 #define BOARD_SPI1_MISO_PIN 12 @@ -64,20 +67,22 @@ #define BOARD_SPI2_SCK_PIN 32 /* Total number of GPIO pins that are broken out to headers and - * intended for general use. */ + * intended for use. This includes pins like the LED, button, and + * debug port (JTAG/SWD) pins. */ #define BOARD_NR_GPIO_PINS 44 -/* Number of pins capable of PWM output */ +/* Number of pins capable of PWM output. */ #define BOARD_NR_PWM_PINS 15 -/* Number of pins capable of ADC conversion */ +/* Number of pins capable of ADC conversion. */ #define BOARD_NR_ADC_PINS 15 /* Number of pins already connected to external hardware. For Maple, - * these are just BOARD_LED_PIN and BOARD_BUTTON_PIN. */ + * these are just BOARD_LED_PIN, BOARD_BUTTON_PIN, and the debug port + * pins (see below). */ #define BOARD_NR_USED_PINS 7 -/* Debug port pins */ +/* Debug port pins. */ #define BOARD_JTMS_SWDIO_PIN 39 #define BOARD_JTCK_SWCLK_PIN 40 #define BOARD_JTDI_PIN 41 diff --git a/wirish/boards/maple_RET6.cpp b/wirish/boards/maple_RET6/board.cpp index cbd7e25..2ef7de7 100644 --- a/wirish/boards/maple_RET6.cpp +++ b/wirish/boards/maple_RET6/board.cpp @@ -25,18 +25,17 @@ *****************************************************************************/ /** - * @file maple_RET6.cpp + * @file wirish/boards/maple_RET6/board.cpp * @author Marti Bolivar <mbolivar@leaflabs.com> * @brief Maple RET6 Edition board file */ -#ifdef BOARD_maple_RET6 +#include <board/board.h> -#include "maple_RET6.h" +#include <libmaple/gpio.h> +#include <libmaple/timer.h> -#include "gpio.h" -#include "timer.h" -#include "wirish_types.h" +#include <wirish/wirish_types.h> void boardInit(void) { } @@ -114,5 +113,3 @@ extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { BOARD_LED_PIN, BOARD_BUTTON_PIN, BOARD_JTMS_SWDIO_PIN, BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN }; - -#endif diff --git a/wirish/boards/maple_RET6.h b/wirish/boards/maple_RET6/include/board/board.h index 9e7ce9d..05b9031 100644 --- a/wirish/boards/maple_RET6.h +++ b/wirish/boards/maple_RET6/include/board/board.h @@ -25,26 +25,24 @@ *****************************************************************************/ /** - * @file maple_RET6.h + * @file wirish/boards/maple_RET6/include/board/board.h * @author Marti Bolivar <mbolivar@leaflabs.com> - * @brief Private include file for Maple RET6 Edition in boards.h + * @brief Maple RET6 Edition board header. * - * See maple.h for more information on these definitions. + * See wirish/boards/maple/include/board/board.h for more information + * on these definitions. */ #ifndef _BOARDS_MAPLE_RET6_H_ #define _BOARDS_MAPLE_RET6_H_ -/* A few of these values will seem strange given that it's a - * high-density board. */ - #define CYCLES_PER_MICROSECOND 72 #define SYSTICK_RELOAD_VAL 71999 /* takes a cycle to reload */ #define BOARD_BUTTON_PIN 38 #define BOARD_LED_PIN 13 -/* Note: UART4 and UART5 have pins which aren't broken out :( */ +/* UART4 and UART5 have pins which aren't broken out :( */ #define BOARD_NR_USARTS 3 #define BOARD_USART1_TX_PIN 7 #define BOARD_USART1_RX_PIN 8 diff --git a/wirish/boards/maple_mini.cpp b/wirish/boards/maple_mini/board.cpp index f111a14..599cb66 100644 --- a/wirish/boards/maple_mini.cpp +++ b/wirish/boards/maple_mini/board.cpp @@ -25,19 +25,18 @@ *****************************************************************************/ /** - * @file maple_mini.cpp + * @file wirish/boards/maple_mini/board.cpp * @author Marti Bolivar <mbolivar@leaflabs.com> * @brief Maple Mini board file. */ -#ifdef BOARD_maple_mini +#include <board/board.h> -#include "maple_mini.h" +#include <libmaple/gpio.h> +#include <libmaple/timer.h> -#include "gpio.h" -#include "timer.h" -#include "wirish_debug.h" -#include "wirish_types.h" +#include <wirish/wirish_debug.h> +#include <wirish/wirish_types.h> /* Since we want the Serial Wire/JTAG pins as GPIOs, disable both SW * and JTAG debug support */ @@ -102,5 +101,3 @@ extern const uint8 boardADCPins[BOARD_NR_ADC_PINS] __FLASH__ = { extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { BOARD_LED_PIN, BOARD_BUTTON_PIN, USB_DP, USB_DM }; - -#endif diff --git a/wirish/boards/maple_mini.h b/wirish/boards/maple_mini/include/board/board.h index 40f507b..bfba46d 100644 --- a/wirish/boards/maple_mini.h +++ b/wirish/boards/maple_mini/include/board/board.h @@ -25,11 +25,12 @@ *****************************************************************************/ /** - * @file maple_mini.h + * @file wirish/boards/maple_mini/include/board/board.h * @author Marti Bolivar <mbolivar@leaflabs.com> - * @brief Private include file for Maple Mini in boards.h + * @brief Maple Mini board header. * - * See maple.h for more information on these definitions. + * See wirish/boards/maple/include/board/board.h for more information + * on these definitions. */ #ifndef _BOARD_MAPLE_MINI_H_ diff --git a/wirish/boards/maple_native.cpp b/wirish/boards/maple_native/board.cpp index 821be77..515cf5b 100644 --- a/wirish/boards/maple_native.cpp +++ b/wirish/boards/maple_native/board.cpp @@ -25,21 +25,19 @@ *****************************************************************************/ /** - * @file maple_native.cpp + * @file wirish/boards/maple_native/board.cpp * @author Marti Bolivar <mbolivar@leaflabs.com> * @brief Maple Native board file. */ -#ifdef BOARD_maple_native +#include <board/board.h> -#include "maple_native.h" +#include <libmaple/fsmc.h> +#include <libmaple/gpio.h> +#include <libmaple/rcc.h> +#include <libmaple/timer.h> -#include "fsmc.h" -#include "gpio.h" -#include "rcc.h" -#include "timer.h" - -#include "wirish_types.h" +#include <wirish/wirish_types.h> static void initSRAMChip(void); @@ -197,5 +195,3 @@ static void initSRAMChip(void) { fsmc_nor_psram_set_addset(regs, 0); fsmc_nor_psram_set_datast(regs, 3); } - -#endif diff --git a/wirish/boards/maple_native.h b/wirish/boards/maple_native/include/board/board.h index 7c09014..397afaf 100644 --- a/wirish/boards/maple_native.h +++ b/wirish/boards/maple_native/include/board/board.h @@ -25,11 +25,12 @@ *****************************************************************************/ /** - * @file maple_native.h + * @file wirish/boards/maple_native/include/board/board.h. * @author Marti Bolivar <mbolivar@leaflabs.com> - * @brief Private include file for Maple Native in boards.h + * @brief Maple Native board header file. * - * See maple.h for more information on these definitions. + * See wirish/boards/maple/include/board/board.h for more information + * on these definitions. */ #ifndef _BOARD_MAPLE_NATIVE_H_ diff --git a/wirish/boards/olimex_stm32_h103.cpp b/wirish/boards/olimex_stm32_h103/board.cpp index a9f0936..d9b8033 100644 --- a/wirish/boards/olimex_stm32_h103.cpp +++ b/wirish/boards/olimex_stm32_h103/board.cpp @@ -26,18 +26,17 @@ *****************************************************************************/ /** - * @file olimex_stm32_h103.cpp + * @file wirish/boards/olimex_stm32_h103/board.cpp * @author David Kiliani <mail@davidkiliani.de> - * @brief Olimex STM32_H103 PIN_MAP and boardInit(). + * @brief Olimex STM32_H103 board file. */ -#ifdef BOARD_olimex_stm32_h103 +#include <board/board.h> -#include "olimex_stm32_h103.h" +#include <libmaple/gpio.h> +#include <libmaple/timer.h> -#include "gpio.h" -#include "timer.h" -#include "wirish_types.h" +#include <wirish/wirish_types.h> void boardInit(void) { } @@ -118,5 +117,3 @@ extern const uint8 boardUsedPins[] __FLASH__ = { BOARD_LED_PIN, BOARD_BUTTON_PIN, BOARD_JTMS_SWDIO_PIN, BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN }; - -#endif diff --git a/wirish/boards/olimex_stm32_h103.h b/wirish/boards/olimex_stm32_h103/include/board/board.h index d2b5fcc..b312e26 100644 --- a/wirish/boards/olimex_stm32_h103.h +++ b/wirish/boards/olimex_stm32_h103/include/board/board.h @@ -26,9 +26,9 @@ *****************************************************************************/ /** - * @file olimex_stm32_h103.h + * @file wirish/boards/olimex_stm32_h103/include/board/board.h * @author David Kiliani <mail@davidkiliani.de> - * @brief Private include file for Olimex STM32_H103 in boards.h + * @brief Olimex STM32_H103 board header. */ #ifndef _BOARD_OLIMEX_STM32_H103_H_ diff --git a/wirish/boards/st_stm3220g_eval/board.cpp b/wirish/boards/st_stm3220g_eval/board.cpp new file mode 100644 index 0000000..674fc67 --- /dev/null +++ b/wirish/boards/st_stm3220g_eval/board.cpp @@ -0,0 +1,60 @@ +/****************************************************************************** + * The MIT License + * + * Copyright (c) 2011 LeafLabs, LLC. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + *****************************************************************************/ + +/** + * @file wirish/boards/st_stm3220g_eval/board.cpp + * @author Marti Bolivar <mbolivar@leaflabs.com> + * @brief STM3220G-EVAL board file. + */ + +#include <board/board.h> + +#include <libmaple/gpio.h> +#include <libmaple/timer.h> +#include <wirish/wirish_types.h> + +/* Board initialization. Unused. */ +void boardInit(void) { +} + +/* Pin map. Current restrictions: + * - LEDs and user button only + * - GPIO devices only (no timers etc. yet) + */ +#define pmap_row(dev, bit) {dev, NULL, NULL, bit, 0, ADCx} +extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { + pmap_row(GPIOG, 6), /* D0/PG6 (LED1) */ + pmap_row(GPIOG, 8), /* D1/PG8 (LED2) */ + pmap_row(GPIOI, 9), /* D2/PI9 (LED3) */ + pmap_row(GPIOC, 7), /* D4/PC7 (LED4) */ + pmap_row(GPIOG, 15), /* D5/PG15 (BUT) */ +}; +#undef pmap_row + +/* Special pin arrays. Unused. */ +extern const uint8 boardPWMPins[] __FLASH__ = {}; +extern const uint8 boardADCPins[] __FLASH__ = {}; +extern const uint8 boardUsedPins[] __FLASH__ = {}; diff --git a/wirish/boards/st_stm3220g_eval/include/board/board.h b/wirish/boards/st_stm3220g_eval/include/board/board.h new file mode 100644 index 0000000..fe9658a --- /dev/null +++ b/wirish/boards/st_stm3220g_eval/include/board/board.h @@ -0,0 +1,53 @@ +/****************************************************************************** + * The MIT License + * + * Copyright (c) 2012 LeafLabs, LLC. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + *****************************************************************************/ + +/** + * @file wirish/boards/st_stm3220g_eval/include/board/board.h + * @author Marti Bolivar <mbolivar@leaflabs.com> + * @brief STM3220G-EVAL board stub header. + * + * This (and the corresponding board.cpp) needs to be fixed and + * fleshed out. Do it later? Maybe someone who wants support for this + * board will do it. + */ + +#ifndef _BOARD_ST_STM3220G_EVAL_H_ +#define _BOARD_ST_STM3220G_EVAL_H_ + +#define CYCLES_PER_MICROSECOND 120 +#define SYSTICK_RELOAD_VAL 119999 /* takes a cycle to reload */ + +#define BOARD_BUTTON_PIN 5 +#define BOARD_LED_PIN 0 + +#define BOARD_NR_USARTS 0 +#define BOARD_NR_SPI 0 +#define BOARD_NR_GPIO_PINS 6 +#define BOARD_NR_PWM_PINS 0 +#define BOARD_NR_ADC_PINS 0 +#define BOARD_NR_USED_PINS 6 + +#endif |