STMicroelectronics / STM32CubeH7

STM32Cube MCU Full Package for the STM32H7 series - (HAL + LL Drivers, CMSIS Core, CMSIS Device, MW libraries plus a set of Projects running on all boards provided by ST (Nucleo, Evaluation and Discovery Kits))
https://www.st.com/en/embedded-software/stm32cubeh7.html
Other
475 stars 301 forks source link

New STM32H747-DISCO - BSP_LCD_Init() Issue? #254

Closed AndrewCapon closed 3 months ago

AndrewCapon commented 1 year ago

Hi Guys,

I have a new STM32H747-DISCO board here, I have been to the ST Community and there is another guy with a new board that is seeing the same issue: https://community.st.com/s/question/0D53W00002A3uJaSAJ/stm32h747-lcd-display-issue

So for most of the examples using the LCD I see this:

IMG_1135

If I load up one of the CmdMode examples for instance LCD_DSI_CmdMode_SingleBuffer then the screen is working fine, it seems to be handling the DSI transfers itself and the display is working as expected.

If I load up any example that is using BST_LCD_Init() for instance LCD_DSI_VideoMode_SingleBuffer then the screen just shows the unmoving static as shown in the image attached.

I have stepped through the code of LCD_DSI_VideoMode_SingleBuffer checking that there are no error returns anywhere and everything looks ok, DMA is working, data is in the frame buffer but it just seems the frame buffer is not being pushed to the screen.

I'm wondering if maybe this is a new revision of this board and the existing code is not quite working.

Has anyone any ideas of what to check for here?

Many thanks

Andy

HBOSTM commented 1 year ago

ST Internal Reference: 147459

HBOSTM commented 1 year ago

Hello @AndrewCapon ,

thank you for this contribution. This point has been reported to our development teams. I will get back to you as soon as I have any updates.

With Regards,

AndrewCapon commented 1 year ago

Hi @HBOSTM,

Super thanks for that.

Andy

AndrewCapon commented 1 year ago

Hi @HBOSTM

Do you have an update on this?

More and more people are popping up on the forum with issues with these displays.

Andy

HBOSTM commented 1 year ago

Hello @AndrewCapon ,

The fix is available on GitHub : https://github.com/STMicroelectronics/STM32CubeH7/commit/1c84713102f8509deb79ae14db8dbb104c17c45e

In fact , LCD DSI MB1166-A9 delivered with latest version of STM32H747I-DISCO/ boards come based on LCD FGRIDA FRD400B25025-A-CTK instead of FRD397B25009-D-CTK.

Now the firmware is updated , 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 /

Could you please test with this update and get back to me to close this issue.

Best Regards,

AndrewCapon commented 1 year ago

Hi @HBOSTM

Thanks for the info, I had already been informed on the forum and have done a quick test. The examples included are incorrect as they do not include the new components, when that is fixed they now work.

There may still be some confusion from users though as the boards that are not working before have an A03 sticker not an A09. You can see this in the original image above.

dc5ala commented 9 months ago

Could you get the example running? Because for me I still get the same issue. I opened an example project from the new firmware package 1.11.1 folder and changed the line:

define USE_LCD_CTRL_OTM8009A 0U

define USE_LCD_CTRL_NT35510 1U

Is there anything else to change? I still get the same noisy image. I have an MB1166-A09 board.

s1d-r commented 4 months ago

Hi @HBOSTM and @AndrewCapon I have changed the drivers and everything yet its not working for me this is set of errors and warnings I am receiving

