diff options
Diffstat (limited to 'tests/adc-power')
-rw-r--r-- | tests/adc-power/Makefile.stm32l4-disco | 33 | ||||
-rw-r--r-- | tests/adc-power/main-stm32l4-disco.c | 44 |
2 files changed, 77 insertions, 0 deletions
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; +} |