diff options
Diffstat (limited to 'libmaple/stm32.h')
-rw-r--r-- | libmaple/stm32.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libmaple/stm32.h b/libmaple/stm32.h index 985b941..d7e946e 100644 --- a/libmaple/stm32.h +++ b/libmaple/stm32.h @@ -22,5 +22,44 @@ #endif #endif +/* MCU-specific configuration */ +#if defined(MCU_STM32F103RB) + /* e.g., LeafLabs Maple */ + + /* Number of GPIO ports (GPIOA, GPIOB, etc.) */ + #define NR_GPIO_PORTS 4 + + /* SRAM size, in bytes */ + #define SRAM_SIZE 0x5000 + +#elif defined(MCU_STM32F103ZE) + /* e.g., LeafLabs Maple Native */ + + #define NR_GPIO_PORTS 7 + #define SRAM_SIZE 0x10000 + +#elif defined(MCU_STM32F103CB) + /* e.g., LeafLabs Maple Mini */ + + /* Note that this is not, strictly speaking, true. But only pins + 0 and 1 exist, and they're used for OSC on the Mini, so we'll + live with this for now. */ + #define NR_GPIO_PORTS 3 + + #define SRAM_SIZE 0x5000 + +#elif defined(MCU_STM32F103RE) + /* e.g., LeafLabs Maple RET6 edition */ + + #define NR_GPIO_PORTS 4 + #define SRAM_SIZE 0x10000 + +#else + +#error "No MCU type specified. Add something like -DMCU_STM32F103RB " \ + "to your compiler arguments (probably in a Makefile)." + +#endif + #endif |