summaryrefslogtreecommitdiff
path: root/bluefnorf
diff options
context:
space:
mode:
Diffstat (limited to 'bluefnorf')
-rw-r--r--bluefnorf/.gitignore8
-rw-r--r--bluefnorf/Makefile75
-rw-r--r--bluefnorf/main.c39
-rw-r--r--bluefnorf/main.map1759
-rw-r--r--bluefnorf/openocd.cfg8
-rw-r--r--bluefnorf/stm32f103c8t6.ld14
-rw-r--r--bluefnorf/usb.c331
-rw-r--r--bluefnorf/usb.h12
8 files changed, 2246 insertions, 0 deletions
diff --git a/bluefnorf/.gitignore b/bluefnorf/.gitignore
new file mode 100644
index 0000000..2c6eb8b
--- /dev/null
+++ b/bluefnorf/.gitignore
@@ -0,0 +1,8 @@
+*.bin
+*.hex
+*.o
+*.elf
+*.lst
+
+*.swp
+*.swo
diff --git a/bluefnorf/Makefile b/bluefnorf/Makefile
new file mode 100644
index 0000000..c923e82
--- /dev/null
+++ b/bluefnorf/Makefile
@@ -0,0 +1,75 @@
+
+OPENCM3_PATH ?= ../../libopencm3
+OPENCM3_LIBRARY_PATH ?= $(OPENCM3_PATH)/lib
+OPENCM3_INCLUDE_PATH ?= $(OPENCM3_PATH)/include
+
+CC := arm-none-eabi-gcc
+OBJCOPY := arm-none-eabi-objcopy
+OBJDUMP := arm-none-eabi-objdump
+SIZE := arm-none-eabi-size
+
+
+# CFLAGS = -Wall -g -std=gnu11 -Os
+CFLAGS = -Wall -g -std=gnu11 -O1
+CFLAGS += -mlittle-endian -mthumb
+CFLAGS += -mcpu=cortex-m3
+CFLAGS += -mfix-cortex-m3-ldrd
+CFLAGS += -msoft-float
+#CFLAGS += -ffunction-sections -fdata-sections -Wl,--gc-sections
+CFLAGS += -Wl,-Map=main.map
+
+
+CFLAGS += -Tstm32f103c8t6.ld
+
+
+CFLAGS += -I$(OPENCM3_INCLUDE_PATH)
+CFLAGS += -L$(OPENCM3_LIBRARY_PATH)
+
+CFLAGS += -DSTM32F1
+
+CFLAGS += --static -nostartfiles
+
+
+
+LDFLAGS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
+LDFLAGS += -lopencm3_stm32f1 -lm
+
+AS = arm-none-eabi-as
+
+all: main.elf
+
+
+cr4_fft_1024_stm32.o: cr4_fft_1024_stm32.s
+ $(AS) -o cr4_fft_1024_stm32.o cr4_fft_1024_stm32.s
+
+%.o: %.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+
+main.elf: main.o usb.o
+ $(CC) $(CFLAGS) -o main.elf main.o usb.o $(LDFLAGS)
+
+ $(OBJCOPY) -O ihex $@ $(@:.elf=.hex)
+ $(OBJCOPY) -O binary $@ $(@:.elf=.bin)
+ $(OBJDUMP) -St $@ >$(@:.elf=.lst)
+ $(SIZE) $@
+
+
+
+flash: main.elf
+ openocd -f openocd.cfg -c "program $< verify reset exit"
+
+
+clean:
+ rm -f *.o
+ rm -f *.hex
+ rm -f *.lst
+ rm -f *.map
+ rm -f *.elf
+ rm -f *.bin
+
+
+
+
+.PHONY: flash clean
+
diff --git a/bluefnorf/main.c b/bluefnorf/main.c
new file mode 100644
index 0000000..be45068
--- /dev/null
+++ b/bluefnorf/main.c
@@ -0,0 +1,39 @@
+/*
+ * ADC test: Try to get as many samples as possible
+ * using fast interleave mode and DMA
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <libopencm3/cm3/nvic.h>
+#include <libopencm3/stm32/rcc.h>
+#include <libopencm3/stm32/gpio.h>
+#include <libopencm3/stm32/adc.h>
+#include <libopencm3/stm32/dma.h>
+
+#include "usb.h"
+
+int main(void)
+{
+ int i = 0;
+ // const char* line;
+
+ // Clock Setup
+ rcc_clock_setup_in_hse_8mhz_out_72mhz();
+
+ // Initialize USB
+ usb_serial_init();
+
+ while (1) {
+ /*
+ if( i % 100000 == 0 ) {
+ // Read ADC
+ printf("Fnord 42 :: %d %d\r\n", _adc_samples[0], _adc_samples[1]);
+ }
+ */
+
+ i++;
+ }
+}
diff --git a/bluefnorf/main.map b/bluefnorf/main.map
new file mode 100644
index 0000000..ecfe563
--- /dev/null
+++ b/bluefnorf/main.map
@@ -0,0 +1,1759 @@
+Archive member included to satisfy reference by file (symbol)
+
+/usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a(lib_a-memset.o)
+ usb.o (memset)
+../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ usb.o (gpio_set_mode)
+../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ main.o (rcc_clock_setup_in_hse_8mhz_out_72mhz)
+../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ usb.o (gpio_set)
+../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ usb.o (timer_reset)
+../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ usb.o (rcc_periph_clock_enable)
+../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o) (flash_set_ws)
+../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ usb.o (usbd_init)
+../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ usb.o (usbd_register_control_callback)
+../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ usb.o (usbd_register_set_config_callback)
+../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ usb.o (st_usbfs_v1_usb_driver)
+../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ (reset_handler)
+../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ usb.o (nvic_enable_irq)
+../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o) (cm3_assert_failed)
+../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o) (flash_get_status_flags)
+../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o) (st_usbfs_set_address)
+/usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-memcpy.o)
+ ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o) (memcpy)
+/usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-strlen-stub.o)
+ ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o) (strlen)
+
+Allocating common symbols
+Common symbol size file
+
+usbd_control_buffer
+ 0x80 usb.o
+
+Discarded input sections
+
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0x76 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000000000 0xdfd ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000000000 0x82c ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000000000 0x82c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0xdc ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000000000 0x82 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x52 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x55 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x35 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x9c ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x57 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x1f ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x43 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x187 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x353 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x196 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000000000 0x1c ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x52 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x55 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x35 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x9c ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x16d ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x57 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x1f ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x43 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x187 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x353 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x35 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x196 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000000000 0x1c ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x82c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000000000 0x1c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000000000 0x1a2 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000000000 0x16 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0xdc ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000000000 0x82 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .group 0x0000000000000000 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x82c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x3a ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x29e ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x19c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x1c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_macro 0x0000000000000000 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+Memory Configuration
+
+Name Origin Length Attributes
+rom 0x0000000008000000 0x0000000000010000 xr
+ram 0x0000000020000000 0x0000000000005000 xrw
+*default* 0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD main.o
+LOAD usb.o
+START GROUP
+LOAD /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a
+LOAD /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7-m/libgcc.a
+LOAD /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libnosys.a
+END GROUP
+LOAD ../../libopencm3/lib/libopencm3_stm32f1.a
+LOAD /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libm.a
+START GROUP
+LOAD /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7-m/libgcc.a
+LOAD /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a
+LOAD /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a
+END GROUP
+ 0x0000000020005000 __estack = 0x20005000
+
+.text 0x0000000008000000 0x2de0
+ *(.vectors)
+ .vectors 0x0000000008000000 0x150 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ 0x0000000008000000 vector_table
+ *(.text*)
+ .text 0x0000000008000150 0xc main.o
+ 0x0000000008000150 main
+ .text 0x000000000800015c 0x1e4 usb.o
+ 0x00000000080001d4 usb_gpio_init
+ 0x000000000800020c usb_timer_init
+ 0x0000000008000258 usb_timer_start
+ 0x0000000008000268 tim4_isr
+ 0x0000000008000294 usb_serial_init
+ .text 0x0000000008000340 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a(lib_a-memset.o)
+ .text.memset 0x0000000008000340 0x9c /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a(lib_a-memset.o)
+ 0x0000000008000340 memset
+ .text 0x00000000080003dc 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .text.gpio_set_mode
+ 0x00000000080003dc 0x62 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ 0x00000000080003dc gpio_set_mode
+ *fill* 0x000000000800043e 0x2
+ .text.gpio_set_eventout
+ 0x0000000008000440 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ 0x0000000008000440 gpio_set_eventout
+ .text.gpio_primary_remap
+ 0x0000000008000450 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ 0x0000000008000450 gpio_primary_remap
+ .text.gpio_secondary_remap
+ 0x0000000008000464 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ 0x0000000008000464 gpio_secondary_remap
+ .text 0x0000000008000474 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .text.rcc_osc_on.part.1
+ 0x0000000008000474 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .text.rcc_osc_ready_int_clear
+ 0x0000000008000484 0x5c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000484 rcc_osc_ready_int_clear
+ .text.rcc_osc_ready_int_enable
+ 0x00000000080004e0 0x5c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080004e0 rcc_osc_ready_int_enable
+ .text.rcc_osc_ready_int_disable
+ 0x000000000800053c 0x5c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x000000000800053c rcc_osc_ready_int_disable
+ .text.rcc_osc_ready_int_flag
+ 0x0000000008000598 0x54 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000598 rcc_osc_ready_int_flag
+ .text.rcc_css_int_clear
+ 0x00000000080005ec 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080005ec rcc_css_int_clear
+ .text.rcc_css_int_flag
+ 0x00000000080005fc 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080005fc rcc_css_int_flag
+ .text.rcc_is_osc_ready
+ 0x000000000800060c 0x5c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x000000000800060c rcc_is_osc_ready
+ .text.rcc_wait_for_osc_ready
+ 0x0000000008000668 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000668 rcc_wait_for_osc_ready
+ .text.rcc_osc_on
+ 0x0000000008000678 0x54 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000678 rcc_osc_on
+ .text.rcc_osc_off
+ 0x00000000080006cc 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080006cc rcc_osc_off
+ .text.rcc_css_enable
+ 0x0000000008000724 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000724 rcc_css_enable
+ .text.rcc_css_disable
+ 0x0000000008000734 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000734 rcc_css_disable
+ .text.rcc_set_sysclk_source
+ 0x0000000008000744 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000744 rcc_set_sysclk_source
+ .text.rcc_set_pll_multiplication_factor
+ 0x0000000008000758 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000758 rcc_set_pll_multiplication_factor
+ .text.rcc_set_pll2_multiplication_factor
+ 0x000000000800076c 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x000000000800076c rcc_set_pll2_multiplication_factor
+ .text.rcc_set_pll3_multiplication_factor
+ 0x0000000008000780 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000780 rcc_set_pll3_multiplication_factor
+ .text.rcc_set_pll_source
+ 0x0000000008000794 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000794 rcc_set_pll_source
+ .text.rcc_set_pllxtpre
+ 0x00000000080007a8 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080007a8 rcc_set_pllxtpre
+ .text.rcc_rtc_clock_enabled_flag
+ 0x00000000080007bc 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080007bc rcc_rtc_clock_enabled_flag
+ .text.rcc_enable_rtc_clock
+ 0x00000000080007cc 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080007cc rcc_enable_rtc_clock
+ .text.rcc_set_rtc_clock_source
+ 0x00000000080007dc 0x90 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080007dc rcc_set_rtc_clock_source
+ .text.rcc_set_adcpre
+ 0x000000000800086c 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x000000000800086c rcc_set_adcpre
+ .text.rcc_set_ppre2
+ 0x0000000008000880 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000880 rcc_set_ppre2
+ .text.rcc_set_ppre1
+ 0x0000000008000894 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000894 rcc_set_ppre1
+ .text.rcc_set_hpre
+ 0x00000000080008a8 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080008a8 rcc_set_hpre
+ .text.rcc_set_usbpre
+ 0x00000000080008bc 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080008bc rcc_set_usbpre
+ .text.rcc_set_prediv1
+ 0x00000000080008d4 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080008d4 rcc_set_prediv1
+ .text.rcc_set_prediv2
+ 0x00000000080008e8 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080008e8 rcc_set_prediv2
+ .text.rcc_set_prediv1_source
+ 0x00000000080008fc 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x00000000080008fc rcc_set_prediv1_source
+ .text.rcc_system_clock_source
+ 0x0000000008000914 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000914 rcc_system_clock_source
+ .text.rcc_clock_setup_in_hsi_out_64mhz
+ 0x0000000008000924 0x74 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000924 rcc_clock_setup_in_hsi_out_64mhz
+ .text.rcc_clock_setup_in_hsi_out_48mhz
+ 0x0000000008000998 0x84 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000998 rcc_clock_setup_in_hsi_out_48mhz
+ .text.rcc_clock_setup_in_hsi_out_24mhz
+ 0x0000000008000a1c 0x70 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000a1c rcc_clock_setup_in_hsi_out_24mhz
+ .text.rcc_clock_setup_in_hse_8mhz_out_24mhz
+ 0x0000000008000a8c 0x88 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000a8c rcc_clock_setup_in_hse_8mhz_out_24mhz
+ .text.rcc_clock_setup_in_hse_8mhz_out_72mhz
+ 0x0000000008000b14 0x8c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000b14 rcc_clock_setup_in_hse_8mhz_out_72mhz
+ .text.rcc_clock_setup_in_hse_12mhz_out_72mhz
+ 0x0000000008000ba0 0x8c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000ba0 rcc_clock_setup_in_hse_12mhz_out_72mhz
+ .text.rcc_clock_setup_in_hse_16mhz_out_72mhz
+ 0x0000000008000c2c 0x8c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000c2c rcc_clock_setup_in_hse_16mhz_out_72mhz
+ .text.rcc_clock_setup_in_hse_25mhz_out_72mhz
+ 0x0000000008000cb8 0xac ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000cb8 rcc_clock_setup_in_hse_25mhz_out_72mhz
+ .text.rcc_backupdomain_reset
+ 0x0000000008000d64 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000008000d64 rcc_backupdomain_reset
+ .text 0x0000000008000d7c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .text.gpio_set
+ 0x0000000008000d7c 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x0000000008000d7c gpio_set
+ .text.gpio_clear
+ 0x0000000008000d80 0x6 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x0000000008000d80 gpio_clear
+ .text.gpio_get
+ 0x0000000008000d86 0x6 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x0000000008000d86 gpio_get
+ .text.gpio_toggle
+ 0x0000000008000d8c 0x12 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x0000000008000d8c gpio_toggle
+ .text.gpio_port_read
+ 0x0000000008000d9e 0x6 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x0000000008000d9e gpio_port_read
+ .text.gpio_port_write
+ 0x0000000008000da4 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x0000000008000da4 gpio_port_write
+ .text.gpio_port_config_lock
+ 0x0000000008000da8 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x0000000008000da8 gpio_port_config_lock
+ .text 0x0000000008000db8 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .text.timer_reset
+ 0x0000000008000db8 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000db8 timer_reset
+ .text.timer_enable_irq
+ 0x0000000008000e38 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e38 timer_enable_irq
+ .text.timer_disable_irq
+ 0x0000000008000e40 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e40 timer_disable_irq
+ .text.timer_interrupt_source
+ 0x0000000008000e4a 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e4a timer_interrupt_source
+ .text.timer_get_flag
+ 0x0000000008000e5e 0xc ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e5e timer_get_flag
+ .text.timer_clear_flag
+ 0x0000000008000e6a 0x6 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e6a timer_clear_flag
+ .text.timer_set_mode
+ 0x0000000008000e70 0x12 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e70 timer_set_mode
+ .text.timer_set_clock_division
+ 0x0000000008000e82 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e82 timer_set_clock_division
+ .text.timer_enable_preload
+ 0x0000000008000e96 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000e96 timer_enable_preload
+ .text.timer_disable_preload
+ 0x0000000008000ea0 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000ea0 timer_disable_preload
+ .text.timer_set_alignment
+ 0x0000000008000eaa 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000eaa timer_set_alignment
+ .text.timer_direction_up
+ 0x0000000008000ebe 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000ebe timer_direction_up
+ .text.timer_direction_down
+ 0x0000000008000ec8 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000ec8 timer_direction_down
+ .text.timer_one_shot_mode
+ 0x0000000008000ed2 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000ed2 timer_one_shot_mode
+ .text.timer_continuous_mode
+ 0x0000000008000edc 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000edc timer_continuous_mode
+ .text.timer_update_on_any
+ 0x0000000008000ee6 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000ee6 timer_update_on_any
+ .text.timer_update_on_overflow
+ 0x0000000008000ef0 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000ef0 timer_update_on_overflow
+ .text.timer_enable_update_event
+ 0x0000000008000efa 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000efa timer_enable_update_event
+ .text.timer_disable_update_event
+ 0x0000000008000f04 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f04 timer_disable_update_event
+ .text.timer_enable_counter
+ 0x0000000008000f0e 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f0e timer_enable_counter
+ .text.timer_disable_counter
+ 0x0000000008000f18 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f18 timer_disable_counter
+ .text.timer_set_output_idle_state
+ 0x0000000008000f22 0xc ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f22 timer_set_output_idle_state
+ .text.timer_reset_output_idle_state
+ 0x0000000008000f2e 0xe ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f2e timer_reset_output_idle_state
+ .text.timer_set_ti1_ch123_xor
+ 0x0000000008000f3c 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f3c timer_set_ti1_ch123_xor
+ .text.timer_set_ti1_ch1
+ 0x0000000008000f46 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f46 timer_set_ti1_ch1
+ .text.timer_set_master_mode
+ 0x0000000008000f50 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f50 timer_set_master_mode
+ .text.timer_set_dma_on_compare_event
+ 0x0000000008000f60 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f60 timer_set_dma_on_compare_event
+ .text.timer_set_dma_on_update_event
+ 0x0000000008000f6a 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f6a timer_set_dma_on_update_event
+ .text.timer_enable_compare_control_update_on_trigger
+ 0x0000000008000f74 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f74 timer_enable_compare_control_update_on_trigger
+ .text.timer_disable_compare_control_update_on_trigger
+ 0x0000000008000f7e 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f7e timer_disable_compare_control_update_on_trigger
+ .text.timer_enable_preload_complementry_enable_bits
+ 0x0000000008000f88 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f88 timer_enable_preload_complementry_enable_bits
+ .text.timer_disable_preload_complementry_enable_bits
+ 0x0000000008000f92 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f92 timer_disable_preload_complementry_enable_bits
+ .text.timer_set_prescaler
+ 0x0000000008000f9c 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000f9c timer_set_prescaler
+ .text.timer_set_repetition_counter
+ 0x0000000008000fa0 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000fa0 timer_set_repetition_counter
+ .text.timer_set_period
+ 0x0000000008000fa4 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000fa4 timer_set_period
+ .text.timer_enable_oc_clear
+ 0x0000000008000fa8 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000fa8 timer_enable_oc_clear
+ .text.timer_disable_oc_clear
+ 0x0000000008000fdc 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008000fdc timer_disable_oc_clear
+ .text.timer_set_oc_fast_mode
+ 0x0000000008001010 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001010 timer_set_oc_fast_mode
+ .text.timer_set_oc_slow_mode
+ 0x0000000008001044 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001044 timer_set_oc_slow_mode
+ .text.timer_set_oc_mode
+ 0x0000000008001078 0x18c ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001078 timer_set_oc_mode
+ .text.timer_enable_oc_preload
+ 0x0000000008001204 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001204 timer_enable_oc_preload
+ .text.timer_disable_oc_preload
+ 0x0000000008001238 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001238 timer_disable_oc_preload
+ .text.timer_set_oc_polarity_high
+ 0x000000000800126c 0x4a ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x000000000800126c timer_set_oc_polarity_high
+ .text.timer_set_oc_polarity_low
+ 0x00000000080012b6 0x4a ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080012b6 timer_set_oc_polarity_low
+ .text.timer_enable_oc_output
+ 0x0000000008001300 0x4a ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001300 timer_enable_oc_output
+ .text.timer_disable_oc_output
+ 0x000000000800134a 0x4a ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x000000000800134a timer_disable_oc_output
+ .text.timer_set_oc_idle_state_set
+ 0x0000000008001394 0x4a ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001394 timer_set_oc_idle_state_set
+ .text.timer_set_oc_idle_state_unset
+ 0x00000000080013de 0x4a ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080013de timer_set_oc_idle_state_unset
+ .text.timer_set_oc_value
+ 0x0000000008001428 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001428 timer_set_oc_value
+ .text.timer_enable_break_main_output
+ 0x0000000008001448 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001448 timer_enable_break_main_output
+ .text.timer_disable_break_main_output
+ 0x0000000008001452 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001452 timer_disable_break_main_output
+ .text.timer_enable_break_automatic_output
+ 0x000000000800145c 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x000000000800145c timer_enable_break_automatic_output
+ .text.timer_disable_break_automatic_output
+ 0x0000000008001466 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001466 timer_disable_break_automatic_output
+ .text.timer_set_break_polarity_high
+ 0x0000000008001470 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001470 timer_set_break_polarity_high
+ .text.timer_set_break_polarity_low
+ 0x000000000800147a 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x000000000800147a timer_set_break_polarity_low
+ .text.timer_enable_break
+ 0x0000000008001484 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001484 timer_enable_break
+ .text.timer_disable_break
+ 0x000000000800148e 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x000000000800148e timer_disable_break
+ .text.timer_set_enabled_off_state_in_run_mode
+ 0x0000000008001498 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001498 timer_set_enabled_off_state_in_run_mode
+ .text.timer_set_disabled_off_state_in_run_mode
+ 0x00000000080014a2 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014a2 timer_set_disabled_off_state_in_run_mode
+ .text.timer_set_enabled_off_state_in_idle_mode
+ 0x00000000080014ac 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014ac timer_set_enabled_off_state_in_idle_mode
+ .text.timer_set_disabled_off_state_in_idle_mode
+ 0x00000000080014b6 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014b6 timer_set_disabled_off_state_in_idle_mode
+ .text.timer_set_deadtime
+ 0x00000000080014c0 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014c0 timer_set_deadtime
+ .text.timer_set_break_lock
+ 0x00000000080014c8 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014c8 timer_set_break_lock
+ .text.timer_generate_event
+ 0x00000000080014cc 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014cc timer_generate_event
+ .text.timer_get_counter
+ 0x00000000080014d4 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014d4 timer_get_counter
+ .text.timer_set_counter
+ 0x00000000080014d8 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014d8 timer_set_counter
+ .text.timer_ic_set_filter
+ 0x00000000080014dc 0x50 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080014dc timer_ic_set_filter
+ .text.timer_ic_set_prescaler
+ 0x000000000800152c 0x50 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x000000000800152c timer_ic_set_prescaler
+ .text.timer_ic_set_input
+ 0x000000000800157c 0x66 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x000000000800157c timer_ic_set_input
+ .text.timer_ic_enable
+ 0x00000000080015e2 0xe ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080015e2 timer_ic_enable
+ .text.timer_ic_disable
+ 0x00000000080015f0 0x12 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x00000000080015f0 timer_ic_disable
+ .text.timer_slave_set_filter
+ 0x0000000008001602 0x12 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001602 timer_slave_set_filter
+ .text.timer_slave_set_prescaler
+ 0x0000000008001614 0x12 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001614 timer_slave_set_prescaler
+ .text.timer_slave_set_polarity
+ 0x0000000008001626 0x12 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001626 timer_slave_set_polarity
+ .text.timer_slave_set_mode
+ 0x0000000008001638 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001638 timer_slave_set_mode
+ .text.timer_slave_set_trigger
+ 0x0000000008001648 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0x0000000008001648 timer_slave_set_trigger
+ .text 0x0000000008001658 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .text.rcc_peripheral_enable_clock
+ 0x0000000008001658 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x0000000008001658 rcc_peripheral_enable_clock
+ .text.rcc_peripheral_disable_clock
+ 0x0000000008001660 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x0000000008001660 rcc_peripheral_disable_clock
+ .text.rcc_peripheral_reset
+ 0x000000000800166a 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x000000000800166a rcc_peripheral_reset
+ .text.rcc_peripheral_clear_reset
+ 0x0000000008001672 0xa ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x0000000008001672 rcc_peripheral_clear_reset
+ .text.rcc_periph_clock_enable
+ 0x000000000800167c 0x1a ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x000000000800167c rcc_periph_clock_enable
+ .text.rcc_periph_clock_disable
+ 0x0000000008001696 0x1e ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x0000000008001696 rcc_periph_clock_disable
+ .text.rcc_periph_reset_pulse
+ 0x00000000080016b4 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x00000000080016b4 rcc_periph_reset_pulse
+ .text.rcc_periph_reset_hold
+ 0x00000000080016d6 0x1a ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x00000000080016d6 rcc_periph_reset_hold
+ .text.rcc_periph_reset_release
+ 0x00000000080016f0 0x1e ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x00000000080016f0 rcc_periph_reset_release
+ *fill* 0x000000000800170e 0x2
+ .text.rcc_set_mco
+ 0x0000000008001710 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x0000000008001710 rcc_set_mco
+ .text.rcc_osc_bypass_enable
+ 0x0000000008001724 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x0000000008001724 rcc_osc_bypass_enable
+ .text.rcc_osc_bypass_disable
+ 0x000000000800174c 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x000000000800174c rcc_osc_bypass_disable
+ .text 0x0000000008001774 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .text.flash_prefetch_enable
+ 0x0000000008001774 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x0000000008001774 flash_prefetch_enable
+ .text.flash_prefetch_disable
+ 0x0000000008001784 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x0000000008001784 flash_prefetch_disable
+ .text.flash_set_ws
+ 0x0000000008001794 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x0000000008001794 flash_set_ws
+ .text.flash_unlock
+ 0x00000000080017a8 0x24 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x00000000080017a8 flash_unlock
+ .text.flash_lock
+ 0x00000000080017cc 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x00000000080017cc flash_lock
+ .text.flash_clear_pgerr_flag
+ 0x00000000080017dc 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x00000000080017dc flash_clear_pgerr_flag
+ .text.flash_clear_eop_flag
+ 0x00000000080017ec 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x00000000080017ec flash_clear_eop_flag
+ .text.flash_clear_wrprterr_flag
+ 0x00000000080017fc 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x00000000080017fc flash_clear_wrprterr_flag
+ .text.flash_clear_bsy_flag
+ 0x000000000800180c 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x000000000800180c flash_clear_bsy_flag
+ .text.flash_wait_for_last_operation
+ 0x000000000800181c 0xc ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x000000000800181c flash_wait_for_last_operation
+ .text.flash_program_word
+ 0x0000000008001828 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x0000000008001828 flash_program_word
+ .text.flash_unlock_option_bytes
+ 0x0000000008001840 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x0000000008001840 flash_unlock_option_bytes
+ .text.flash_erase_option_bytes
+ 0x0000000008001858 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x0000000008001858 flash_erase_option_bytes
+ .text.flash_program_option_bytes
+ 0x000000000800188c 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x000000000800188c flash_program_option_bytes
+ .text 0x00000000080018c0 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .text.usbd_init
+ 0x00000000080018c0 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x00000000080018c0 usbd_init
+ .text.usbd_register_reset_callback
+ 0x0000000008001918 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x0000000008001918 usbd_register_reset_callback
+ .text.usbd_register_suspend_callback
+ 0x000000000800191c 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x000000000800191c usbd_register_suspend_callback
+ .text.usbd_register_resume_callback
+ 0x0000000008001920 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x0000000008001920 usbd_register_resume_callback
+ .text.usbd_register_sof_callback
+ 0x0000000008001924 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x0000000008001924 usbd_register_sof_callback
+ .text.usbd_poll
+ 0x0000000008001928 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x0000000008001928 usbd_poll
+ .text.usbd_disconnect
+ 0x0000000008001930 0xc ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x0000000008001930 usbd_disconnect
+ .text.usbd_ep_setup
+ 0x000000000800193c 0xe ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x000000000800193c usbd_ep_setup
+ .text._usbd_reset
+ 0x000000000800194a 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x000000000800194a _usbd_reset
+ .text.usbd_ep_write_packet
+ 0x000000000800197e 0xe ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x000000000800197e usbd_ep_write_packet
+ .text.usbd_ep_read_packet
+ 0x000000000800198c 0xe ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x000000000800198c usbd_ep_read_packet
+ .text.usbd_ep_stall_set
+ 0x000000000800199a 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x000000000800199a usbd_ep_stall_set
+ .text.usbd_ep_stall_get
+ 0x00000000080019a2 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x00000000080019a2 usbd_ep_stall_get
+ .text.usbd_ep_nak_set
+ 0x00000000080019aa 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x00000000080019aa usbd_ep_nak_set
+ .text 0x00000000080019b2 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .text.stall_transaction
+ 0x00000000080019b2 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .text.usb_control_recv_chunk
+ 0x00000000080019c6 0x3c ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .text.usb_control_send_chunk
+ 0x0000000008001a02 0x54 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .text.usb_control_request_dispatch
+ 0x0000000008001a56 0x62 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .text.usb_control_setup_read
+ 0x0000000008001ab8 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .text.usbd_register_control_callback
+ 0x0000000008001b22 0x26 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ 0x0000000008001b22 usbd_register_control_callback
+ .text._usbd_control_setup
+ 0x0000000008001b48 0x70 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ 0x0000000008001b48 _usbd_control_setup
+ .text._usbd_control_out
+ 0x0000000008001bb8 0x84 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ 0x0000000008001bb8 _usbd_control_out
+ .text._usbd_control_in
+ 0x0000000008001c3c 0x64 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ 0x0000000008001c3c _usbd_control_in
+ .text 0x0000000008001ca0 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_set_configuration
+ 0x0000000008001ca0 0x92 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_get_configuration
+ 0x0000000008001d32 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_get_interface
+ 0x0000000008001d54 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_interface_get_status
+ 0x0000000008001d88 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_endpoint_get_status
+ 0x0000000008001da0 0x2a ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_endpoint_stall
+ 0x0000000008001dca 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_endpoint_unstall
+ 0x0000000008001dda 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_set_address
+ 0x0000000008001dea 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_set_interface
+ 0x0000000008001e12 0x4a ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_get_descriptor
+ 0x0000000008001e5c 0x258 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usb_standard_device_get_status
+ 0x00000000080020b4 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .text.usbd_register_set_config_callback
+ 0x00000000080020cc 0x24 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ 0x00000000080020cc usbd_register_set_config_callback
+ .text.usbd_register_set_altsetting_callback
+ 0x00000000080020f0 0x6 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ 0x00000000080020f0 usbd_register_set_altsetting_callback
+ *fill* 0x00000000080020f6 0x2
+ .text._usbd_standard_request_device
+ 0x00000000080020f8 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ 0x00000000080020f8 _usbd_standard_request_device
+ .text._usbd_standard_request_interface
+ 0x0000000008002118 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ 0x0000000008002118 _usbd_standard_request_interface
+ .text._usbd_standard_request_endpoint
+ 0x0000000008002138 0x3c ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ 0x0000000008002138 _usbd_standard_request_endpoint
+ .text._usbd_standard_request
+ 0x0000000008002174 0x30 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ 0x0000000008002174 _usbd_standard_request
+ .text 0x00000000080021a4 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .text.st_usbfs_v1_usbd_init
+ 0x00000000080021a4 0x30 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .text.st_usbfs_copy_to_pm
+ 0x00000000080021d4 0x1a ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ 0x00000000080021d4 st_usbfs_copy_to_pm
+ .text.st_usbfs_copy_from_pm
+ 0x00000000080021ee 0x2a ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ 0x00000000080021ee st_usbfs_copy_from_pm
+ .text 0x0000000008002218 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .text.blocking_handler
+ 0x0000000008002218 0x2 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ 0x0000000008002218 exti0_isr
+ 0x0000000008002218 rtc_isr
+ 0x0000000008002218 tim7_isr
+ 0x0000000008002218 adc1_2_isr
+ 0x0000000008002218 tim1_trg_com_isr
+ 0x0000000008002218 usb_hp_can_tx_isr
+ 0x0000000008002218 tim6_isr
+ 0x0000000008002218 usb_wakeup_isr
+ 0x0000000008002218 blocking_handler
+ 0x0000000008002218 tim5_isr
+ 0x0000000008002218 otg_fs_isr
+ 0x0000000008002218 spi1_isr
+ 0x0000000008002218 exti2_isr
+ 0x0000000008002218 dma1_channel6_isr
+ 0x0000000008002218 can_rx1_isr
+ 0x0000000008002218 dma1_channel5_isr
+ 0x0000000008002218 dma2_channel5_isr
+ 0x0000000008002218 usart1_isr
+ 0x0000000008002218 usage_fault_handler
+ 0x0000000008002218 tim8_trg_com_isr
+ 0x0000000008002218 can2_rx0_isr
+ 0x0000000008002218 tim1_brk_isr
+ 0x0000000008002218 can2_rx1_isr
+ 0x0000000008002218 tim1_cc_isr
+ 0x0000000008002218 sdio_isr
+ 0x0000000008002218 eth_isr
+ 0x0000000008002218 dma1_channel4_isr
+ 0x0000000008002218 tim8_brk_isr
+ 0x0000000008002218 dma2_channel4_5_isr
+ 0x0000000008002218 pvd_isr
+ 0x0000000008002218 rcc_isr
+ 0x0000000008002218 flash_isr
+ 0x0000000008002218 uart4_isr
+ 0x0000000008002218 rtc_alarm_isr
+ 0x0000000008002218 exti15_10_isr
+ 0x0000000008002218 hard_fault_handler
+ 0x0000000008002218 exti1_isr
+ 0x0000000008002218 i2c1_ev_isr
+ 0x0000000008002218 dma2_channel1_isr
+ 0x0000000008002218 spi2_isr
+ 0x0000000008002218 tim8_up_isr
+ 0x0000000008002218 dma2_channel2_isr
+ 0x0000000008002218 exti3_isr
+ 0x0000000008002218 adc3_isr
+ 0x0000000008002218 tim3_isr
+ 0x0000000008002218 usart2_isr
+ 0x0000000008002218 usb_lp_can_rx0_isr
+ 0x0000000008002218 i2c2_er_isr
+ 0x0000000008002218 i2c2_ev_isr
+ 0x0000000008002218 uart5_isr
+ 0x0000000008002218 fsmc_isr
+ 0x0000000008002218 dma1_channel1_isr
+ 0x0000000008002218 exti4_isr
+ 0x0000000008002218 mem_manage_handler
+ 0x0000000008002218 can2_tx_isr
+ 0x0000000008002218 exti9_5_isr
+ 0x0000000008002218 dma2_channel3_isr
+ 0x0000000008002218 dma1_channel7_isr
+ 0x0000000008002218 tim1_up_isr
+ 0x0000000008002218 can2_sce_isr
+ 0x0000000008002218 dma1_channel2_isr
+ 0x0000000008002218 i2c1_er_isr
+ 0x0000000008002218 can_sce_isr
+ 0x0000000008002218 tim8_cc_isr
+ 0x0000000008002218 tamper_isr
+ 0x0000000008002218 eth_wkup_isr
+ 0x0000000008002218 bus_fault_handler
+ 0x0000000008002218 wwdg_isr
+ 0x0000000008002218 dma1_channel3_isr
+ 0x0000000008002218 spi3_isr
+ 0x0000000008002218 tim2_isr
+ 0x0000000008002218 usart3_isr
+ .text.null_handler
+ 0x000000000800221a 0x2 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ 0x000000000800221a null_handler
+ 0x000000000800221a sv_call_handler
+ 0x000000000800221a pend_sv_handler
+ 0x000000000800221a debug_monitor_handler
+ 0x000000000800221a sys_tick_handler
+ 0x000000000800221a nmi_handler
+ .text.reset_handler
+ 0x000000000800221c 0x90 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ 0x000000000800221c reset_handler
+ .text 0x00000000080022ac 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .text.nvic_enable_irq
+ 0x00000000080022ac 0x1a ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x00000000080022ac nvic_enable_irq
+ *fill* 0x00000000080022c6 0x2
+ .text.nvic_disable_irq
+ 0x00000000080022c8 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x00000000080022c8 nvic_disable_irq
+ .text.nvic_get_pending_irq
+ 0x00000000080022e0 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x00000000080022e0 nvic_get_pending_irq
+ .text.nvic_set_pending_irq
+ 0x0000000008002302 0x1a ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x0000000008002302 nvic_set_pending_irq
+ .text.nvic_clear_pending_irq
+ 0x000000000800231c 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x000000000800231c nvic_clear_pending_irq
+ .text.nvic_get_irq_enabled
+ 0x0000000008002334 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x0000000008002334 nvic_get_irq_enabled
+ *fill* 0x0000000008002356 0x2
+ .text.nvic_set_priority
+ 0x0000000008002358 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x0000000008002358 nvic_set_priority
+ .text.nvic_get_active_irq
+ 0x0000000008002378 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x0000000008002378 nvic_get_active_irq
+ *fill* 0x000000000800239a 0x2
+ .text.nvic_generate_software_interrupt
+ 0x000000000800239c 0x14 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x000000000800239c nvic_generate_software_interrupt
+ .text 0x00000000080023b0 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .text.cm3_assert_failed
+ 0x00000000080023b0 0x2 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ 0x00000000080023b0 cm3_assert_failed
+ .text.cm3_assert_failed_verbose
+ 0x00000000080023b2 0x6 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ 0x00000000080023b2 cm3_assert_failed_verbose
+ .text 0x00000000080023b8 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .text.flash_halfcycle_enable
+ 0x00000000080023b8 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x00000000080023b8 flash_halfcycle_enable
+ .text.flash_halfcycle_disable
+ 0x00000000080023c8 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x00000000080023c8 flash_halfcycle_disable
+ .text.flash_unlock_upper
+ 0x00000000080023d8 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x00000000080023d8 flash_unlock_upper
+ .text.flash_lock_upper
+ 0x000000000800240c 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x000000000800240c flash_lock_upper
+ .text.flash_clear_pgerr_flag_upper
+ 0x000000000800241c 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x000000000800241c flash_clear_pgerr_flag_upper
+ .text.flash_clear_eop_flag_upper
+ 0x000000000800243c 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x000000000800243c flash_clear_eop_flag_upper
+ .text.flash_clear_wrprterr_flag_upper
+ 0x000000000800245c 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x000000000800245c flash_clear_wrprterr_flag_upper
+ .text.flash_clear_bsy_flag_upper
+ 0x000000000800247c 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x000000000800247c flash_clear_bsy_flag_upper
+ .text.flash_clear_status_flags
+ 0x000000000800249c 0x38 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x000000000800249c flash_clear_status_flags
+ .text.flash_get_status_flags
+ 0x00000000080024d4 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x00000000080024d4 flash_get_status_flags
+ .text.flash_program_half_word
+ 0x00000000080024fc 0x64 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x00000000080024fc flash_program_half_word
+ .text.flash_erase_page
+ 0x0000000008002560 0x7c ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x0000000008002560 flash_erase_page
+ .text.flash_erase_all_pages
+ 0x00000000080025dc 0x48 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x00000000080025dc flash_erase_all_pages
+ .text 0x0000000008002624 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .text.st_usbfs_set_address
+ 0x0000000008002624 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x0000000008002624 st_usbfs_set_address
+ .text.st_usbfs_set_ep_rx_bufsize
+ 0x0000000008002634 0x4c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x0000000008002634 st_usbfs_set_ep_rx_bufsize
+ .text.st_usbfs_ep_setup
+ 0x0000000008002680 0x134 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x0000000008002680 st_usbfs_ep_setup
+ .text.st_usbfs_endpoints_reset
+ 0x00000000080027b4 0x44 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x00000000080027b4 st_usbfs_endpoints_reset
+ .text.st_usbfs_ep_stall_set
+ 0x00000000080027f8 0xc4 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x00000000080027f8 st_usbfs_ep_stall_set
+ .text.st_usbfs_ep_stall_get
+ 0x00000000080028bc 0x38 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x00000000080028bc st_usbfs_ep_stall_get
+ .text.st_usbfs_ep_nak_set
+ 0x00000000080028f4 0x3c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x00000000080028f4 st_usbfs_ep_nak_set
+ .text.st_usbfs_ep_write_packet
+ 0x0000000008002930 0x7c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x0000000008002930 st_usbfs_ep_write_packet
+ .text.st_usbfs_ep_read_packet
+ 0x00000000080029ac 0xa8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x00000000080029ac st_usbfs_ep_read_packet
+ .text.st_usbfs_poll
+ 0x0000000008002a54 0xe4 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x0000000008002a54 st_usbfs_poll
+ .text 0x0000000008002b38 0xec /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-memcpy.o)
+ 0x0000000008002b38 memcpy
+ .text 0x0000000008002c24 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-strlen-stub.o)
+ .text.strlen 0x0000000008002c24 0x5c /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-strlen-stub.o)
+ 0x0000000008002c24 strlen
+ 0x0000000008002c80 . = ALIGN (0x4)
+ *(.rodata*)
+ .rodata 0x0000000008002c80 0xa3 usb.o
+ *fill* 0x0000000008002d23 0x1
+ .rodata.str1.4
+ 0x0000000008002d24 0x30 usb.o
+ 0x38 (size before relaxing)
+ .rodata.CSWTCH.31
+ 0x0000000008002d54 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .rodata.CSWTCH.33
+ 0x0000000008002d7c 0x30 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .rodata.st_usbfs_v1_usb_driver
+ 0x0000000008002dac 0x34 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ 0x0000000008002dac st_usbfs_v1_usb_driver
+ 0x0000000008002de0 . = ALIGN (0x4)
+
+.glue_7 0x0000000008002de0 0x0
+ .glue_7 0x0000000008002de0 0x0 linker stubs
+
+.glue_7t 0x0000000008002de0 0x0
+ .glue_7t 0x0000000008002de0 0x0 linker stubs
+
+.vfp11_veneer 0x0000000008002de0 0x0
+ .vfp11_veneer 0x0000000008002de0 0x0 linker stubs
+
+.v4_bx 0x0000000008002de0 0x0
+ .v4_bx 0x0000000008002de0 0x0 linker stubs
+
+.iplt 0x0000000008002de0 0x0
+ .iplt 0x0000000008002de0 0x0 main.o
+
+.rel.dyn 0x0000000008002de0 0x0
+ .rel.iplt 0x0000000008002de0 0x0 main.o
+
+.preinit_array 0x0000000008002de0 0x0
+ 0x0000000008002de0 . = ALIGN (0x4)
+ 0x0000000008002de0 __preinit_array_start = .
+ *(.preinit_array)
+ 0x0000000008002de0 __preinit_array_end = .
+
+.init_array 0x0000000008002de0 0x0
+ 0x0000000008002de0 . = ALIGN (0x4)
+ 0x0000000008002de0 __init_array_start = .
+ *(SORT(.init_array.*))
+ *(.init_array)
+ 0x0000000008002de0 __init_array_end = .
+
+.fini_array 0x0000000008002de0 0x0
+ 0x0000000008002de0 . = ALIGN (0x4)
+ 0x0000000008002de0 __fini_array_start = .
+ *(.fini_array)
+ *(SORT(.fini_array.*))
+ 0x0000000008002de0 __fini_array_end = .
+
+.ARM.extab
+ *(.ARM.extab*)
+
+.ARM.exidx 0x0000000008002de0 0x0
+ 0x0000000008002de0 __exidx_start = .
+ *(.ARM.exidx*)
+ 0x0000000008002de0 __exidx_end = .
+ 0x0000000008002de0 . = ALIGN (0x4)
+ 0x0000000008002de0 _etext = .
+
+.data 0x0000000020000000 0x18 load address 0x0000000008002de0
+ 0x0000000020000000 _data = .
+ *(.data*)
+ .data 0x0000000020000000 0x0 main.o
+ .data 0x0000000020000000 0xc usb.o
+ .data 0x000000002000000c 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a(lib_a-memset.o)
+ .data 0x000000002000000c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .data 0x000000002000000c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .data.rcc_ahb_frequency
+ 0x000000002000000c 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x000000002000000c rcc_ahb_frequency
+ .data.rcc_apb1_frequency
+ 0x0000000020000010 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000020000010 rcc_apb1_frequency
+ .data.rcc_apb2_frequency
+ 0x0000000020000014 0x4 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x0000000020000014 rcc_apb2_frequency
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .data 0x0000000020000018 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .data 0x0000000020000018 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-memcpy.o)
+ .data 0x0000000020000018 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-strlen-stub.o)
+ 0x0000000020000018 . = ALIGN (0x4)
+ 0x0000000020000018 _edata = .
+ 0x0000000008002de0 _data_loadaddr = LOADADDR (.data)
+
+.igot.plt 0x0000000020000018 0x0 load address 0x0000000008002df8
+ .igot.plt 0x0000000020000018 0x0 main.o
+
+.bss 0x0000000020000018 0x388 load address 0x0000000008002df8
+ *(.bss*)
+ .bss 0x0000000020000018 0x0 main.o
+ .bss 0x0000000020000018 0x204 usb.o
+ .bss 0x000000002000021c 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a(lib_a-memset.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .bss 0x000000002000021c 0x0 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .bss.st_usbfs_dev
+ 0x000000002000021c 0xfc ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x000000002000021c st_usbfs_dev
+ .bss.st_usbfs_force_nak
+ 0x0000000020000318 0x8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x0000000020000318 st_usbfs_force_nak
+ .bss 0x0000000020000320 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-memcpy.o)
+ .bss 0x0000000020000320 0x0 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-strlen-stub.o)
+ *(COMMON)
+ COMMON 0x0000000020000320 0x80 usb.o
+ 0x0000000020000320 usbd_control_buffer
+ 0x00000000200003a0 . = ALIGN (0x4)
+ 0x00000000200003a0 _ebss = .
+
+/DISCARD/
+ *(.eh_frame)
+ 0x00000000200003a0 . = ALIGN (0x4)
+ 0x00000000200003a0 end = .
+ 0x0000000020005000 PROVIDE (_stack, (ORIGIN (ram) + LENGTH (ram)))
+OUTPUT(main.elf elf32-littlearm)
+
+.debug_info 0x0000000000000000 0xbd61
+ .debug_info 0x0000000000000000 0x988 main.o
+ .debug_info 0x0000000000000988 0x15da usb.o
+ .debug_info 0x0000000000001f62 0x1dd ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_info 0x000000000000213f 0x114b ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_info 0x000000000000328a 0x22c ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_info 0x00000000000034b6 0x11b0 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_info 0x0000000000004666 0x5f2 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_info 0x0000000000004c58 0x278 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_info 0x0000000000004ed0 0x161d ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_info 0x00000000000064ed 0x1793 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_info 0x0000000000007c80 0x1cc7 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_info 0x0000000000009947 0xcc9 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_info 0x000000000000a610 0x2af ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_info 0x000000000000a8bf 0x214 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_info 0x000000000000aad3 0xee ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_info 0x000000000000abc1 0x2ab ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_info 0x000000000000ae6c 0xef5 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+.debug_abbrev 0x0000000000000000 0x203e
+ .debug_abbrev 0x0000000000000000 0x1e7 main.o
+ .debug_abbrev 0x00000000000001e7 0x375 usb.o
+ .debug_abbrev 0x000000000000055c 0xb7 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_abbrev 0x0000000000000613 0x27f ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_abbrev 0x0000000000000892 0xf4 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_abbrev 0x0000000000000986 0x18f ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_abbrev 0x0000000000000b15 0x137 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_abbrev 0x0000000000000c4c 0xcd ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_abbrev 0x0000000000000d19 0x2ab ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_abbrev 0x0000000000000fc4 0x3bf ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_abbrev 0x0000000000001383 0x4b0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_abbrev 0x0000000000001833 0x203 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_abbrev 0x0000000000001a36 0x127 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_abbrev 0x0000000000001b5d 0xa6 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_abbrev 0x0000000000001c03 0x8f ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_abbrev 0x0000000000001c92 0x11a ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_abbrev 0x0000000000001dac 0x292 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+.debug_loc 0x0000000000000000 0x3675
+ .debug_loc 0x0000000000000000 0x14 main.o
+ .debug_loc 0x0000000000000014 0x192 usb.o
+ .debug_loc 0x00000000000001a6 0x172 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_loc 0x0000000000000318 0x480 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_loc 0x0000000000000798 0x97 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_loc 0x000000000000082f 0x4e2 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_loc 0x0000000000000d11 0x108 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_loc 0x0000000000000e19 0xd3 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_loc 0x0000000000000eec 0x4b1 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_loc 0x000000000000139d 0x69c ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_loc 0x0000000000001a39 0x10e6 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_loc 0x0000000000002b1f 0x15e ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_loc 0x0000000000002c7d 0xea ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_loc 0x0000000000002d67 0x129 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_loc 0x0000000000002e90 0x84 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_loc 0x0000000000002f14 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_loc 0x0000000000002f94 0x6e1 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+.debug_aranges 0x0000000000000000 0x8d0
+ .debug_aranges
+ 0x0000000000000000 0x20 main.o
+ .debug_aranges
+ 0x0000000000000020 0x20 usb.o
+ .debug_aranges
+ 0x0000000000000040 0x38 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_aranges
+ 0x0000000000000078 0x158 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_aranges
+ 0x00000000000001d0 0x50 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_aranges
+ 0x0000000000000220 0x270 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_aranges
+ 0x0000000000000490 0x68 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_aranges
+ 0x00000000000004f8 0x88 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_aranges
+ 0x0000000000000580 0x88 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_aranges
+ 0x0000000000000608 0x60 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_aranges
+ 0x0000000000000668 0x98 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_aranges
+ 0x0000000000000700 0x30 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_aranges
+ 0x0000000000000730 0x30 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_aranges
+ 0x0000000000000760 0x60 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_aranges
+ 0x00000000000007c0 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_aranges
+ 0x00000000000007e8 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_aranges
+ 0x0000000000000868 0x68 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+.debug_line 0x0000000000000000 0x5153
+ .debug_line 0x0000000000000000 0x2d9 main.o
+ .debug_line 0x00000000000002d9 0x3df usb.o
+ .debug_line 0x00000000000006b8 0x3c4 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_line 0x0000000000000a7c 0x76f ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_line 0x00000000000011eb 0x3fa ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_line 0x00000000000015e5 0x9a4 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_line 0x0000000000001f89 0x425 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_line 0x00000000000023ae 0x485 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_line 0x0000000000002833 0x48b ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_line 0x0000000000002cbe 0x4ef ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_line 0x00000000000031ad 0x620 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_line 0x00000000000037cd 0x48f ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_line 0x0000000000003c5c 0x410 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_line 0x000000000000406c 0x3ca ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_line 0x0000000000004436 0x2d7 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_line 0x000000000000470d 0x49e ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_line 0x0000000000004bab 0x5a8 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+.debug_str 0x0000000000000000 0x18abc
+ .debug_str 0x0000000000000000 0x554 main.o
+ 0x68e (size before relaxing)
+ .debug_str 0x0000000000000554 0x7a0 usb.o
+ 0xe67 (size before relaxing)
+ .debug_str 0x0000000000000cf4 0x7ad9 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ 0x7ca5 (size before relaxing)
+ .debug_str 0x00000000000087cd 0x304f ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ 0x7543 (size before relaxing)
+ .debug_str 0x000000000000b81c 0x5a ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ 0x7c99 (size before relaxing)
+ .debug_str 0x000000000000b876 0x4d46 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ 0xb67e (size before relaxing)
+ .debug_str 0x00000000000105bc 0x168 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ 0x6ec6 (size before relaxing)
+ .debug_str 0x0000000000010724 0x16b ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ 0x4d3e (size before relaxing)
+ .debug_str 0x000000000001088f 0x36df ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ 0x77e9 (size before relaxing)
+ .debug_str 0x0000000000013f6e 0x19b ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ 0x7836 (size before relaxing)
+ .debug_str 0x0000000000014109 0x2b2 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ 0x7958 (size before relaxing)
+ .debug_str 0x00000000000143bb 0x1594 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ 0x8fc9 (size before relaxing)
+ .debug_str 0x000000000001594f 0x24ec ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ 0x5df6 (size before relaxing)
+ .debug_str 0x0000000000017e3b 0x9ce ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ 0x4b02 (size before relaxing)
+ .debug_str 0x0000000000018809 0x3e ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ 0x3873 (size before relaxing)
+ .debug_str 0x0000000000018847 0x165 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ 0x4dd9 (size before relaxing)
+ .debug_str 0x00000000000189ac 0x110 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ 0x8edc (size before relaxing)
+
+.comment 0x0000000000000000 0x7f
+ .comment 0x0000000000000000 0x7f main.o
+ 0x80 (size before relaxing)
+ .comment 0x000000000000007f 0x80 usb.o
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .comment 0x000000000000007f 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+.ARM.attributes
+ 0x0000000000000000 0x31
+ .ARM.attributes
+ 0x0000000000000000 0x33 main.o
+ .ARM.attributes
+ 0x0000000000000033 0x33 usb.o
+ .ARM.attributes
+ 0x0000000000000066 0x2d /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a(lib_a-memset.o)
+ .ARM.attributes
+ 0x0000000000000093 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .ARM.attributes
+ 0x00000000000000c6 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .ARM.attributes
+ 0x00000000000000f9 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .ARM.attributes
+ 0x000000000000012c 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .ARM.attributes
+ 0x000000000000015f 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .ARM.attributes
+ 0x0000000000000192 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .ARM.attributes
+ 0x00000000000001c5 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .ARM.attributes
+ 0x00000000000001f8 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .ARM.attributes
+ 0x000000000000022b 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .ARM.attributes
+ 0x000000000000025e 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .ARM.attributes
+ 0x0000000000000291 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .ARM.attributes
+ 0x00000000000002c4 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .ARM.attributes
+ 0x00000000000002f7 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .ARM.attributes
+ 0x000000000000032a 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .ARM.attributes
+ 0x000000000000035d 0x33 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .ARM.attributes
+ 0x0000000000000390 0x1b /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-memcpy.o)
+ .ARM.attributes
+ 0x00000000000003ab 0x2d /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-strlen-stub.o)
+
+.debug_frame 0x0000000000000000 0x1408
+ .debug_frame 0x0000000000000000 0x28 main.o
+ .debug_frame 0x0000000000000028 0xd8 usb.o
+ .debug_frame 0x0000000000000100 0x34 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libc.a(lib_a-memset.o)
+ .debug_frame 0x0000000000000134 0x64 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_frame 0x0000000000000198 0x2e0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_frame 0x0000000000000478 0x80 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_frame 0x00000000000004f8 0x4e0 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_frame 0x00000000000009d8 0xd0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_frame 0x0000000000000aa8 0x120 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_frame 0x0000000000000bc8 0x13c ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_frame 0x0000000000000d04 0x164 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_frame 0x0000000000000e68 0x1ec ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_frame 0x0000000000001054 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_frame 0x00000000000010ac 0x40 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_frame 0x00000000000010ec 0xa0 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_frame 0x000000000000118c 0x38 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_frame 0x00000000000011c4 0x10c ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_frame 0x00000000000012d0 0x118 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+ .debug_frame 0x00000000000013e8 0x20 /usr/local/Caskroom/gcc-arm-embedded/6-2017-q2-update/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/libg.a(lib_a-strlen-stub.o)
+
+.debug_ranges 0x0000000000000000 0x948
+ .debug_ranges 0x0000000000000000 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_ranges 0x0000000000000028 0x1a8 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_ranges 0x00000000000001d0 0x40 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_ranges 0x0000000000000210 0x260 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_ranges 0x0000000000000470 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_ranges 0x00000000000004c8 0x78 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_ranges 0x0000000000000540 0x78 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_ranges 0x00000000000005b8 0x88 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_ranges 0x0000000000000640 0xe0 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_ranges 0x0000000000000720 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_ranges 0x0000000000000740 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_ranges 0x0000000000000760 0x50 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_ranges 0x00000000000007b0 0x18 ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_ranges 0x00000000000007c8 0x70 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_ranges 0x0000000000000838 0x110 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
+
+.debug_macro 0x0000000000000000 0x5e2a
+ .debug_macro 0x0000000000000000 0xb9 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x00000000000000b9 0x8aa ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000963 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000985 0x4f ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x00000000000009d4 0x51 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000a25 0xef ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000b14 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000b7e 0x1df ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000d5d 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000d7f 0xfa ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000e79 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000000ed1 0x1b4 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000001085 0x76 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x00000000000010fb 0xdfd ../../libopencm3/lib/libopencm3_stm32f1.a(gpio.o)
+ .debug_macro 0x0000000000001ef8 0xe0 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000001fd8 0x16 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000001fee 0x82c ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x000000000000281a 0xdc ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x00000000000028f6 0x82 ../../libopencm3/lib/libopencm3_stm32f1.a(rcc.o)
+ .debug_macro 0x0000000000002978 0xb9 ../../libopencm3/lib/libopencm3_stm32f1.a(gpio_common_all.o)
+ .debug_macro 0x0000000000002a31 0xcc ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000002afd 0xf96 ../../libopencm3/lib/libopencm3_stm32f1.a(timer_common_all.o)
+ .debug_macro 0x0000000000003a93 0xcf ../../libopencm3/lib/libopencm3_stm32f1.a(rcc_common_all.o)
+ .debug_macro 0x0000000000003b62 0xb9 ../../libopencm3/lib/libopencm3_stm32f1.a(flash_common_f01.o)
+ .debug_macro 0x0000000000003c1b 0x14a ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000003d65 0x52 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000003db7 0x55 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000003e0c 0x35 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000003e41 0x9c ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000003edd 0x16d ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x000000000000404a 0x57 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x00000000000040a1 0x58 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x00000000000040f9 0x1f ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000004118 0x43 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x000000000000415b 0x20 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x000000000000417b 0x187 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000004302 0x353 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000004655 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000004665 0x35 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x000000000000469a 0x196 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000004830 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x0000000000004840 0x1c ../../libopencm3/lib/libopencm3_stm32f1.a(usb.o)
+ .debug_macro 0x000000000000485c 0x158 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x00000000000049b4 0x16 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x00000000000049ca 0x10e ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000004ad8 0x86 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000004b5e 0x22 ../../libopencm3/lib/libopencm3_stm32f1.a(usb_control.o)
+ .debug_macro 0x0000000000004b80 0x14a ../../libopencm3/lib/libopencm3_stm32f1.a(usb_standard.o)
+ .debug_macro 0x0000000000004cca 0x10e ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000004dd8 0x3a ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000004e12 0x29e ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x00000000000050b0 0x28 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x00000000000050d8 0x19c ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000005274 0x10 ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_v1.o)
+ .debug_macro 0x0000000000005284 0xd0 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000005354 0x3a1 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x00000000000056f5 0x6a ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x000000000000575f 0x1a2 ../../libopencm3/lib/libopencm3_stm32f1.a(vector.o)
+ .debug_macro 0x0000000000005901 0xb4 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x00000000000059b5 0x64 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000005a19 0x1b0 ../../libopencm3/lib/libopencm3_stm32f1.a(nvic.o)
+ .debug_macro 0x0000000000005bc9 0x8a ../../libopencm3/lib/libopencm3_stm32f1.a(assert.o)
+ .debug_macro 0x0000000000005c53 0xc9 ../../libopencm3/lib/libopencm3_stm32f1.a(flash.o)
+ .debug_macro 0x0000000000005d1c 0x10e ../../libopencm3/lib/libopencm3_stm32f1.a(st_usbfs_core.o)
diff --git a/bluefnorf/openocd.cfg b/bluefnorf/openocd.cfg
new file mode 100644
index 0000000..99e0019
--- /dev/null
+++ b/bluefnorf/openocd.cfg
@@ -0,0 +1,8 @@
+
+telnet_port 4444
+gdb_port 3333
+
+source [find interface/stlink-v2.cfg]
+
+source [find target/stm32f1x.cfg]
+
diff --git a/bluefnorf/stm32f103c8t6.ld b/bluefnorf/stm32f103c8t6.ld
new file mode 100644
index 0000000..f70bbb7
--- /dev/null
+++ b/bluefnorf/stm32f103c8t6.ld
@@ -0,0 +1,14 @@
+
+__estack = 0x20005000;
+
+
+MEMORY
+{
+ rom (rx) : ORIGIN = 0x08000000, LENGTH = 64K
+ ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
+}
+
+
+/* Include the common ld script. */
+INCLUDE cortex-m-generic.ld
+
diff --git a/bluefnorf/usb.c b/bluefnorf/usb.c
new file mode 100644
index 0000000..7894b81
--- /dev/null
+++ b/bluefnorf/usb.c
@@ -0,0 +1,331 @@
+
+
+/*
+ * Initialize USB ACM serial device, provide convenience
+ * function for serial communication.
+ *
+ * Mostly plucked together from some opencm3 example code.
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
+
+#include <libopencm3/stm32/rcc.h>
+#include <libopencm3/stm32/gpio.h>
+#include <libopencm3/stm32/timer.h>
+#include <libopencm3/usb/usbd.h>
+#include <libopencm3/usb/cdc.h>
+#include <libopencm3/cm3/nvic.h>
+
+#include "usb.h"
+
+#define STATUS_LED_PORT GPIOC
+#define STATUS_LED_PIN GPIO13
+
+#define USBD_PORT GPIOA
+#define USBDM GPIO11
+#define USBDP GPIO12
+
+#define RX_ECHO 1
+#define RX_BUF_LEN 256
+
+static char _rx_tmp[RX_BUF_LEN];
+static char _rx_buf[RX_BUF_LEN];
+
+static size_t _rx_tmp_len;
+static uint8_t _rx_buf_ready;
+
+/* Buffer to be used for control requests. */
+uint8_t usbd_control_buffer[128];
+
+static usbd_device* __USBDEV;
+
+static const struct usb_device_descriptor device_descriptor = {
+ .bLength = USB_DT_DEVICE_SIZE,
+ .bDescriptorType = USB_DT_DEVICE,
+ .bcdUSB = 0x0200,
+ .bDeviceClass = 0xfe, // USB_CLASS_CDC,
+ .bDeviceSubClass = 0,
+ .bDeviceProtocol = 0,
+ .bMaxPacketSize0 = 64,
+ .idVendor = 0x1209,
+ .idProduct = 0x4001,
+ .bcdDevice = 0x0200,
+ .iManufacturer = 1,
+ .iProduct = 2,
+ .iSerialNumber = 3,
+ .bNumConfigurations = 1,
+};
+
+
+static const struct usb_endpoint_descriptor comm_endp[] = {{
+ .bLength = USB_DT_ENDPOINT_SIZE,
+ .bDescriptorType = USB_DT_ENDPOINT,
+ .bEndpointAddress = 0x83,
+ .bmAttributes = USB_ENDPOINT_ATTR_INTERRUPT,
+ .wMaxPacketSize = 16,
+ .bInterval = 255,
+}};
+
+
+static const struct usb_endpoint_descriptor data_endp[] = {{
+ .bLength = USB_DT_ENDPOINT_SIZE,
+ .bDescriptorType = USB_DT_ENDPOINT,
+ .bEndpointAddress = 0x01,
+ .bmAttributes = USB_ENDPOINT_ATTR_BULK,
+ .wMaxPacketSize = 64,
+ .bInterval = 1,
+}, {
+ .bLength = USB_DT_ENDPOINT_SIZE,
+ .bDescriptorType = USB_DT_ENDPOINT,
+ .bEndpointAddress = 0x82,
+ .bmAttributes = USB_ENDPOINT_ATTR_BULK,
+ .wMaxPacketSize = 64,
+ .bInterval = 1,
+}};
+
+
+static const struct usb_interface_descriptor comm_iface[] = {{
+ .bLength = USB_DT_INTERFACE_SIZE,
+ .bDescriptorType = USB_DT_INTERFACE,
+ .bInterfaceNumber = 0,
+ .bAlternateSetting = 0,
+ .bNumEndpoints = 1,
+ .bInterfaceClass = 0xfe, // USB_CLASS_CDC,
+ .bInterfaceSubClass = 0x00, // USB_CDC_SUBCLASS_ACM,
+ .bInterfaceProtocol = 0x00, // USB_CDC_PROTOCOL_AT,
+ .iInterface = 0,
+
+ .endpoint = comm_endp,
+
+ .extra = NULL, // &cdcacm_functional_descriptors,
+ .extralen = 0,
+}};
+
+static const struct usb_interface_descriptor data_iface[] = {{
+ .bLength = USB_DT_INTERFACE_SIZE,
+ .bDescriptorType = USB_DT_INTERFACE,
+ .bInterfaceNumber = 1,
+ .bAlternateSetting = 0,
+ .bNumEndpoints = 2,
+ .bInterfaceClass = USB_CLASS_DATA,
+ .bInterfaceSubClass = 0,
+ .bInterfaceProtocol = 0,
+ .iInterface = 0,
+
+ .endpoint = data_endp,
+}};
+
+static const struct usb_interface ifaces[] = {{
+ .num_altsetting = 1,
+ .altsetting = comm_iface,
+}, {
+ .num_altsetting = 1,
+ .altsetting = data_iface,
+}};
+
+static const struct usb_config_descriptor config = {
+ .bLength = USB_DT_CONFIGURATION_SIZE,
+ .bDescriptorType = USB_DT_CONFIGURATION,
+ .wTotalLength = 0,
+ .bNumInterfaces = 2,
+ .bConfigurationValue = 1,
+ .iConfiguration = 0,
+ .bmAttributes = 0x80,
+ .bMaxPower = 0x32,
+
+ .interface = ifaces,
+};
+
+
+static const char *usb_strings[] = {
+ "Chaos Computer Club Berlin e.V.",
+ "bluefnorf",
+ "bf1",
+};
+
+
+
+/*
+ * Initialize GPIO for D+ and status LED
+ */
+void usb_gpio_init()
+{
+ // Clock
+ rcc_periph_clock_enable(RCC_GPIOA);
+ rcc_periph_clock_enable(RCC_GPIOC);
+
+ // D+
+ gpio_set_mode(USBD_PORT,
+ GPIO_MODE_OUTPUT_2_MHZ,
+ GPIO_CNF_OUTPUT_PUSHPULL,
+ USBDP);
+
+ // LED
+ gpio_set_mode(STATUS_LED_PORT,
+ GPIO_MODE_OUTPUT_2_MHZ,
+ GPIO_CNF_OUTPUT_PUSHPULL,
+ STATUS_LED_PIN);
+
+}
+
+/*
+ * Switch status led on / off
+ */
+inline void usb_status_led_toggle()
+{
+ gpio_toggle(STATUS_LED_PORT, STATUS_LED_PIN);
+}
+
+
+/*
+ * Poll usb interface using TIM4
+ */
+void usb_timer_init()
+{
+ // Enable clock
+ rcc_periph_clock_enable(RCC_TIM4);
+
+ // Enable interrupts
+ nvic_enable_irq(NVIC_TIM4_IRQ);
+ nvic_set_priority(NVIC_TIM4_IRQ, 1);
+
+ timer_reset(TIM4);
+
+ // Edge aligned
+ TIM4_CR1 |= TIM_CR1_CKD_CK_INT |
+ TIM_CR1_CMS_EDGE |
+ TIM_CR1_DIR_UP;
+
+ TIM4_PSC = 32;
+ TIM4_ARR = 65535;
+
+ // Interrupts:
+ // - Update / Overflow Event (UIE)
+ TIM4_DIER |= TIM_DIER_UIE;
+}
+
+void usb_timer_start()
+{
+ TIM4_CR1 |= TIM_CR1_CEN;
+}
+
+
+void tim4_isr()
+{
+ // Poll USBDEV
+ usbd_poll(__USBDEV);
+
+ // Blink status LED
+ usb_status_led_toggle();
+ TIM4_SR &= ~TIM_SR_UIF; // Clear flag
+}
+
+
+
+static void usb_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
+{
+ char buf[64];
+
+ int len = usbd_ep_read_packet(usbd_dev, 0x01, buf, 64);
+
+ if (len) {
+ // We received data, let's handle it
+
+ usbd_ep_write_packet(usbd_dev, 0x82, "fnorf", 6);
+ }
+}
+
+
+static int usb_control_request_cb(usbd_device *usbd_dev,
+ struct usb_setup_data *req,
+ uint8_t **buf,
+ uint16_t *len,
+ usbd_control_complete_callback *complete)
+{
+ return 0;
+}
+
+static void usb_set_config_cb(usbd_device *usbd_dev, uint16_t wValue)
+{
+ usbd_ep_setup(usbd_dev, 0x01, USB_ENDPOINT_ATTR_BULK, 64, usb_data_rx_cb);
+ usbd_ep_setup(usbd_dev, 0x82, USB_ENDPOINT_ATTR_BULK, 64, NULL);
+ usbd_ep_setup(usbd_dev, 0x83, USB_ENDPOINT_ATTR_INTERRUPT, 16, NULL);
+
+ usbd_register_control_callback(
+ usbd_dev,
+ USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT,
+ usb_control_request_cb
+ );
+}
+
+
+usbd_device *usb_serial_init()
+{
+ usbd_device *usbd_dev;
+
+ // Initialize GPIO
+ usb_gpio_init();
+
+ // Initialize timers
+ usb_timer_init();
+
+ // Initialize buffers
+ memset(_rx_tmp, 0, RX_BUF_LEN);
+ memset(_rx_buf, 0, RX_BUF_LEN);
+
+ _rx_tmp_len = 0;
+ _rx_buf_ready = 0;
+
+ // Pull down D+
+ gpio_clear(USBD_PORT, USBDP);
+ for (int i = 0; i < 0x10000; i++) {
+ __asm__("nop");
+ }
+ gpio_set(USBD_PORT, USBDP);
+
+ // Initialize usb device
+ usbd_dev = usbd_init(&st_usbfs_v1_usb_driver,
+ &device_descriptor,
+ &config,
+ usb_strings, 3,
+ usbd_control_buffer, sizeof(usbd_control_buffer));
+
+ usbd_register_set_config_callback(usbd_dev, usb_set_config_cb);
+
+ // Make available
+ __USBDEV = usbd_dev;
+
+ // Pull down
+ gpio_clear(USBD_PORT, USBDP);
+
+ // Poll a bit
+ for (int i = 0; i < 0x80000; i++) {
+ usbd_poll(usbd_dev);
+ }
+
+ // Start polling
+ usb_timer_start();
+
+ return usbd_dev;
+}
+
+
+/*
+ * Override _write and redirect stdout to usb
+ */
+ /*
+int _write(int file, char* data, int len)
+{
+ if (file < 2) {
+ return usb_serial_tx(data, len);
+ }
+
+ // Set error and return failure
+ errno = EIO;
+ return -1;
+}
+*/
diff --git a/bluefnorf/usb.h b/bluefnorf/usb.h
new file mode 100644
index 0000000..ad75684
--- /dev/null
+++ b/bluefnorf/usb.h
@@ -0,0 +1,12 @@
+#ifndef __USB_H__
+#define __USB_H__
+
+#include <libopencm3/usb/usbd.h>
+
+usbd_device* usb_serial_init();
+const char* usb_serial_rx();
+size_t usb_serial_tx(const char*, size_t);
+
+
+#endif
+