cancel
Showing results for 
Search instead for 
Did you mean: 

what do you use to program STM32F769I-Discovery

MNapi
Senior II

I downloaded CubeMX 7 I thought it was program like Cube Mx 5, instead it had bunch of example files.

When I try to generate code in Touch GFX, the right upper corner nothing happens.

So what do you use to get the working TFT and bunch of other things like ADC, I2C etc so I can work in Keil ?

7 REPLIES 7
Mon2
Senior III

Hi. CubeMX7? Do you mean CubeMX 5.0.1? Believe that is the latest release.

1) The TouchGFX integration with these tools is not working yet for the selected target kit. You will have to wait till that is perfected by ST. If you have a STM32F429i-DISC1 kit then there are articles posted on this forum that will get you operational but you must use IAR or SW4STM32 compilers (only). Keil is not yet working for this target kit.

2) Aside from the above shortcomings, select the PROJECT MANAGER tab -> select the target compiler of your choice. Again, for now, TouchGFX integration is broken on the STM32F769 target kits. You may be ok to proceed to make use of the CubeMX for your target with IAR, Keil and SW4STM32. Once the auto-generated code is created, open the project and the compiler IDE should launch. Compile the source code and upload to your target and/or debug to suit.

I downloaded something called en.stm32cubef7, I thought it was something to initialize the board like CubeMX 5. But istead it has bunch of examples.

As usual support from STM suukcs and you need spend countless months to figure just one thing.

Although I found this board interesting with 480 x 800 touch TFT and support for SD card and the price is resonable. But is useless if you cannot get it running.

I do not think I will be studying again SW4STM32 to get this board running. It took me a few months to figure out CubeMX and Keil.

Mon2
Senior III

Hi. Do not give up faith on these tools! A part of me is laughing at the comments because we also faced a similar pain but it is also very rewarding to realize the knowledge that you have gained by learning about something new. We invested close to a month to fix the support on the STM32F429i-DISC1 kit and probably used words from many dialects cussing while drinking strong coffee and facing the hundreds of compilation errors. In the end, we achieved our goal. A very powerful solution.

On topic, TouchGFX was a commercial product from Draupner (Europe) that believe was about $3k euros just a few months ago and now it is FREE. In due time, the bugs will be fixed for the integration. Respectively, we have the very strong support from one of the developers of TouchGFX here (@Martin KJELDSEN​  - check out some of his youtube videos, articles, etc. and also the never tiring Clive who practically maintains the ST forum.

Do consider to review the following webpage (although using IAR):

https://touchgfx.zendesk.com/hc/en-us/articles/360020208091-Configuring-STM32F769I-DISCO

We can preach more about the target display used on these kits (which are based on an EOL display controller) but the kit is very very powerful, the display is amazing in quality and worth it to again, learn from. SW4STM32 compiler is free. The reference examples that you downloaded will compile ok with the supplier compiler folders but are only demos. If you plan to alter the graphics for your requirement using TouchGFX then yes the full tool integration will be necessary. Taking a stab now to fix the STM32F469I-DISCO kit but also facing many hurdles. Was ready to stomp on the kit earlier today.

If you are ok with sourcing a rather low cost kit with a small TFT display with a touch panel (no SD card though - perhaps you can add this to the kit - see assorted articles on using STM32F4 with SD cards) then you can follow this documentation (IAR/SW4STM32 only as Keil raised errors that only twins would understand):

https://community.st.com/s/question/0D50X0000A4pPgPSQU/stm32f2429-disc1-configuration-with-touchgfx-cubemx-50

Now, if you believe you need custom graphics - you could use TouchGFX on its own and this will work for your kit. However, now the use of the powerful CubeMX will be absent. Just the use of TouchGFX through CubeMX that is broken for a number of kits at this time.

Hope this helps a bit.

Actually when I look at the examples in en.stm32cubef7 and if I could fire up the touch TFT, then slowly add codes from other examples like ADC, I2C, DMA and finish rest in C++ in while() loop.

I could probably build the project in Keil.

I started with Arduino, it is so easy to connect all kinds of displays but I hit brick wall when I tried to get ADC, setup various times and process the data. It just couldn't.

So for now I use Arduino for my 480x800 dispaly and I2C to get data from sensors from Nucleo.

Mon2
Senior III

Hi. From a local copy of the same download (did this in December but believe it is still current), my folder structure is:

en.stm32cubef7\STM32Cube_FW_F7_V1.14.0\Projects\STM32F769I-Discovery\Demonstrations\TouchGFX\MDK-ARM

Enter the respective folder on your box and double-click the Project file to launch Keil. Then proceed to build the project and to reflash your target board.

This compilation should be error-free and at least will allow you to program your kit using the supplied demo source code with touch screen access. It is a start.

Then suggest to review the assorted docs and youtube video on how TouchGFX works. As noted earlier, the integration of these tools is not all together yet but perhaps Martin can chime in to assist on how to customize the graphics for your project and to do this independent of the CubeMX tool.

In short, the broken part of all this is that the code generators (when inside of CubeMX) are spewing out code into the wrong folder structure and/or wrong paths. That was a common fault we observed. But on a positive note, once this is all working, you will be able to whip out graphics or text fonts in seconds rather than days or weeks and review using the supplied simulator.

To get a feel, launch the TouchGFX tool on its own -> start a fresh project -> target your kit -> drag & drop some graphics or alter text to suit. Generate the code and review on the simulator to get a feel of what the end look will be.

Arduino is user strong and for the most part, more mature but openly the CPU (Atmel) cannot compare to the ST platforms and offers features like DMA or DSI MIPI interface, etc. There are some very good working code examples supplied with ST kits for DMA, I2C, SPI, etc usage that have worked very well for us in the lab.

If you are able to, consider again to start the learning curve with the STM32F429I-DISC1 kit and follow our posted documentation which does work well with IAR and SW4STM32 (both with TouchGFX & CubeMX). For now, Keil is still not working.

Also, Clark Sann has posted a similar document on using SW4STM32 compiler and the STM32F746 Discovery kit.

https://community.st.com/s/question/0D50X0000AAHSjZSQX/how-to-get-a-working-touchgfx-project-working-with-stm32f746gdisco-board-and-sw4stm32

Martin KJELDSEN
Chief III

Hi @MNapi​,

Just to add to @Mon2​s excellent responses. You're probably referring to the Cube F7 Firmware package. That does indeed only have examples and demos. These packages are used by CubeMX to generate code and projects.

For some versions of the application templates provided for ST boards through the designer, the work to integrate with CubeMX is already done. You can still open the CubeMX project and make adjustments to your hardware configuration to add I2C, etc.

We do not have any official ports for Nucleo boards (We have worked on this in the lab), yet (And most likely won't have for arduino). Other STM32 boards also support arduino shields, so maybe it would be easier to get started with a board like the STM32F769-DISCO that is already directly supported by CubeMX + TouchGFX.

To program the boards we use ST-Link or STCubeProgrammer. In most cases we do not supply external flashloaders through IAR/KEIL/etc.

I tried Arduino IDE it has support for some nucleo boards, somebody did a good work to get it working. for example STM32F446RE has the Arduino connector and it it supported by Arduino IDE. I plugged the 320 x 480 mcufriend touch TFT, added library a few simple lines of code in c++ and I had the display working right away.

But I could not comply codes for DMA, ADC, I2C etc in Arduino IDE. Maybe it could work in assembler but it would take months to write the code.

Those Nucleo boards are good but getting the displays to work is a serious challenge, not everybody is a computer scinetist with diploma to do this.