Hello,
My application runs on RTX RTOS and MCU STM32F2 is used.
I have implemented one task which handles UART read/write (baudrate 115200). Other task reads data from GPS (UART 9200). Application runs on 48 MHz core clock without any problems. Systick is set to 10 ms. But when I set MCU core 8MHz, the application stops working. What is the limitations for MCU clock working with RTX RTOS?
Thanks in advance.
Linas
I would check you PCLK1 and PCLK2. If you lower SYSCLK, you may also have lowered HCLK if you did not change how it was calculated. PCLK1 and PCLK2 are based on HCLK so you may have lowered these too.
At 8 MHz both APB dividers could be DIV1, rather than DIV2/4, check the baud rate value programmed into the USART, understand the % error there.
8 MHz and 48 MHz are not the only available rates here, the part mentioned is certainly capable of functioning in the range 4-120 MHz, if you turn the PLL off you can run at 16 MHz using the HSI clock. Plenty of options.
The RTOS is the least of your issues here, understand the actual utilization/loading, and how to better express the failure condition.
which handles UART read/write (baudrate 115200) ... Application runs on 48 MHz core clock without any problems.But when I set MCU core 8MHz, the application stops working. did you remember to change the UART clock dividers?
Erik
Thank you for your help. Problem solved. There were issues with my hardware. So thats why I got faulty data from UART. So, my application on RTX OS is running correctly on 8MHz.