From 695f0dc4baa1bf682eec0226dc5632a9200174f1 Mon Sep 17 00:00:00 2001 From: bnewbold Date: Tue, 31 Aug 2010 15:21:09 -0400 Subject: MCU-specific, not BOARD-specific --- libmaple/libmaple.h | 58 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 9 deletions(-) (limited to 'libmaple/libmaple.h') diff --git a/libmaple/libmaple.h b/libmaple/libmaple.h index cf5802c..ce0d630 100644 --- a/libmaple/libmaple.h +++ b/libmaple/libmaple.h @@ -36,18 +36,58 @@ // General configuration #define MAPLE_DEBUG 0 -#ifdef BOARD_maple - #include "board_maple.h" -#endif -/* -#ifdef BOARD_maple-native - #include "board_maple_native.h" +// MCU-specific configuration +#ifdef MCU_STM32F103RB // eg, LeafLabs Maple + + // Number of GPIO ports (GPIOA, GPIOB, etc), definately used + #define NR_GPIO_PORTS 4 + + // Number of timer devices ports, definately used + #define NR_TIMERS 4 + + // Total number of GPIO pins + #define NR_MAPLE_PINS 39 + + // Number of ADC pins. Not actually used? + #define NR_ANALOG_PINS 29 + + // USB Identifier numbers + // Descriptor strings must be modified by hand in usb/descriptors.c for now + #define VCOM_ID_VENDOR 0x1EAF + #define VCOM_ID_PRODUCT 0x0004 + #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 + + // Debug port settings (from ASSERT) + #define ERROR_LED_PORT GPIOA_BASE + #define ERROR_LED_PIN 5 + #define ERROR_USART_NUM 2 + #define ERROR_USART_BAUD 9600 + #define ERROR_TX_PIN 2 + #define ERROR_TX_PORT GPIOA_BASE + + // 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 #endif -#ifdef BOARD_maple-mini - #include "board_maple_mini.h" +// Make sure MCU-specific settings were defined +#ifndef NR_GPIO_PORTS +#error Error: No MCU type specified. Add something like -DMCU_STM32F103RB \ + to your compiler arguments (probably in a Makefile). #endif -*/ // Requires board configuration info #include "util.h" -- cgit v1.2.3