From 4bbe59b24be734e42de76ea59d2e7d68a6c92c94 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Thu, 15 Feb 2024 16:59:42 +0100 Subject: stm32f7: Working counter --- README.md | 2 -- src/arch/stm32f746zg-nucleo/Makefile.inc | 8 ++++---- src/arch/stm32f746zg-nucleo/arch.cc | 2 ++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4997ab5..c7983d4 100644 --- a/README.md +++ b/README.md @@ -135,8 +135,6 @@ Peripheral communication: ### STM32F746ZG (NUCLEO-F746ZG) -Preliminary support, timers may be incorrect. - Peripheral communication: * UART output on USART3 diff --git a/src/arch/stm32f746zg-nucleo/Makefile.inc b/src/arch/stm32f746zg-nucleo/Makefile.inc index 17c7e65..fada19d 100644 --- a/src/arch/stm32f746zg-nucleo/Makefile.inc +++ b/src/arch/stm32f746zg-nucleo/Makefile.inc @@ -7,6 +7,7 @@ SERIAL_PORT ?= ttyACM0 cpu_freq ?= 216000000 +counter_freq ?= 108000000 INCLUDES += -Iext/libopencm3/include @@ -114,7 +115,7 @@ arch_clean: ${QUIET}rm -f ${OBJECTS} cat: - ${QUIET}script/cat.py /dev/${SERIAL_PORT} 115200 ${cpu_freq} 65536 + ${QUIET}script/cat.py /dev/${SERIAL_PORT} 115200 ${counter_freq} 4294967296 monitor: ${QUIET}screen /dev/${SERIAL_PORT} 115200 @@ -126,9 +127,8 @@ arch_help: arch_info: @echo "CPU Freq: ${cpu_freq} Hz" - @echo "Timer Freq: ${timer_freq} Hz -> $(shell src/arch/stm32f746zg-nucleo/model.py f_timer "${cpu_freq}" "${timer_freq}")" - @echo "I2C Freq: ${i2c_freq} Hz" - @echo "Counter Overflow: 4294967296/255" + @echo "Count Freq: ${counter_freq} Hz" + @echo "Counter Overflow: 4294967296/4294967295" @echo "Monitor: /dev/${SERIAL_PORT} 115200" attributes: build/system.elf diff --git a/src/arch/stm32f746zg-nucleo/arch.cc b/src/arch/stm32f746zg-nucleo/arch.cc index 4adb883..443a2cf 100644 --- a/src/arch/stm32f746zg-nucleo/arch.cc +++ b/src/arch/stm32f746zg-nucleo/arch.cc @@ -21,6 +21,7 @@ void Arch::setup(void) #error Unsupported F_CPU #endif +#ifdef CONFIG_arch_stm32f746zg_nucleo_driver_counter // counter rcc_periph_clock_enable(RCC_TIM2); nvic_enable_irq(NVIC_TIM2_IRQ); @@ -32,6 +33,7 @@ void Arch::setup(void) timer_continuous_mode(TIM2); timer_set_period(TIM2, 4294967295); timer_enable_irq(TIM2, TIM_DIER_UIE); +#endif #ifdef CONFIG_loop rcc_periph_clock_enable(RCC_TIM3); -- cgit v1.2.3