cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429 HardFault with STemWin-Flexskin

bettif84
Associate
Posted on July 17, 2015 at 08:58

Hi,

I'm new with the STM32 MCU and I have a problem on my custom board that I can not solve: the system is an STM32F429ZI with SDRAM and a display, like the STM32F4DIscovery. I work with IAR and I made a little test firmware: the display show an image and then I call the GUI_Init() of STemWin. 

Here the code:

GUI_Init();

//

// Call creation function for the dialog

//

hDlg = CreateWindow0();

WM_Exec();

while(1){

...

Gui_Exec();

...

}

I used the GUIBuilder to make a GUI with 3 buttons in a window.

Every 100ms there is a check of the touchscreen and it sends the information with the GUI_TOUCH_StoreStateEx(). 

At this point, the system works: touchscreen, the buttons... but I want change the graphic and use the FlexSkin so after the Gui_Init() I send BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX).

It seems to work but after some pressions of the buttons and some touches in the free zones (sometimes after 1 touch and sometimes after 5+..) the MCU is blocked in Hard Fault Handler.

I increased the memory for the GUI:

//

// Define the available number of bytes available for the GUI

//

&sharpdefine GUI_NUMBYTES  (1024) * 140

but the problem persist.

Can someone help me to find the solution?

Thank you very much.

Francesco

#stm32f4 #stemwin #stm32-hard-fault
1 REPLY 1
Posted on July 17, 2015 at 13:57

Use a proper Hard Fault Handler (ie not while(1);) that can display the processor context and registers. Then look at, and identify, the code which is failing. Once you understand why it's failing, you might be able to remedy what's broken. 

Joseph Yiu has published some examples.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..