This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Getting EmWin work as single task with MCBSTM32F400

Hi,

I am trying to get started with EmWin and MCBSTM32F400 board from keil. Provided examples are working, template is loading fine, even the RTX one (as I want to benefit from the RT OS from keil for my application), and I can call basic functions without trouble.

The problems start when I try to call functions that are widgets' relative. I tried first with an iconview widget, that was continuously making my RTX crash (os_errors) that I finally solved by giving task stacks 2048 bytes instead of 200 bytes assigned by default. (By the way, I don't get why it solves the problem as the GUI task use user-provided stack in the template). In doubt, I also increased the size of the user stack.

In the Emwin documentation, it seems that segger library can be used in a mode where a single task is dedicated to GUI. This is the configuration I want, so do I need to choose GUI_X_RTX.c or GUI_X.c ? Maybe this is why I get these unstable behavior.

According to an ST Application note (AN00005), it seems that I should use GUI_X.c, but this way, GUI_Init fails somewhere and a hard fault error raises. Demo examples doesn't use RTX, so I can't use it as reference.

So if anybody have suggestions on how to start, and stop having my board crash every 10 seconds, it would be highly appreciated...

Thank you

  • Thank you for your answer,

    I have indeed forgotten to specify some details, thank you for pointing that out.

    I'm working with Keil pro v4.60, and the emwin lib I try to use is the one included in the Keil pro package.

    As the MCBSTM32F400 board has an ST device embedded, and considering I didn't found my answer in the emwin/keil documentations, I thought it could be similar. But the OS mentioned in this AN (AN4323 and not 0005, by the way) is ST's solution, so the implementation might be different...

    Regards,