aboutsummaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
Diffstat (limited to 'support')
-rw-r--r--support/gdb/gpio.gdb12
-rw-r--r--support/ld/libcs3_stm32_high_density.abin9464 -> 9464 bytes
-rw-r--r--support/ld/libcs3_stm32_src/stm32_vector_table.S34
-rw-r--r--support/ld/maple_RET6/flash.ld18
-rw-r--r--support/ld/maple_RET6/jtag.ld17
-rw-r--r--support/ld/maple_RET6/ram.ld18
-rw-r--r--support/ld/maple_native/ram.ld1
-rwxr-xr-xsupport/scripts/copy-to-ide18
8 files changed, 94 insertions, 24 deletions
diff --git a/support/gdb/gpio.gdb b/support/gdb/gpio.gdb
new file mode 100644
index 0000000..4376cfd
--- /dev/null
+++ b/support/gdb/gpio.gdb
@@ -0,0 +1,12 @@
+set print pretty on
+
+print "GPIOA registers:"
+p/x *GPIOA->regs
+print "GPIOB registers:"
+p/x *GPIOB->regs
+print "GPIOC registers:"
+p/x *GPIOC->regs
+print "GPIOD registers:"
+p/x *GPIOD->regs
+print "AFIO registers:"
+p/x *(struct afio_reg_map*)0x40010000
diff --git a/support/ld/libcs3_stm32_high_density.a b/support/ld/libcs3_stm32_high_density.a
index 472ed28..a09d7f0 100644
--- a/support/ld/libcs3_stm32_high_density.a
+++ b/support/ld/libcs3_stm32_high_density.a
Binary files differ
diff --git a/support/ld/libcs3_stm32_src/stm32_vector_table.S b/support/ld/libcs3_stm32_src/stm32_vector_table.S
index 8c71cb5..c3f0fc7 100644
--- a/support/ld/libcs3_stm32_src/stm32_vector_table.S
+++ b/support/ld/libcs3_stm32_src/stm32_vector_table.S
@@ -68,23 +68,23 @@ __cs3_stm32_vector_table:
.long __irq_rtcalarm
.long __irq_usbwakeup
#if defined (STM32_HIGH_DENSITY)
- .weak __irq_tim8_brk
- .weak __irq_tim8_up
- .weak __irq_tim8_trg_com
- .weak __irq_tim8_cc
- .weak __irq_adc3
- .weak __irq_fsmc
- .weak __irq_sdio
- .weak __irq_tim5
- .weak __irq_spi3
- .weak __irq_uart4
- .weak __irq_uart5
- .weak __irq_tim6
- .weak __irq_tim7
- .weak __irq_dma2_channel1
- .weak __irq_dma2_channel2
- .weak __irq_dma2_channel3
- .weak __irq_dma2_channel4_5
+ .long __irq_tim8_brk
+ .long __irq_tim8_up
+ .long __irq_tim8_trg_com
+ .long __irq_tim8_cc
+ .long __irq_adc3
+ .long __irq_fsmc
+ .long __irq_sdio
+ .long __irq_tim5
+ .long __irq_spi3
+ .long __irq_uart4
+ .long __irq_uart5
+ .long __irq_tim6
+ .long __irq_tim7
+ .long __irq_dma2_channel1
+ .long __irq_dma2_channel2
+ .long __irq_dma2_channel3
+ .long __irq_dma2_channel4_5
#endif /* STM32_HIGH_DENSITY */
.size __cs3_stm32_vector_table, . - __cs3_stm32_vector_table
diff --git a/support/ld/maple_RET6/flash.ld b/support/ld/maple_RET6/flash.ld
new file mode 100644
index 0000000..2a4f0c7
--- /dev/null
+++ b/support/ld/maple_RET6/flash.ld
@@ -0,0 +1,18 @@
+/*
+ * STM32F103RET6 high density chip linker script for use with Maple
+ * bootloader. Loads to Flash.
+ */
+
+MEMORY
+{
+ ram (rwx) : ORIGIN = 0x20000C00, LENGTH = 61K
+ rom (rx) : ORIGIN = 0x08005000, LENGTH = 492K
+}
+
+GROUP(libcs3_stm32_high_density.a)
+
+REGION_ALIAS("REGION_TEXT", rom);
+REGION_ALIAS("REGION_DATA", ram);
+REGION_ALIAS("REGION_BSS", ram);
+
+INCLUDE common_rom.inc
diff --git a/support/ld/maple_RET6/jtag.ld b/support/ld/maple_RET6/jtag.ld
new file mode 100644
index 0000000..88f45e0
--- /dev/null
+++ b/support/ld/maple_RET6/jtag.ld
@@ -0,0 +1,17 @@
+/*
+ * STM32F103RET6 high density bare metal linker script.
+ */
+
+MEMORY
+{
+ ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
+ rom (rx) : ORIGIN = 0x08000000, LENGTH = 512K
+}
+
+GROUP(libcs3_stm32_high_density.a)
+
+REGION_ALIAS("REGION_TEXT", rom);
+REGION_ALIAS("REGION_DATA", ram);
+REGION_ALIAS("REGION_BSS", ram);
+
+INCLUDE common_rom.inc
diff --git a/support/ld/maple_RET6/ram.ld b/support/ld/maple_RET6/ram.ld
new file mode 100644
index 0000000..f09acd9
--- /dev/null
+++ b/support/ld/maple_RET6/ram.ld
@@ -0,0 +1,18 @@
+/*
+ * STM32F103RET6 high density chip linker script for use with Maple
+ * bootloader. Loads to RAM.
+ */
+
+MEMORY
+{
+ ram (rwx) : ORIGIN = 0x20000C00, LENGTH = 61K
+ rom (rx) : ORIGIN = 0x08005000, LENGTH = 0K
+}
+
+GROUP(libcs3_stm32_high_density.a)
+
+REGION_ALIAS("REGION_TEXT", ram);
+REGION_ALIAS("REGION_DATA", ram);
+REGION_ALIAS("REGION_BSS", ram);
+
+INCLUDE common_ram.inc
diff --git a/support/ld/maple_native/ram.ld b/support/ld/maple_native/ram.ld
index 22c09cd..d5bd3b0 100644
--- a/support/ld/maple_native/ram.ld
+++ b/support/ld/maple_native/ram.ld
@@ -19,4 +19,3 @@ REGION_ALIAS("REGION_DATA", ram);
REGION_ALIAS("REGION_BSS", ram);
INCLUDE common_ram.inc
-
diff --git a/support/scripts/copy-to-ide b/support/scripts/copy-to-ide
index 301126d..5254974 100755
--- a/support/scripts/copy-to-ide
+++ b/support/scripts/copy-to-ide
@@ -1,7 +1,8 @@
#!/bin/sh
-# This hack copies the necessary library files into the Maple IDE
-# repository.
+# This hack copies libmaple's source, linker scripts, and built
+# documentation into the Maple IDE repository (which is expected as
+# its first argument).
DEST=$1
@@ -18,14 +19,18 @@ LMAPLE_SRC="LICENSE
./libmaple/usb/usb_lib/*.h
./libmaple/usb/usb_lib/*.c
./wirish/*.h
- ./wirish/*.c
./wirish/main.cxx
./wirish/*.cpp
./wirish/comm/*.cpp
./wirish/comm/*.h
+ ./support/ld/common_ram.inc
+ ./support/ld/common_rom.inc
+ ./support/ld/libcs3_stm32_high_density.a
+ ./support/ld/libcs3_stm32_med_density.a
./support/ld/maple
+ ./support/ld/maple_mini
./support/ld/maple_native
- ./support/ld/libcs3-lanchon-stm32.a
+ ./support/ld/maple_RET6
./support/ld/names.inc"
LMAPLE_DOCS=./docs
@@ -40,7 +45,8 @@ fi
# source
echo Copying libmaple source
-rm -rf $DEST_CORES/*.c $DEST_CORES/*.cpp $DEST_CORES/*.h $DEST_CORES/*.cxx $DEST_CORES/*.inc $DEST_CORES/*.a $DEST_CORES/*.S $DEST_CORES/maple $DEST_CORES/maple_native
+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_*
cp -R $LMAPLE_SRC $DEST_CORES
echo Copying over libraries
@@ -51,7 +57,7 @@ echo Deleting old reference directory contents
rm -rf $DEST_REF/*
echo Rebuilding documentation
-( cd $LMAPLE_DOCS; doxygen && make clean 2>/dev/null 1>/dev/null && make html )
+( cd $LMAPLE_DOCS; doxygen >/dev/null 2>&1 && make clean >/dev/null 2>&1 && make html )
echo Copying over documentation
cp -R $LMAPLE_DOCS_BUILD/* $DEST_REF