2021-09-28 08:02 AM
Good afternoon,
I've come across some odd behaviour and wanted to check in with you on it.
I have been developing a project since TouchGFX 4.14 I believe, that I've been running and migrating through the updates without much hassle.
Today, I migrated to 4.17.0, and copied/ pasted a Text Area from one screen to another (I know, my bad !).
This is ultimately the change I found altered the project: I run into Hardfault Handler every time the TouchGFX task starts.
Removing that bit of Text Area "solves" the problem, aka my board boots up, but I end up with either errated colors on my images, or overlapping adjacent screens on/ through my buttons (see pictures). Also the rest of my program does NOT run fine (no comms, no I/O, nothing seems alive - I have yet to determine what is and isn't).
For reference (in simulator, which runs fine in any case):
What could possibly have gone wrong during the migration ?
My project runs on a STM32F769II-DISC0 board. If you need more info I can provide, but not the project files as it is confidential.
Thanks in advance
JMS
2021-09-28 07:30 PM
Hello JMS,
So your problem occured when you migrated from 4.16.1 to 4.17 ?
When migrating a project from one version to the other, you should also migrate the TouchGFX Generator to the same version in CubeMX.
Copy/pasting a TextArea does not seem like a big issue that could ruin your project in my opinion.
When you debug, is it running correctly ?
Artifacts can come from different sources such as the display initialization, the Flash communication, wrong TouchGFX synchronization, etc.
I suggest you compare with the project version that was working to see any discrepancy that seems odd.
/Alexandre
2021-09-29 07:08 AM
Thank you for your reply !
Yes, it occured when migrating from 4.16.0 to 4.17. I did what you told me, migrating everything to the most up-to-date version (CubeMX as well as the TouchGFX Generator, and also CubeIDE just to be sure).
When I debug, it runs correctly now (for some reason) - I have my UARTs, my , albeit one of my screens (the screen where I pasted the TextArea in question) freezes the GUI (while not stopping the other tasks). I haven't figured where the GUI task stops yet.
Thanks again
JMS
2021-09-29 07:28 PM
Hello JMS,
Did you try to see if it works on the simulator ? Removing hardware related code like UART.
/Alexandre
2021-09-30 12:12 AM
Hello, it was running fine in the simulator when I initially posted (you can see the screenshots in my original post).
Today, compiling for simulation fails:
Compile
make -f simulator/gcc/Makefile -j8
Reading ./application.config
Compiling generated/fonts/src/Font_Asap_Regular_20_4bpp_0.cpp
Compiling generated/fonts/src/Table_Asap_Regular_20_4bpp.cpp
Compiling generated/fonts/src/Kerning_Asap_Regular_20_4bpp.cpp
Compiling generated/images/src/BitmapDatabase.cpp
Compiling simulator/main.cpp
generated/fonts/src/Table_Asap_Regular_20_4bpp.cpp: In function 'touchgfx::GeneratedFont& getFont_Asap_Regular_20_4bpp()':
generated/fonts/src/Table_Asap_Regular_20_4bpp.cpp:117:178: error: no matching function for call to 'touchgfx::GeneratedFont::GeneratedFont(const touchgfx::GlyphNode [95], int, int, int, int, int, int, int, const uint8_t* const [1], const touchgfx::KerningNode [], int, int, int)'
static touchgfx::GeneratedFont Asap_Regular_20_4bpp(glyphs_Asap_Regular_20_4bpp, 95, 20, 4, 4, 1, 1, 1, unicodes_Asap_Regular_20_4bpp, kerning_Asap_Regular_20_4bpp, 63, 0, 0);
^
In file included from generated/fonts/src/Table_Asap_Regular_20_4bpp.cpp:3:0:
generated/fonts/include/fonts/GeneratedFont.hpp:86:5: note: candidate: touchgfx::GeneratedFont::GeneratedFont()
GeneratedFont()
^~~~~~~~~~~~~
generated/fonts/include/fonts/GeneratedFont.hpp:86:5: note: candidate expects 0 arguments, 13 provided
In file included from generated/fonts/src/Table_Asap_Regular_20_4bpp.cpp:3:0:
generated/fonts/include/fonts/GeneratedFont.hpp:42:5: note: candidate: touchgfx::GeneratedFont::GeneratedFont(const touchgfx::GlyphNode*, uint16_t, uint16_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, const uint8_t* const*, const touchgfx::KerningNode*, touchgfx::Unicode::UnicodeChar, touchgfx::Unicode::UnicodeChar, const uint16_t*, const touchgfx::FontContextualFormsTable*)
GeneratedFont(const GlyphNode* list, uint16_t size, uint16_t height, uint8_t pixBelowBase, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataInternalFlash, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable);
^~~~~~~~~~~~~
generated/fonts/include/fonts/GeneratedFont.hpp:42:5: note: candidate expects 14 arguments, 13 provided
generated/fonts/include/fonts/GeneratedFont.hpp:17:7: note: candidate: constexpr touchgfx::GeneratedFont::GeneratedFont(const touchgfx::GeneratedFont&)
class GeneratedFont : public ConstFont
^~~~~~~~~~~~~
generated/fonts/include/fonts/GeneratedFont.hpp:17:7: note: candidate expects 1 argument, 13 provided
generated/fonts/include/fonts/GeneratedFont.hpp:17:7: note: candidate: constexpr touchgfx::GeneratedFont::GeneratedFont(touchgfx::GeneratedFont&&)
generated/fonts/include/fonts/GeneratedFont.hpp:17:7: note: candidate expects 1 argument, 13 provided
generated/simulator/gcc/Makefile:190: recipe for target 'build/MINGW32_NT-6.2/generated/fonts/src/Table_Asap_Regular_20_4bpp.o' failed
make[2]: *** [build/MINGW32_NT-6.2/generated/fonts/src/Table_Asap_Regular_20_4bpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
generated/simulator/gcc/Makefile:149: recipe for target 'generate_assets' failed
make[1]: *** [generate_assets] Error 2
make: *** [all] Error 2
simulator/gcc/Makefile:32: recipe for target 'all' failed
Failed
Failed
Generating the code, however, does not yeld any error.
Thank you for your time,
JMS