From 0ab2988130072d529583afd8058b1f58ba3b4774 Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Fri, 13 Nov 2015 02:12:08 +0000 Subject: l4 miniblink We'll build up to the adc temp sensor from here --- tests/adc-power/Makefile.stm32l4-disco | 33 +++++++++++++++++++++++++ tests/adc-power/main-stm32l4-disco.c | 44 ++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 tests/adc-power/Makefile.stm32l4-disco create mode 100644 tests/adc-power/main-stm32l4-disco.c (limited to 'tests') 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 + */ + +#include +#include +#include +#include +#include +#include + +#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; +} -- cgit