arm-none-eabi-gcc "/home/ad/en.FP-AI-VISION1_V3.1.0/FP-AI-VISION1_V3.1.0/Drivers/BSP/STM32H747I-Discovery/stm32h747i_discovery_lcd.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32H747xx -DUSE_STM32H747I_DISCO -DCORE_CM7 -DDATA_IN_ExtSDRAM -DMEMORY_SCHEME=3 -DCAMERA_CAPTURE_RES=2 -DPIXEL_FMT_CONV=1 -DARM_MATH_CM7 -DOBJECTDETECT -DSTM32IPL -D__FPU_PRESENT=1 -c -I../../../CM7/Inc -I../../../../Common/CM7/Inc -I../../../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/CMSIS/DSP/Include -I../../../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../../../Drivers/BSP/STM32H747I-Discovery -I../../../../../../../Drivers/BSP/Components/Common -I../../../../../../../Drivers/BSP/Components/ov9655 -I../../../../../../../Drivers/BSP/Components/otm8009a -I../../../../../../../Utilities/Fonts -I../../../../../../../Utilities/lcd -I../../../../../../../Middlewares/ST/STM32_AI_Runtime/Inc -I../../../../../../../Middlewares/ST/STM32_AI_Utilities/Inc -I../../../../../../../Middlewares/ST/STM32_ImageProcessing_Library/Inc -I../../../../../../../Middlewares/Third_Party/FatFs/src -I../../../CM7/lib/libpeopledetect/Inc -Ofast -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/BSP/STM32H747I_DISCO/stm32h747i_discovery_lcd.d" -MT"Drivers/BSP/STM32H747I_DISCO/stm32h747i_discovery_lcd.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Drivers/BSP/STM32H747I_DISCO/stm32h747i_discovery_lcd.o" arm-none-eabi-gcc -o "STM32H747I-DISCO_PeopleCounting_CM7.elf" @"objects.list" -l:LibPeopleDetect110_CM7_GCC.a -l:NetworkRuntime710_CM7_GCC.a -mcpu=cortex-m7 -T"/home/ad/en.FP-AI-VISION1_V3.1.0/FP-AI-VISION1_V3.1.0/Projects/STM32H747I-DISCO/Applications/PeopleCounting/STM32CubeIDE/CM7/STM32H747XIHx_FLASH_CM7_Full_Internal_Fps.ld" --specs=nosys.specs -Wl,-Map="STM32H747I-DISCO_PeopleCounting_CM7.map" -Wl,--gc-sections -static -L../../../../../../../Middlewares/ST/STM32_AI_Runtime/lib -L../../../CM7/lib/libpeopledetect -u _printf_float --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o): in function _close_r': (.text._close_r+0xc): warning: _close is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o): in function_fstat_r': (.text._fstat_r+0xe): warning: _fstat is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o): in function _getpid_r': (.text._getpid_r+0x0): warning: _getpid is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o): in function_isatty_r': (.text._isatty_r+0xc): warning: _isatty is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o): in function _kill_r': (.text._kill_r+0xe): warning: _kill is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o): in function_lseek_r': (.text._lseek_r+0x10): warning: _lseek is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o): in function _read_r': (.text._read_r+0x10): warning: _read is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o): in function_write_r': (.text._write_r+0x10): warning: _write is not implemented and will always fail /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: ./Drivers/BSP/STM32H747I_DISCO/stm32h747i_discovery_lcd.o: in function NT35510_Probe': /home/ad/en.FP-AI-VISION1_V3.1.0/FP-AI-VISION1_V3.1.0/Drivers/BSP/STM32H747I-Discovery/stm32h747i_discovery_lcd.c:2170: undefined reference toNT35510_RegisterBusIO' /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ad/en.FP-AI-VISION1_V3.1.0/FP-AI-VISION1_V3.1.0/Drivers/BSP/STM32H747I-Discovery/stm32h747i_discovery_lcd.c:2178: undefined reference to NT35510_ReadID' /opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: ./Drivers/BSP/STM32H747I_DISCO/stm32h747i_discovery_lcd.o: in functionBSP_LCD_InitEx': /home/ad/en.FP-AI-VISION1_V3.1.0/FP-AI-VISION1_V3.1.0/Drivers/BSP/STM32H747I-Discovery/stm32h747i_discovery_lcd.c:404: undefined reference to `NT35510_LCD_Driver' collect2: error: ld returned 1 exit status make: *** [makefile:71: STM32H747I-DISCO_PeopleCounting_CM7.elf] Error 1 "make -j6 all" terminated with exit code 2. Build might be incomplete.

10:46:34 Build Failed. 4 errors, 8 warnings. (took 1s.442ms)

Screenshot from 2024-02-20 10-51-03 Screenshot from 2024-02-20 10-50-44

ALABSTM commented 3 months ago

Hi everyone,

Please excuse this delayed reply.

https://github.com/STMicroelectronics/STM32CubeH7/blob/dd1b1d7144e6c61f995a368bbbeaad1936d60cd1/Drivers/BSP/STM32H747I-DISCO/stm32h747i_discovery.h#L22-L25

With regards,

ALABSTM commented 3 months ago

ST Internal Reference: 175742

ALABSTM commented 3 months ago

ST Internal Reference: 176107

ALABSTM commented 3 months ago

Hi @AndrewCapon and @dc5ala,

The remaining issues reported have been fixed in the frame of release 1.11.2. Please allow me to close this thread.

With regards,

AndrewCapon commented 3 months ago

Thanks @ALABSTM

ALABSTM commented 1 month ago

You're welcome @AndrewCapon.