cancel
Showing results for 
Search instead for 
Did you mean: 

Gauge application working directly from touchgfx but not working when trying to run it through STM32CubeIDE. Please help to solve this issue

Rohit.1
Associate II
 
34 REPLIES 34
Alexandre RENOUX
Principal

Hello,

I know it has been a while and sorry for that...

Could please elaborate your issue ? What board do you use ? What is the Gauge application you are talking about ?

What is the setup when it is working and when it is not with CubeIDE ?

This way we will be able to give you a proper answer.

/Alexandre

Rohit.1
Associate II

Thanks for the reply.

I am talking about the application given on the link below:

https://github.com/touchgfx/touchgfx-open-repository/tree/master/widgets/Gauge

Using STM32F746G-DISCO board, STM32CubeIDE v1.2.0 and TouchGFX v 4.13.0

When implemented this Gauge example using TouchGFX directly then it worked.

But after adding same thing from STM32CubeIDE then the screen on which added this widget is not responding and the whole application freezes.

Alexandre RENOUX
Principal

Hello,

When you say adding the same thing from CubeIDE, what exactly did you do ?

Are you using the AT 3.0.0 STM32F746G-DISCO available in TouchGFX Designer ?

I need more information to help you with your problem.

/Alexandre

Yes I am using the AT 3.0.0 STM32F746G-DISCO available in TouchGFX Designer

I followed the procedure given on the link below:

https://www.youtube.com/watch?v=12KXreXaLp0

then added Gauge.cpp and Gauge.hpp files in the screen1_screen generated under TouchGFX/gui/ in the STM32CubeIDE.

Below is my Screen1View.hpp

#ifndef SCREEN1VIEW_HPP
#define SCREEN1VIEW_HPP
 
#include <gui_generated/screen1_screen/Screen1ViewBase.hpp>
#include <gui/screen1_screen/Screen1Presenter.hpp>
#include <gui/screen1_screen/Gauge.hpp>
class Screen1View : public Screen1ViewBase
{
public:
    Screen1View();
    virtual ~Screen1View() {}
    virtual void setupScreen();
    virtual void tearDownScreen();
protected:
    Gauge MyGauge;
private:
    static const uint16_t CANVAS_BUFFER_SIZE = 7200;
    uint8_t canvasBuffer[CANVAS_BUFFER_SIZE];
};
 
#endif // SCREEN1VIEW_HPP

Basically tried to add Gauge widget in the generated project.

Hello,

To me the Youtube video you are referring to is a strange way to get the code up and running with CubeIDE.

Please follow these steps:

  • Open Designer and select the AT v3.0.0 STM32F746G-DISCO
  • Generate code from Designer
  • Copy the Gauge.cpp and .hpp files respectively in TouchGFX\gui\src\common and TouchGFX\gui\include\gui\common
  • Modify your Screen1View.cpp and .hpp accordingly
  • You should have a folder called STM32CubeIDE/, enter this folder.
  • Double-click on the .project, it will open the project in CubeIDE
  • Include Gauge.cpp in your project by clicking and dragging the file from your Windows explorer to the folder architecture on the left (now CubeIDE knows that this file needs to be compiled)
  • Build project
  • If any errors, please post it here to see what's the problem

/Alexandre

When I tried this debug halts and not enabling Resume button.

Following is the debug console data:

Open On-Chip Debugger 0.10.0+dev-00022-g02bea1f (2020-01-08-09:31)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 8000 kHz
adapter_nsrst_delay: 100
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 8000 kHz
Info : STLINK v2.1 JTAG v35 API v2 M26 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 3.206275
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Stlink adapter speed set to 4000 kHz
Warn : Silicon bug: single stepping will enter pending exception handler!
Info : STM32F746NGHx.cpu: hardware has 8 breakpoints, 4 watchpoints
Info : Listening on port 3333 for gdb connections
Info : accepting 'gdb' connection on tcp/3333
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0xb9337822 msp: 0x4c05b510
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Stlink adapter speed set to 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
adapter speed: 4000 kHz
Info : flash size probed value 1024
Info : flash size probed value 1024
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x20000084 msp: 0x4c05b510

It suppose to enable Resume button (F8) but nothing happens even after 10 minutes.

Do you have any video tutorial for this?0693W000000W3OtQAK.bmp

Alexandre RENOUX
Principal

Hello,

It looks like you can build the project correctly but you cannot download the binary file and debug (correct me if I'm wrong). It seems to me that it's a problem related to your ST-Link or your launch configuration. 

Can you check your launch configuration (right-click on project > Properties > Run/Debug settings > Edit) ?

/Alexandre

0693W000000W5aIQAS.bmp

This is my debug setting.

This setting works with my other projects.

Hello,

The Debug probe should be ST-LINK (ST-LINK GDB server) and then enable external loader and select the correct one as shown below.

0693W000000W5jaQAC.png

You can also uncheck "Verify Flash Download" to accelerate the download process.

/Alexandre