cancel
Showing results for 
Search instead for 
Did you mean: 

Having trouble to interfacing B-CAMS-OMV with STM32H747I-Discovery

brunamark
Associate III

Hello, Everyone!

I have a trouble to interfacing B-CAMS-OMV with STM32H747I-Discovery. I used the examples DCMI_SnapshotMode on STM32CubeIDE and in other post, a ST employee said that the drivers are old and the new ones are on the github page in this link.  I tried so many times to use this example with the new drivers and its not working and the LCD displays only noise. The LCD works well because I tested some LCD_DSI and works fine. I've missed something on the code?

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hello!

I solved my problems with this steps:

1) in the stm32h747i_discovery file, I use thesse paramaters:

#define USE_LCD_CTRL_NT35510 1U
#define USE_LCD_CTRL_ADV7533 0U

In your zip file, the USE_LCD_NT35510 is set to 0U.

2) Also, when I downloaded the new drivers file, the STM32H7xx_HAL_Driver has missing some files and I use the old files,

Thank you for helping me!

View solution in original post

13 REPLIES 13
KDJEM.1
ST Employee

Hello @brunamark and welcome to the community 🙂,

Which STM32H747I-DISCO revision are you using? MB1248-H747I-D02, MB1248-H747I-D03 ...?

Which LCD revision are you using? MB1166 A-02, A03, A09.....?

I think this wiki can help you to add the new LCD drivers, for that please take a look to 3.1.4 Compiling the project Section.

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

brunamark
Associate III

Hello Kaouthar, thank you for your message!

My board revision is MB1248-H747I-D03 and LCD is MB1166-A09. 

KDJEM.1
ST Employee

Hello @brunamark ,

You just need to enable the right hardware component as defined in stm32h747i_discovery_conf.h file and add the new component library (NT35510) in your project.

/* IMPORTANT: One of the following flags must be enabled in stm32h747i_discovery_conf.h file */

/* options in order to select the target daughter board revision connected on STM32H747I DISCOVERY : !!!!!!!!!! */

/* USE_LCD_CTRL_OTM8009A */ /* Applicable for all LCD daughter boards (MB1166) except for Rev -A09 */

/* USE_LCD_CTRL_NT35510 */ /* Applicable only for LCD daughter boards (MB1166) Rev -A09 */

Please let me know if the issue is solved or not?

Thank you.

Kaouthar

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

brunamark
Associate III

I'm completely new to stm32, I really appreciate your help! I have checked the wiki that you mentioned before to add drivers. I modified the stm32h747i_discovery_conf.h file like the black box below, but it doesn't work (I don't know if this is what are you trying to say). Also, when I disable the OTM8009A, I have several issues in other parts like OTM8009A_480X800 undeclared and I don't know if I have to change all this parts to NT35510.  

#include "stm32h7xx_hal.h"

 

/* COM define */

#define USE_COM_LOG 1U

#define USE_BSP_COM_FEATURE 1U

/* LCD controllers defines */

#define USE_LCD_CTRL_OTM8009A 0U

#define USE_LCD_CTRL_NT35510 1U

#define USE_LCD_CTRL_ADV7533 0U

 

#define LCD_LAYER_0_ADDRESS 0xD0000000U

#define LCD_LAYER_1_ADDRESS 0xD0200000U

 

KDJEM.1
ST Employee

Hello @brunamark ,

I apologize that my answer didn't help you.

For that, I tested the DCMI_SnapshotMode example with MB1248-H747I-D03 and LCD is MB1166-A09 using the STM32CubeIDE1.14.0 version and it works correctly. 

Could you please follow these steps:

1-Dowlownd the STM32CubeH7 from this link and Unzip the file.

2-Go on the GitHub STM32H747I-DISCO BSP website, and download as zip. Unzip the files and copy them in the project folder STM32Cube\Repository\STM32Cube_FW_H7_V1.11.1\Drivers\BSP\STM32H747I-DISCO by replacing the old files.

3-Download the OTM8009A LCD drivers on GitHub and place the unzipped files inside the folder STM32Cube\Repository\STM32Cube_FW_H7_V1.11.1\Drivers\BSP\Components\otm8009a by replacing the old files.

4-Create a new "nt35510" folder in \STM32Cube\Repository\STM32Cube_FW_H7_V1.11.1\Drivers\BSP\Components

5- Download the NT35510 LCD drivers on GitHub,  and unzipped and copy the files in "stm32-nt35510-main" folder to \STM32Cube\Repository\STM32Cube_FW_H7_V1.11.1\Drivers\BSP\Components\nt35510.

6- Open DCMI_SnapshotMode example with STM32CubeIDE1.14.0 version STM32Cube\Repository\STM32Cube_FW_H7_V1.11.1\Projects\STM32H747I-DISCO\Examples\DCMI\DCMI_SnapshotMode\STM32CubeIDE

7- Add "nt35510.c" and "nt35510_reg.c" files to the STM32CubeIDE project. So, drag and drop the nt35510.c and nt35510_reg.c files in STM32CubeIDE from STM32Cube\Repository\STM32Cube_FW_H7_V1.11.1\Drivers\BSP\Components\nt35510 as shown in the below figure:

KDJEM1_0-1704352678044.png

8-Add the STM32Cube\Repository\STM32Cube_FW_H7_V1.11.1\Drivers\BSP\Components\nt35510 folder to the include paths, so, click on Project->Properties and follow the instructions below:

KDJEM1_2-1704353006474.png

I add in attachment the DCMI_SnapshotMode project after all modification.

I hope this help you!

Thank you.

Kaouthar

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

I have to thank you again to explain it to me but isn't work. I followed all the steps you mentioned and when I modified the stm32h747i_discovery_conf.h file, I have the same issue that I mentioned before. This is the error that shows on my console:

stm32_screenshot_error1.png

This is due the OTM8009A deactivation onstm32h747i_discovery_conf.h file, as shown in the below:

stm32_screenshot_error2.png

 Even if I activate nt35510 and otm8009a, it displays only noise in the LCD.

KDJEM.1
ST Employee

Hello @brunamark ,

Thank you for this update.

Did the attached project in my last comment help you? I tested with MB1248-H747I-D03 and LCD is MB1166-A09 and it worked fine.

-->disable the OTM8009A.

What do you mean by "disable the OTM8009A"?

Thanks and best regards,

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

The project that you attached before, I've tried to run and I have this message <No rule to make target 'C:/Utilities/lcd/stm32_lcd.c', needed by 'Utilities/stm32_lcd.o'. Stop.>. I mean disable the OTM8009A put into 0U or commented in the line that are defined. 

KDJEM.1
ST Employee

Hi @brunamark ,

Could you please try to "Clean Project" before "Build Project".

I disabled the OTM8009A and I didn't reproduced the issue.

KDJEM1_0-1704703972602.png

Please make sure that Step2 is set correctly.

Please try to:

- Download the project in attachment and unzipped.

- Open STM32CubeDCMI_Example\STM32Cube_FW_H7_V1.11.1\Projects\STM32H747I-DISCO\Examples\DCMI\DCMI_SnapshotMode\STM32CubeIDE project.

-Clean Project

KDJEM1_1-1704704342158.png

-Built Project.

KDJEM1_2-1704710558281.png

 

Please let me know if the issue is solved.

Thank you.

Kaouthar

 

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.