WIP: adc-power f3
needs rcc fixups
This commit is contained in:
parent
b76fbc0636
commit
cca0635bcd
3 changed files with 93 additions and 0 deletions
13
openocd/openocd.stm32f3-disco.cfg
Normal file
13
openocd/openocd.stm32f3-disco.cfg
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
source [find interface/stlink-v2.cfg]
|
||||
set WORKAREASIZE 0x4000
|
||||
source [find target/stm32f3x.cfg]
|
||||
|
||||
# serial of my f3 disco board.
|
||||
hla_serial "S?n\x06gePQ6G\x10?"
|
||||
|
||||
tpiu config internal swodump.stm32f3-disco.log uart off 72000000
|
||||
|
||||
# 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
|
||||
|
||||
28
tests/adc-power/Makefile.stm32f3-disco
Normal file
28
tests/adc-power/Makefile.stm32f3-disco
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
BOARD = stm32f3-disco
|
||||
PROJECT = adc-power-$(BOARD)
|
||||
BUILD_DIR = bin-$(BOARD)
|
||||
|
||||
SHARED_DIR = ../../shared
|
||||
|
||||
CFILES = main-$(BOARD).c
|
||||
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...
|
||||
LDSCRIPT = $(OPENCM3_DIR)/lib/stm32/f3/stm32f303xc.ld
|
||||
OPENCM3_LIB = opencm3_stm32f3
|
||||
OPENCM3_DEFS = -DSTM32F3
|
||||
FP_FLAGS ?= -mfloat-abi=hard -mfpu=fpv4-sp-d16
|
||||
ARCH_FLAGS = -mthumb -mcpu=cortex-m4 $(FP_FLAGS)
|
||||
#OOCD_INTERFACE = stlink-v2
|
||||
#OOCD_TARGET = stm32f3x
|
||||
OOCD_FILE = ../../openocd/openocd.stm32f3-disco.cfg
|
||||
|
||||
include ../../rules.mk
|
||||
52
tests/adc-power/main-stm32f3-disco.c
Normal file
52
tests/adc-power/main-stm32f3-disco.c
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* Oct 2015 Karl Palsson <karlp@tweak.net.au>
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <libopencm3/cm3/nvic.h>
|
||||
#include <libopencm3/stm32/adc.h>
|
||||
#include <libopencm3/stm32/dac.h>
|
||||
#include <libopencm3/stm32/gpio.h>
|
||||
#include <libopencm3/stm32/rcc.h>
|
||||
#include <libopencm3/stm32/usart.h>
|
||||
|
||||
#include "trace.h"
|
||||
#include "adc-power.h"
|
||||
|
||||
#define LED_DISCO_GREEN_PORT GPIOD
|
||||
#define LED_DISCO_GREEN_PIN GPIO12
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int i;
|
||||
int j = 0;
|
||||
rcc_clock_setup_hse_3v3(&hse_8mhz_3v3[CLOCK_3V3_168MHZ]);
|
||||
rcc_periph_clock_enable(RCC_GPIOD);
|
||||
printf("hi guys!\n");
|
||||
/* green led for ticking */
|
||||
gpio_mode_setup(LED_DISCO_GREEN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE,
|
||||
LED_DISCO_GREEN_PIN);
|
||||
|
||||
rcc_periph_clock_enable(RCC_GPIOA);
|
||||
gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO0);
|
||||
gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO1);
|
||||
|
||||
adc_power_init();
|
||||
while (1) {
|
||||
adc_power_task_up();
|
||||
gpio_toggle(LED_DISCO_GREEN_PORT, LED_DISCO_GREEN_PIN);
|
||||
|
||||
for (i = 0; i < 0x1000000; i++) { /* Wait a bit. */
|
||||
__asm__("NOP");
|
||||
}
|
||||
adc_power_task_down();
|
||||
gpio_toggle(LED_DISCO_GREEN_PORT, LED_DISCO_GREEN_PIN);
|
||||
for (i = 0; i < 0x1000000; i++) { /* Wait a bit. */
|
||||
__asm__("NOP");
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue