On Sat, Dec 2, 2023 at 11:40 PM ~lbryndza <lbryn...@git.sr.ht> wrote: > > Current implementation of T2 - T5 times on the STM32 platform does not > work properly. > After configuring the timer-counter circuit to report interrupts every > 10ms, in reality the first interrupt is reported > only once after a few seconds, while subsequent interrupts do not come. > The current code also does not properly emulate the operation of even > the basic functions of the TIME-BASE unit. > This patch contains fixes that reimplements the basic functionality > of the time base unit such as up-counting down-counting , and alternate- > mode up-down counting. > The ptimer() API is used to emulate timers. > After applying the patch, STM32 timer works correctly in its basic > functionality. > The ISIX-RTOS test unit was used to test the patch. > Links and instructions can be found below: > > https://github.com/lucckb/isixrtos/blob/master/tests/libisix/01_basic_primitives.cpp > https://github.com/lucckb/isixrtos/blob/master/extras/doc/unit_test_qemu.md > > > qemu-system-arm -M olimex-stm32-h405 -kernel > build/tests/libisix/isixunittests.binary -nographic > unittests_entry.cpp:146|ISIX VERSION pub/ep0319-157-gb239b35f-dirty > unittests_entry.cpp:83|Exceptions pretest. OK > 51 selected tests > [ RUN ] 01_base_00 TimeBase timer vs systick > [ 1001ms ] ... > [ RUN ] 01_base_01 Basic heap allocator > [ 1ms ] ...
Great! This is a good step in the right direction. Each patch needs to have a different title though. The idea is that each patch describes what that patch is doing. So each commit will have a title and commit message describing that patch. The cover letter (this email) will then describe the overarching goal. Alistair > > Lucjan Bryndza (20): > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > Fixing the basic functionality of STM32 timers > > hw/arm/stm32f405_soc.c | 2 +- > hw/timer/stm32f2xx_timer.c | 262 +++++++++++++++++++---------- > include/hw/timer/stm32f2xx_timer.h | 23 ++- > 3 files changed, 189 insertions(+), 98 deletions(-) > > -- > 2.38.5