diff options
-rw-r--r-- | openocd/openocd.stm32l4-disco.cfg | 5 | ||||
-rw-r--r-- | tests/adc-power/adc-power.c | 1 | ||||
-rw-r--r-- | tests/adc-power/main-stm32l4-disco.c | 10 |
3 files changed, 14 insertions, 2 deletions
diff --git a/openocd/openocd.stm32l4-disco.cfg b/openocd/openocd.stm32l4-disco.cfg index fe6f340..93c252f 100644 --- a/openocd/openocd.stm32l4-disco.cfg +++ b/openocd/openocd.stm32l4-disco.cfg @@ -4,9 +4,10 @@ source [find target/stm32l4x.cfg] # serial of my f072 disco board. hla_serial "066DFF495351885087171826" -#tpiu config internal swodump.stm32l4-disco.log uart off 168000000 +tpiu config internal swodump.stm32l4-disco.log uart off 48000000 # 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 +#reset_config srst_only srst_nogate connect_assert_srst +reset_config none diff --git a/tests/adc-power/adc-power.c b/tests/adc-power/adc-power.c index a188649..97a083a 100644 --- a/tests/adc-power/adc-power.c +++ b/tests/adc-power/adc-power.c @@ -66,6 +66,7 @@ void adc_power_init(void) /* same same but different */ rcc_periph_clock_enable(RCC_ADC1); ADC_CR(ADC1) &= ~ADC_CR_DEEPPWD; + RCC_CCIPR |= 3 << 28; // system clock as adc clock. (with CKMODE == 0) adc_enable_regulator(ADC1); #else diff --git a/tests/adc-power/main-stm32l4-disco.c b/tests/adc-power/main-stm32l4-disco.c index a23266f..ad21fcb 100644 --- a/tests/adc-power/main-stm32l4-disco.c +++ b/tests/adc-power/main-stm32l4-disco.c @@ -7,7 +7,9 @@ #include <stdio.h> #include <unistd.h> #include <libopencm3/cm3/nvic.h> +#include <libopencm3/stm32/flash.h> #include <libopencm3/stm32/gpio.h> +#include <libopencm3/stm32/pwr.h> #include <libopencm3/stm32/rcc.h> #include "trace.h" @@ -18,6 +20,12 @@ #define LED_DISCO_GREEN_PORT GPIOE #define LED_DISCO_GREEN_PIN GPIO8 +int hack(void) { + pwr_set_vos_scale(PWR_SCALE1); + flash_set_ws(FLASH_ACR_LATENCY_2WS); + rcc_set_msi_range(RCC_CR_MSIRANGE_48MHZ); + return 0; +} int main(void) { @@ -27,6 +35,8 @@ int main(void) rcc_periph_clock_enable(RCC_GPIOE); // led rcc_periph_clock_enable(RCC_GPIOA); // adcs rcc_periph_clock_enable(RCC_GPIOC); // adcs + rcc_periph_clock_enable(RCC_PWR); + hack(); printf("hi guys!\n"); /* green led for ticking */ gpio_mode_setup(LED_DISCO_GREEN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, |