Closed josephnobes-stfc closed 11 months ago
Hi @josephnobes-stfc,
Thank you for this clear and detailed report. We will forward it to our development teams and get back to you once we have their feedback.
With regards,
Hello @josephnobes-stfc,
Thank you for this contribution, this point has been reported to our development teams. I will get back to you as soon as I have any updates.
Best Regards,
ST Internal Reference: 152007
Hello @josephnobes-stfc,
I hope you are fine. The point you have raised has been fixed in the CMSIS-FreeRTOS v10.2.0. Unfortunately, there is no plan to upgrade the FreeRTOS version for STM32CubeF2 .
Please allow me to close this issue. Thank you for your comprehension and thank you again for having reported the point.
With Regards,
Set-up STM32F205 project on custom board using STM32Cube FW_F2 1.9.2 with FreeRTOS middleware enabled (using CMSIS RTOS v2).
Issue When program comes to execute
osEventFlagsSet()
from within an ISR, it returnsosFlagsErrorResource
after the flag has been created through the IOC editor.Under investigation, it seems that the logic in the aforementioned function for handling the return value of
xEventGroupSetBitsFromISR()
may be inverted. WhenpdPass
is returned to indicate a successful addition of the message to the queue internally, the resonse of the calling function is to report an error, which should be the response topdFail
.As a comparison,
osEventFlagsClear()
callsxEventGroupClearBitsFromISR()
, but returns the error if the return value ispdFail
.Checking the example code published by FreeRTOS,
!= pdFail
test is used to trigger the yield, therefore I think the behaviour should be as follows:Thanks for the help. I've check that this is still the case in the latest commit to master and can't find anything else about it. If this is the wrong forum for this suggestion please let me know.