cancel
Showing results for 
Search instead for 
Did you mean: 

I am not sure if this community provides support for my case but i will ask since the target microcontroller is a STM32F429IGT6. In short i bought a dev kit and a TFT lcd and i cannot make the lcd work.

naftilos76
Associate II

Facts: I can program/debug very simple things so the problem is not there.

It is my first attempt to work with STM32cubeIDE and i find it somewhat challenging.

I have a STLinkV2 programmer/debugger that works fine.

The dev kit i bought is: https://www.waveshare.com/open429i-c-standard.htm

More info here: https://www.waveshare.com/wiki/Open429I-C

Schematic of the board here: https://www.waveshare.com/w/upload/8/8c/Open429I-C-Schematic.pdf

The LCD i bought is: https://www.waveshare.com/4.3inch-capacitive-touch-lcd.htm

Resources: https://www.waveshare.com/wiki/4.3inch_Capacitive_Touch_LCD

Sample code (for STM32cubeIDE): https://www.waveshare.com/wiki/File:4.3inch_Capacitive_Touch_LCD_code.7z

Datasheet: https://www.waveshare.com/w/upload/5/55/SH430HI50-43050L-C.pdf

Manual: https://www.waveshare.com/w/upload/0/00/4.3inch_Capacitive_Touch_LCD_user_manual_en.pdf

I tried to import the sample code but it imports only the ioc file. Replacing .c & .h files helped but there are still error during compilation.

I am not sure if i need to install some of the packages in Menu: Help->Embedded Software Packages Manager or in the ioc GUI under Middleware & Software Packes.

I installed X-CUBE-DISPLAY and X-CUBE-TOUCHGFX but without any success.

Can any one help me make the lcd work?

If i start from scratch (create a new STM32cube project) and therefore have to setup peripherals myself i end up where i can program & debug, toggle the dev kit leds which means that there is nothing wrong with the board. Later after searching a bit i saw that i have to setup FMC which i do not know exactly how to do it and finally use BSP to init LCD, draw lines, shapes etc.

So i need some guidance there. If anyone is willing to dedicate a few hours to provide code that works in STM32cubeIDE 1.12 i would be glad to pay up to $50.

Regards

Manos

1 ACCEPTED SOLUTION

Accepted Solutions
JTP1
Lead

Steps to get it compiled (I use cubeIDE 1.11.0 but I think this works also with latest):

  • Open CubeIDE, select file -> new -> STM32 project from existing IOC file
  • Browse to downloaded project ioc file
  • Enter project name and set some convinient location
  • It asks to migrate to latest library versions, I answer migrate. Now latest librarys will be loaded
  • Finally new project should open to CubeIDE
  • Create manually two new source folder under your project (file -> new -> source folder or right click on the project name and then new -> source folder). Folders name 'user' and 'BSP' for example. There should be blue 'C' in the icon of thee folders.
  • Copy files and folders from downloaded project to these new folders
  • Press F5 to update content when BSP and user folder are selected if use windows file manager to copy files. If use CubeIDE paste, updating is not needed.
  • open main.c from downloaded project and copy manually all user code- parts (3 section maybe) to new project Core -> main.c file. (maybe the hole file could be replaced.)
  • Go project properties and set include path to everyone of those new subfolders.
    • /BSP
    • /user/Config
    • /user/Fonts
    • /user/GT911
    • /user/GUI
    • /user/image

Then it should compile OK , but it may need some adjustments to get working on the device 😅

View solution in original post

15 REPLIES 15
AScha.3
Chief II

hello, lets try... (i must go now, back in 1 h ) in short:

  • unpack the zip
  • now in Cubeide we import ...file->import->from ioc (i am not shure - maybe import cube example works also, but first we try this)

0693W00000aIj35QAC.png

  • give name etc as needed (project/path names without spacec or special signs)
  • then import file-> file system -> from directory ... separate, first for .c files
  • then same import... for .h files
  • now you should have working project (about target directories- look at other project, that you make with ide , how there are the directories)
If you feel a post has answered your question, please click "Accept as Solution".

Support here can be sketchy, it really depends on how convergent your hardware is with that which others are using.

Not sure what kind of presence WaveShare has here, but they make some nice boards

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
naftilos76
Associate II

Hi thanks for your msg.

I tried that and it did not work

I imported the .ioc file which worked but only until the time to compile.

The imported .ioc file was recognized and all param were imported.

When selecting Menu: Project->Generate code it also worked but that would only generate the init code.

I have attached a video with the import process.

It works fine and compiles fine.

https://drive.google.com/file/d/1LklaI5loDt0ETys0LVwLzVHIqG7vK2uR/view?usp=sharing

Then i obviously have to manually copy code from the sample code to the project code.

Please correct me if i am wrong:

I have to create folders that do not exist in the project and in there drag and drop files/folders.

I have to set include paths

And then try to compile again

Regards

Manos

naftilos76
Associate II

AScha.3, i saw the images that you sent.

Not much changed.

I am at the point where i have imported the ioc file with the option that you suggested unchecked.

I am not sure how to continue...

Manos

AScha.3
Chief II

> have to manually copy code

no. read my post - you have to import...from file system . only this way the ide "knows" which files are in this project.

to see whow it should be :

  • make new project // file -> new stm32 project
  • select a cpu from list (maybe the cpu or board you have)
  • give it a name (F429-test-V0 or whatever)
  • finish
  • click / open the cube (Ioc) , where you see the chip/pins etc.
  • open project settings and set > generate...pair c/h files
  • 0693W00000aIj4hQAC.png
  • 0693W00000aIj4wQAC.png
  • then set something in the chip active (debug on, adc on some pins...)
  • then click gear wheel, generate code.
  • now you left side the files and directories, the way this ide wants it
  • now make next project, with start from ioc import
  • do same ...ini pair of c/h .. setting
  • generate code
  • now import the c and h files with file-> import-> from filesystem... to the correct directories.
  • now it should work... (to replace main.c +/.h , close ide and replace manual the main.c/h files to same position as they are in ide files; then start ide - now has this new main files there. )
  •  
If you feel a post has answered your question, please click "Accept as Solution".
MM..1
Chief II

Your steps is complete fail.

Unzip project into folder without spaces in path. Search .project file and double click it. Thats all. When zip is realy for IDE, but your is for KEIL...

But normal way to start custom project is learn how every part work.

AScha.3
Chief II

sorry.

do it better.

i tried my best.

If you feel a post has answered your question, please click "Accept as Solution".
naftilos76
Associate II

Hi everyone,

Can anyone try to build the sample code in this page?

https://www.waveshare.com/wiki/File:4.3inch_Capacitive_Touch_LCD_code.7z

If anyone can build it then i will certainly do.

I tried to import it but it is my understanding that i cannot import it in a single step.

If i understand well, i have to do the following:

  1. Create a new project for the target MCU i am interested in.
  2. Import the .ioc file that has the required settings for particular peripherals (e.g ADC, FMC).
  3. Import files/folders from the sample code folder tree.
  4. Setup compiler include paths (Right click on project->Properties->C/C++ Build->Settings->Tool Settings->MCU GCC Compiler->Include paths.

These are the basic steps that i understand.

There are more than a few things that i do not understand when it comes to (un)checking options in every window that i open throughout the entire process.

I remind you that i am running STM32cubeIDE 1.12.

Thanks

Manos

JTP1
Lead

Hello Manos

Okey I got it imported and compiled. Attached zip includes .srec file, maybe you could download it to the board with Stlink or Cubeprogrammer to see does it do anything 😁 ?