diff options
Diffstat (limited to 'libmaple/libmaple.h')
-rw-r--r-- | libmaple/libmaple.h | 94 |
1 files changed, 53 insertions, 41 deletions
diff --git a/libmaple/libmaple.h b/libmaple/libmaple.h index f893cff..02e27d3 100644 --- a/libmaple/libmaple.h +++ b/libmaple/libmaple.h @@ -42,20 +42,6 @@ #define DEBUG_LEVEL DEBUG_ALL #endif -/* Bitbanded Memory sections */ -#define BITBAND_SRAM_REF 0x20000000 -#define BITBAND_SRAM_BASE 0x22000000 -#define BITBAND_PERI_REF 0x40000000 -#define BITBAND_PERI_BASE 0x42000000 - -#define USB_CONFIG_MAX_POWER (100 >> 1) -#define RESET_DELAY (100) - -#define ERROR_USART_NUM USART2 -#define ERROR_USART_BAUD 9600 -#define ERROR_TX_PORT GPIOA_BASE -#define ERROR_TX_PIN 2 - /* MCU-specific configuration */ #if defined(MCU_STM32F103RB) /* e.g., LeafLabs Maple */ @@ -88,21 +74,39 @@ #define VCOM_ID_PRODUCT 0x0004 #define USB_DISC_BANK GPIOC_BASE #define USB_DISC_PIN 12 + #define USB_CONFIG_MAX_POWER (100 >> 1) + #define RESET_DELAY (100) /* Where to put usercode (based on space reserved for bootloader) */ #define USER_ADDR_ROM 0x08005000 #define USER_ADDR_RAM 0x20000C00 - #define STACK_TOP 0x20000800 /* FIXME can this possibly be correct? */ + #define STACK_TOP 0x20000800 + /* Debug port settings (from ASSERT) */ #define ERROR_LED_PORT GPIOB_BASE #define ERROR_LED_PIN 12 + #define ERROR_USART_NUM USART2 + #define ERROR_USART_BAUD 9600 + #define ERROR_TX_PORT GPIOA_BASE + #define ERROR_TX_PIN 2 + + /* Just in case, most boards have at least some memory */ + #ifndef RAMSIZE + # define RAMSIZE (caddr_t)0x50000 + #endif + + /* Bitbanded Memory sections */ + #define BITBAND_SRAM_REF 0x20000000 + #define BITBAND_SRAM_BASE 0x22000000 + #define BITBAND_PERI_REF 0x40000000 + #define BITBAND_PERI_BASE 0x42000000 #elif defined(MCU_STM32F103ZE) /* e.g., LeafLabs Maple Native */ #define NR_GPIO_PORTS 7 #define NR_GPIO_PINS 100 - #define NR_BKP_REGS 42 + #define NR_BKP_REGS 42 /* TODO test on Native */ #define NR_TIMERS 8 #define NR_USART 5 /* NB: 4 and 5 are UART only */ #define NR_FSMC 1 @@ -112,6 +116,8 @@ #define VCOM_ID_PRODUCT 0x0004 #define USB_DISC_BANK GPIOB_BASE #define USB_DISC_PIN 8 + #define USB_CONFIG_MAX_POWER (100 >> 1) + #define RESET_DELAY (100) #define USER_ADDR_ROM 0x08005000 #define USER_ADDR_RAM 0x20000C00 @@ -119,13 +125,26 @@ #define ERROR_LED_PORT GPIOC_BASE #define ERROR_LED_PIN 15 + #define ERROR_USART_NUM USART1 + #define ERROR_USART_BAUD 9600 + #define ERROR_TX_PORT GPIOA_BASE + #define ERROR_TX_PIN 10 + + #ifndef RAMSIZE + # define RAMSIZE (caddr_t)0x50000 + #endif + + #define BITBAND_SRAM_REF 0x20000000 + #define BITBAND_SRAM_BASE 0x22000000 + #define BITBAND_PERI_REF 0x40000000 + #define BITBAND_PERI_BASE 0x42000000 #elif defined(MCU_STM32F103CB) /* e.g., LeafLabs Maple Mini */ #define NR_GPIO_PORTS 3 #define NR_GPIO_PINS 34 - #define NR_BKP_REGS 10 + #define NR_BKP_REGS 10 /* TODO test on Mini */ #define NR_TIMERS 4 #define NR_USART 3 #define NR_FSMC 0 @@ -135,36 +154,29 @@ #define VCOM_ID_PRODUCT 0x0005 #define USB_DISC_BANK GPIOB_BASE #define USB_DISC_PIN 9 + #define USB_CONFIG_MAX_POWER (100 >> 1) + #define RESET_DELAY 100 #define USER_ADDR_ROM 0x08005000 #define USER_ADDR_RAM 0x20000C00 #define STACK_TOP 0x20000800 #define ERROR_LED_PORT GPIOB_BASE - #define ERROR_LED_PIN 1 - -#elif defined(MCU_STM32F103RE) - /* e.g., LeafLabs Maple RET6 Edition */ - - #define NR_GPIO_PORTS 4 - #define NR_GPIO_PINS 39 - #define NR_BKP_REGS 42 - #define NR_TIMERS 8 - #define NR_USART 5 /* NB: 4 and 5 are UART only */ - #define NR_FSMC 0 - #define NR_DAC_PINS 0 /* HACK: LED hooked up to DAC2 */ - - #define VCOM_ID_VENDOR 0x1EAF - #define VCOM_ID_PRODUCT 0x0004 - #define USB_DISC_BANK GPIOC_BASE - #define USB_DISC_PIN 12 - - #define USER_ADDR_ROM 0x08005000 - #define USER_ADDR_RAM 0x20000C00 - #define STACK_TOP 0x20000800 - - #define ERROR_LED_PORT GPIOA_BASE - #define ERROR_LED_PIN 5 + #define ERROR_LED_PIN 12 + #define ERROR_USART_NUM USART2 + #define ERROR_USART_BAUD 9600 + #define ERROR_TX_PORT GPIOA_BASE + #define ERROR_TX_PIN 2 + + #ifndef RAMSIZE + # define RAMSIZE (caddr_t)0x50000 + #endif + + /* Bitbanded Memory sections */ + #define BITBAND_SRAM_REF 0x20000000 + #define BITBAND_SRAM_BASE 0x22000000 + #define BITBAND_PERI_REF 0x40000000 + #define BITBAND_PERI_BASE 0x42000000 #else |