diff options
| -rw-r--r-- | libmaple/include/libmaple/stm32.h | 4 | ||||
| -rw-r--r-- | libmaple/stm32f2/include/series/stm32.h | 6 | ||||
| -rwxr-xr-x | support/scripts/copy-to-ide | 24 | ||||
| -rw-r--r-- | wirish/boards.cpp | 11 | ||||
| -rw-r--r-- | wirish/syscalls.c | 4 |
5 files changed, 30 insertions, 19 deletions
diff --git a/libmaple/include/libmaple/stm32.h b/libmaple/include/libmaple/stm32.h index 3845cab..75acc57 100644 --- a/libmaple/include/libmaple/stm32.h +++ b/libmaple/include/libmaple/stm32.h @@ -77,11 +77,11 @@ extern "C" { !defined(STM32_NR_GPIO_PORTS) || \ !defined(STM32_TIMER_MASK) || \ !defined(STM32_DELAY_US_MULT) || \ - !defined(STM32_SRAM_END) || \ +/* !defined(STM32_SRAM_END) || */ \ !defined(STM32_HAVE_DAC) || \ !defined(STM32_HAVE_FSMC) || \ !defined(STM32_HAVE_USB)) -#error "Bad STM32F1 configuration. Check <series/stm32.h> header for your MCU." +#error "Bad STM32Fx configuration. Check <series/stm32.h> header for your MCU." #endif /* diff --git a/libmaple/stm32f2/include/series/stm32.h b/libmaple/stm32f2/include/series/stm32.h index 180ab30..e71e787 100644 --- a/libmaple/stm32f2/include/series/stm32.h +++ b/libmaple/stm32f2/include/series/stm32.h @@ -49,7 +49,7 @@ extern "C" { #endif #ifndef STM32_DELAY_US_MULT -#define STM32_DELAY_US_MULT 20 /* FIXME: dummy value. */ +#define STM32_DELAY_US_MULT 40 /* 120MHz flash based program. */ #endif /* @@ -62,10 +62,10 @@ extern "C" { #define STM32_HAVE_USB 1 #define STM32_HAVE_DAC 1 -#if defined(MCU_STM32F207IC) || defined(MCU_STM32F207IG) +#if defined(MCU_STM32F207IC) || defined(MCU_STM32F207IG) || defined(MCU_STM32F205RF) # define STM32_NR_GPIO_PORTS 9 # define STM32_TIMER_MASK 0x7FFE /* TIMER1-TIMER14. */ -# define STM32_SRAM_END ((void*)0x20020000) +/*# define STM32_SRAM_END ((void*)0x20020000) */ #else #warning "Unsupported or unspecified STM32F2 MCU." #endif diff --git a/support/scripts/copy-to-ide b/support/scripts/copy-to-ide index e68abca..3f28dfe 100755 --- a/support/scripts/copy-to-ide +++ b/support/scripts/copy-to-ide @@ -13,23 +13,24 @@ LMAPLE_SRC="LICENSE ./libmaple/*.h ./libmaple/*.c ./libmaple/*.S + ./wirish/*.h + ./wirish/main.cxx + ./wirish/*.cpp ./libmaple/usb/*.h ./libmaple/usb/*.c ./libmaple/usb/usb_lib/*.h ./libmaple/usb/usb_lib/*.c - ./wirish/*.h - ./wirish/main.cxx - ./wirish/*.cpp ./wirish/comm/*.cpp ./wirish/comm/*.h - ./wirish/boards/*.h - ./wirish/boards/*.cpp - ./support/ld/common.inc - ./support/ld/maple - ./support/ld/maple_mini - ./support/ld/maple_native - ./support/ld/maple_RET6 - ./support/ld/names.inc" + ./wirish/boards + ./libmaple/include + ./wirish/include + ./ld/common.inc + ./ld/maple + ./ld/maple_mini + ./ld/maple_native + ./ld/maple_RET6 + ./ld/names.inc" echo "First make sure DEST exists: $DEST" if !(test -d $DEST) @@ -42,6 +43,7 @@ fi echo Copying libmaple source rm -rf $DEST_CORES/*.c $DEST_CORES/*.cpp $DEST_CORES/*.h $DEST_CORES/*.cxx $DEST_CORES/*.S rm -rf $DEST_CORES/*.inc $DEST_CORES/*.a $DEST_CORES/maple $DEST_CORES/maple_* +mkdir -p $DEST_CORES cp -R $LMAPLE_SRC $DEST_CORES echo Copying over libraries diff --git a/wirish/boards.cpp b/wirish/boards.cpp index dbc308e..864e37f 100644 --- a/wirish/boards.cpp +++ b/wirish/boards.cpp @@ -70,7 +70,7 @@ void init(void) { wirish::priv::board_setup_gpio(); setup_adcs(); setup_timers(); - wirish::priv::board_setup_usb(); +// wirish::priv::board_setup_usb(); wirish::priv::series_init(); boardInit(); } @@ -150,7 +150,8 @@ static void setup_clocks(void) { */ #define USER_ADDR_ROM 0x08005000 #define USER_ADDR_RAM 0x20000C00 - +extern char __text_start__; + static void setup_nvic(void) { #ifdef VECT_TAB_FLASH nvic_init(USER_ADDR_ROM, 0); @@ -158,8 +159,12 @@ static void setup_nvic(void) { nvic_init(USER_ADDR_RAM, 0); #elif defined VECT_TAB_BASE nvic_init((uint32)0x08000000, 0); +#elif defined VECT_TAB_ADDR + // A numerically supplied value + nvic_init((uint32)VECT_TAB_ADDR, 0); #else -#error "You must select a base address for the vector table." + // Use the __text_start__ value from the linker scipt, this should be the start of the vector table + nvic_init((uint32)&__text_start__, 0); #endif } diff --git a/wirish/syscalls.c b/wirish/syscalls.c index 1e62d51..9a573a3 100644 --- a/wirish/syscalls.c +++ b/wirish/syscalls.c @@ -168,3 +168,7 @@ __weak char *fgets(char *s, int bufsize, void *f) { cgets(s, bufsize); return s; } + +__weak int _exit(int exitcode) { + while (1); +} |
