diff options
author | Karl Palsson <karlp@tweak.net.au> | 2015-11-13 02:12:08 +0000 |
---|---|---|
committer | Karl Palsson <karlp@tweak.net.au> | 2016-03-04 00:43:21 +0000 |
commit | 0ab2988130072d529583afd8058b1f58ba3b4774 (patch) | |
tree | a44f040e73b59ce62d88cfabe53f1723361ffe99 | |
parent | 19a85ae45beb97d5b260e80320e233f95c0e302b (diff) | |
download | olsndot-0ab2988130072d529583afd8058b1f58ba3b4774.tar.gz olsndot-0ab2988130072d529583afd8058b1f58ba3b4774.tar.bz2 olsndot-0ab2988130072d529583afd8058b1f58ba3b4774.zip |
l4 miniblink
We'll build up to the adc temp sensor from here
-rw-r--r-- | openocd/openocd.stm32l4-disco.cfg | 12 | ||||
-rw-r--r-- | tests/adc-power/Makefile.stm32l4-disco | 33 | ||||
-rw-r--r-- | tests/adc-power/main-stm32l4-disco.c | 44 |
3 files changed, 89 insertions, 0 deletions
diff --git a/openocd/openocd.stm32l4-disco.cfg b/openocd/openocd.stm32l4-disco.cfg new file mode 100644 index 0000000..fe6f340 --- /dev/null +++ b/openocd/openocd.stm32l4-disco.cfg @@ -0,0 +1,12 @@ +source [find interface/stlink-v2-1.cfg] +source [find target/stm32l4x.cfg] + +# serial of my f072 disco board. +hla_serial "066DFF495351885087171826" + +#tpiu config internal swodump.stm32l4-disco.log uart off 168000000 + +# Uncomment to reset on connect, for grabbing under WFI et al +#reset_config srst_only srst_nogate +reset_config srst_only srst_nogate connect_assert_srst + diff --git a/tests/adc-power/Makefile.stm32l4-disco b/tests/adc-power/Makefile.stm32l4-disco new file mode 100644 index 0000000..99fc9e2 --- /dev/null +++ b/tests/adc-power/Makefile.stm32l4-disco @@ -0,0 +1,33 @@ + +BOARD = stm32l4-disco +PROJECT = adc-power-$(BOARD) +BUILD_DIR = bin-$(BOARD) + +SHARED_DIR = ../../shared + +CFILES = main-$(BOARD).c +# hah, not yet! +#CFILES += adc-power.c +#CFILES += trace.c trace_stdio.c + +VPATH += $(SHARED_DIR) + +INCLUDES += $(patsubst %,-I%, . $(SHARED_DIR)) + +OPENCM3_DIR=../../libopencm3/ + +### This section can go to an arch shared rules eventually... +#DEVICE=stm32l476vgt6 +#SRCLIBDIR=$(OPENCM3_DIR) +#include $(OPENCM3_DIR)/ld/Makefile.linker +LDSCRIPT=$(OPENCM3_DIR)/lib/stm32/l4/stm32l4xxg.ld + +OPENCM3_LIB = opencm3_stm32l4 +OPENCM3_DEFS = -DSTM32L4 +FP_FLAGS ?= -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ARCH_FLAGS = -mthumb -mcpu=cortex-m4 $(FP_FLAGS) +#OOCD_INTERFACE = stlink-v2-1 +#OOCD_TARGET = stm32l4x +OOCD_FILE = ../../openocd/openocd.stm32l4-disco.cfg + +include ../../rules.mk diff --git a/tests/adc-power/main-stm32l4-disco.c b/tests/adc-power/main-stm32l4-disco.c new file mode 100644 index 0000000..4b8ca43 --- /dev/null +++ b/tests/adc-power/main-stm32l4-disco.c @@ -0,0 +1,44 @@ + +/* + * Nov 2015 Karl Palsson <karlp@tweak.net.au> + */ + +#include <errno.h> +#include <stdio.h> +#include <unistd.h> +#include <libopencm3/cm3/nvic.h> +#include <libopencm3/stm32/gpio.h> +#include <libopencm3/stm32/rcc.h> + +#define LED_DISCO_RED_PORT GPIOB +#define LED_DISCO_RED_PIN GPIO2 +#define LED_DISCO_GREEN_PORT GPIOE +#define LED_DISCO_GREEN_PIN GPIO8 + + +int main(void) +{ + int i; + int j = 0; + rcc_periph_clock_enable(RCC_GPIOB); + rcc_periph_clock_enable(RCC_GPIOE); + /* green led for ticking */ + gpio_mode_setup(LED_DISCO_GREEN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, + LED_DISCO_GREEN_PIN); + gpio_mode_setup(LED_DISCO_RED_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, + LED_DISCO_RED_PIN); + + while (1) { + gpio_toggle(LED_DISCO_GREEN_PORT, LED_DISCO_GREEN_PIN); + + for (i = 0; i < 0x10000; i++) { /* Wait a bit. */ + __asm__("NOP"); + } + gpio_toggle(LED_DISCO_RED_PORT, LED_DISCO_RED_PIN); + for (i = 0; i < 0x10000; i++) { /* Wait a bit. */ + __asm__("NOP"); + } + } + + return 0; +} |