RTEMS scheduler bug ?

Mr. Andrei Chichak groups at chichak.ca
Thu Apr 4 16:44:04 UTC 2019



> On 2019-April-04, at 7:23 AM, Joel Sherrill <joel at rtems.org> wrote:
> 
> 
> 
> On Thu, Apr 4, 2019 at 7:28 AM Sebastian Huber <sebastian.huber at embedded-brains.de <mailto:sebastian.huber at embedded-brains.de>> wrote:
> Hello,
> 
> On 04/04/2019 14:09, Catalin Demergian wrote:
> > Hi Andrei,
> > thank you for the elaborated answer !
> >
> > I checked my STM32 Cube settings, I have 3 enabled interrupts and they 
> > all have the preemption priority/sub priority set to zero !
> > it seems I ran into the same issue you had in 2015 :)
> > I will take your advice - change the priorities, regenerate the code 
> > and see what happens.
> 
> I mentioned this possible problem some months ago:
> 
> https://lists.rtems.org/pipermail/users/2018-September/032600.html <https://lists.rtems.org/pipermail/users/2018-September/032600.html>
> 
> Andrei's answer is definitely a bit more elaborate.
> 
> Thanks Andrei! I am glad you are past this but let's do a post-game analysis of what
> could be better next time so no one else suffers as much. These are random ideas
> and I am open to more.

If I am setting up a new project, I’ll grab the BSP, or even just start a new project in eclipse, put together a model in CubeMX and - BAM - run into this issue.

I’ve seen this before, so I know where to go in my email stash to find my writeup of the solution and go and fix the interrupt priorities. But this only happens about once a year, so I don’t reflexively remember the minutia. 

Someone, other than me, will get mislead by the defaults in CubeMX and take the default 0 priorities and trip over the stupid rules. Without Cube, you’ll still get 0 priorities. Or you can choose your own priorities, but you need to know the stupid rule and use large value interrupt priorities.

So, how do we let people know that this is an issue with the STM32 series? Maybe an STM32 appendix to the c-user guide. That could be a good place to put stuff like “UART3 is used as a console on pins X and Y. To change these pins, alter these values in the BSP and rebuild”.

In the mean time, I’m just starting another project using an STM32F4 and RTEMS and I just remembered that I haven’t set the interrupt priorities properly. SIGH.

A

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20190404/ededca33/attachment-0001.html>


More information about the users mailing list