Skip to content

Update to Freertos 10.3.1 Add CortexM33 support #48

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Feb 23, 2022

Conversation

ABOSTM
Copy link
Contributor

@ABOSTM ABOSTM commented Feb 17, 2022

  • Update to Freertos 10.3.1
  • Add CortexM33 support
  • Fix frLiuLayland test on CM0 and CM0+

STM32FreeRTOS v10.3.1

Board AnalogRead_DigitalRead frBlinkPrint frLiuLayland frBlink (CMSIS-RTOSv2) Blinky (CMSIS-RTOSv2)
Nucleo F091RC (Cortex-M0) PASSED PASSED PASSED PASSED PASSED
Nucleo G071RB (Cortex-M0+) PASSED PASSED PASSED PASSED PASSED
Nucleo F103RB (Cortex-M3) PASSED PASSED PASSED PASSED PASSED
Nucleo L476RG (Cortex-M4) PASSED PASSED PASSED PASSED PASSED
Nucleo H743ZI (Cortex-M7) PASSED PASSED PASSED PASSED PASSED
Nucleo L552ZE-Q (Cortex-M33) PASSED PASSED PASSED PASSED PASSED
Nucleo U575ZI-Q (Cortex-M33) PASSED PASSED PASSED PASSED PASSED

fpistm and others added 6 commits February 11, 2022 11:36
Signed-off-by: Frederic Pillon <[email protected]>
* CMSIS_device_header must be defined.
* Some Includes define must be set

Signed-off-by: Alexandre Bourdiol <[email protected]>
SysTick_Handler() from stm32duino core is calling weak osSystickHandler().
Both CMSIS-RTOSv2 and CMSIS-RTOS override osSystickHandler()
which is calling xPortSysTickHandler(), defined in respective CortexM-x port

Note: It is necessary to go through this function
(osSystickHandler()) that checks whether scheduler is started
otherwise there are issue when systick interrupt fires before FreeRTOS is started

Signed-off-by: Alexandre Bourdiol <[email protected]>
@ABOSTM ABOSTM added the enhancement New feature or request label Feb 17, 2022
@ABOSTM ABOSTM requested a review from fpistm February 17, 2022 16:04
@ABOSTM
Copy link
Contributor Author

ABOSTM commented Feb 21, 2022

Edit
Fix frLiuLayland test on CM0 and CM0+

@fpistm fpistm added this to the 10.3.1 milestone Feb 22, 2022
…duler()

On Cortex-M0 and Cortex-M0+, all IT are disabled between xTaskCreate() and
vTaskStartScheduler().
So it is not possible to use IT inbetween, like Serial.print() ...
This is the reason why, in example "frLiyLayland", between xTaskCreate()
and vTaskStartScheduler(),
we use direct printf(), which will access directly USART without interrupt

Signed-off-by: Alexandre Bourdiol <[email protected]>
@fpistm fpistm merged commit 12a6291 into stm32duino:main Feb 23, 2022
@fpistm fpistm mentioned this pull request Feb 23, 2022
@fpistm fpistm linked an issue Feb 23, 2022 that may be closed by this pull request
@fpistm fpistm removed a link to an issue Feb 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants