Skip to main content
Visitor II
January 3, 2024
Solved

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

  • January 3, 2024
  • 8 replies
  • 5915 views

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?

 

    This topic has been closed for replies.
    Best answer by brunamark

    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!

    8 replies

    Technical Moderator
    January 3, 2024

    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

    brunamarkAuthor
    Visitor II
    January 3, 2024

    Hello Kaouthar, thank you for your message!

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

    Technical Moderator
    January 3, 2024

    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

     

    brunamarkAuthor
    Visitor II
    January 3, 2024

    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

     

    Technical Moderator
    January 4, 2024

    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

     

    brunamarkAuthor
    Visitor II
    January 5, 2024

    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.

    Technical Moderator
    January 5, 2024

    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

    brunamarkAuthor
    Visitor II
    January 5, 2024

    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. 

    brunamarkAuthor
    Visitor II
    January 8, 2024

    I clicked on the wrong button and I accepted the solution but it's still having issues. I make sure all the steps are done but when I build the project, I ahve the same issue. I've unzip your file and I didn't change anything but I have the same issue, as shown as in the images below.

    brunamark_0-1704720332932.png

    brunamark_1-1704720343733.png

     

    brunamarkAuthor
    Visitor II
    January 8, 2024

    I've deleted all the stm32cubeIDE v1.14.0, installed all the packages and substituted all the packages that you send it to me. I have the same error: make: *** No rule to make target 'C:/Utilities/lcd/stm32_lcd.c', needed by 'Utilities/stm32_lcd.o'. Stop.
    Again, I've deleted all the stm32cubeIDE v.1.14.0, insalled all the package on STM32CubeIDE and I got the same error: make: *** No rule to make target 'C:/Utilities/lcd/stm32_lcd.c', needed by 'Utilities/stm32_lcd.o'. Stop.
    This error only shows if I use your configuration to lcd board MB1166-A09 and modify the STM32h747i_discovery.conf.h in the DCMI_Snapshot STM32CubeIDE example to:
    /* LCD controllers defines */
    //#define USE_LCD_CTRL_OTM8009A 1U
    #define USE_LCD_CTRL_NT35510 0U
    #define USE_LCD_CTRL_ADV7533 0U
    However, if I'm not modify this file and use the standard code as shown as below, this error isn't showing.
    /* LCD controllers defines */
    #define USE_LCD_CTRL_OTM8009A 1U
    #define USE_LCD_CTRL_ADV7533 0U
    As you can see in the image below, this is the zip file that you send it to me with all the modifications that you've done.

    brunamark_0-1704730118494.png

    But, even when I modify the STM32h747i_discovery.conf.h in yout zip file to the standard and not use the package NT35510, I've got the same error, as you can see in the image below.

    brunamark_1-1704730388852.png

    In addition to this, I've use clean before build all the project.

     

    Technical Moderator
    January 15, 2024

    Hello @brunamark ,

    I think you are facing the same issue as reported here.

    For that please follow the steps share in this post to import your project using STM32CubeIDE.

    Thank you.

    Kaouthar

    brunamarkAuthorAnswer
    Visitor II
    January 15, 2024

    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!