2020-03-17 06:30 AM
Someone knows what this means as it appears after compilation after joining Touch GFX:
Unresolved inclusion
2020-03-24 10:23 AM
Indeed, what I generate through STM32CubeIDE is different than directly generated by TouchGFXDesigner but I don't know how to use it? Is there any tutorial?
2020-03-24 12:23 PM
Hi :)
Take a look at this one (and maybe also the other ones on this channel later on …):
https://www.youtube.com/watch?v=12KXreXaLp0&t=4s
It´s for CubeIDE 1.2.1 with TGFX 4.13, but will basically also work with IDE 1.3. Meanwhile i set up all my projects that way. They are compatible with (integrated) CubeMX code generation and TGFX Designer as well ...
/Charly
2020-03-25 12:06 PM
2020-03-25 01:16 PM
Good question… the config data looks pretty good at 1st sight. If you followed the steps of the video, everything should work perfectly. Start TouchGFX Designer via doubleclick on the according file in cubeIDE , set up your GUI and don´t forget to press "generate code" within the designer before closing or leaving it …
The *.ioc-file starts cubeMX (also within cubeIDE), but that´s only necessary, if you want to change or add some hardware settings (which is not recommended, until you know, what you do ;) )
2020-03-25 01:27 PM
P.S.: i´ve just seen, you have set up TIM3 … Maybe open cubeMX (via *.ioc…), left pane: open "Timers" and at TIM3 set everything to "disabled" … If you don´t use ADC or other Stuff, all the Timers and their channels (exept TIM6, which should be greyed out) can be set to "disabled". ...
2020-03-26 03:23 AM
Thank you.
I will say it again and let you know.
2020-03-26 06:15 AM
OK!
2020-03-26 08:26 AM
Managed to. Thank you. Once again I did according to the tutorial. At the very end I was making a mistake. When choosing debug I didn't choose External Loader. I thought it turned on the external ST-LINK.
What does it turn on?
2020-03-26 08:53 AM
Hi,
I don't think I understand clearly you question but regarding external loader, indeed this is very important because this allow you to download correctly your binary so that the assets are well placed in the Flash at the right address (depending on the board) and Framebuffer in the RAM either external or internal. So if you do not use it then you will not be able to download correctly especially if you use CubeProgrammer. Each board has its own external loader.
2020-03-27 01:59 AM
I´ll try to explain... On your Disco-Board you have a) the CPU itself, which has some storage space inside. The so called internal flash with a size of one Megabyte. This flash memory is used by the debugger or the cubeProgrammer to store the compiled code (your "program" itself...) and it´s also the place, where the cpu always has access to. Then, on the other side, your board also has a larger flash memory placed on the pcb. "External" chips, the cpu in the beginning doesn´t know anything about.
Ok, the problem here: If you build a graphical application, for example a simple gui with two colored pages and two buttons to switch between them, the background is a simple geometrical information (a rectangle with a few defined corners and a color information). This is very small and placed inside your program. But a button is a lot more complicated: Normally it consists of two pictures (for two states: pressed and released). And these pictures are bitmaps with a lot of information for every single pixel of them. in case of just one button, ok... this would be no problem to store also in internal memory, but think of more complex stuff... Here the images and used textes quickly reach sizes far above one megabyte and therefore can´t be stored in internal flash anymore.
Now comes the tricky stuff: If you switch on your board (without debugging, just plug in...), it powers up, the cpu loads the code from internal flash and uses it to initialize all the used hardware (This is the code, generated by cubeMX). Now the cpu knows, there is some external flash memory and how to access it. And so it can read the formerly (when you program the board) stored content from there.
Ok, but this stuff doesn´t tell the debugger or the programmer, how to use the external flash and where to store the needed information (pictures, texts...). And this is the part, where you have to tell them : Ok guys, there´s some external memory: It´s the chip type xxxx, it´s accessable via qspi, it´s size is...... and so on. This is basically, what´s called the external loader....
/Charly