Jump to content

GDISP gets corrupted when calling: gdispDrawChar / String


Crni

Recommended Posts

Hi,

Must admit it's a very strange problem...  I'd highly appreciate any help... ideas... probably a compiler issue...

Got an STM32f103RB board with a 2.8' LCD, decided to give uGFX a try, just created an account here few days ago.

I will not say it started working right away, took some time to figure out it's actually an ILI9328 (with who knows which revision), took the Chineese code and rewrote the gdisp_lld_init, as well as the board commands, and voila everything worked like charm!

I started drawing boxes and circles, everything working great, but when I wanted to display some text, so many strange things started to happen.

Current situation is this:

gdispDrawChar(100, 100, 'A', font, GFX_RED); // This works, but even this is buggy based on content of the program...

gdispDrawString(120, 200, bPtr, font1, GFX_RED); // This doesn't work (sometimes Hardfault, sometimes it goes through, but doesn't display anything)

When I started debugging, only thing I can say is that's it's highly indeterministic, and what looks like that's happening is that GDISP memory is being corrupted during program execution.

From the days of PIC programming, I would be having similar issues, but controlled things like this with careful compiler settings, static declarations, etc.

I plan to get to know gcc more in depth, but would like to start playing around as soon as possible, any idea would be greatly appreciated!

Thanks!

Link to comment
Share on other sites

SOLVED: Very dump mistake. Heap size and main stack size had very low values.

Everything working great. BTW, this is really a nice library, great job! 

I plan to spend some time to get to know uGFX in more detail, if you need some help on documentation and/or examples with the following in future, I'm willing to contribute:

1. Developing on a Mac examples, easy start, etc. (command line / Makefile, CrossStudio and combination of these, with and without CubeMX and FreeRTOS/Chibios)

2. Adding some new display drivers with which I want to play around including various displays and some E-ink displays

3. Adding some new inputs like rotary/shaft encoders (which could be used for cool menu browsing and other input where input values have +/-)

Anyway, wish you guys all the best!

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...