Release Notes for

STM32H747I-DISCO BSP Drivers

Copyright © 2019 STMicroelectronics

Purpose

The BSP (Board Specific Package) drivers are parts of the STM32Cube package based on the HAL drivers and provide a set of high level APIs relative to the hardware components and features in the evaluation boards, discovery kits and nucleo boards coming with the STM32Cube package for a given STM32 series.

The BSP drivers allow a quick access to the boards’ services using high level APIs and without any specific configuration as the link with the HAL and the external components is done in intrinsic within the drivers.

From project settings points of view, user has only to add the necessary driver’s files in the workspace and call the needed functions from examples. However some low level configuration functions are weak and can be overridden by the applications if user wants to change some BSP drivers default behavior.

Update History

Main Changes

  • Fix wrong LCD layer address definitions in stm32h747i_discovery_conf_template.h.
  • Fix audio mode of SAI play handle in BSP_AUDIO_IN_Init() API.

Main Changes

  • Remove misleading comments.

Main Changes

  • Increase timeout compliantly to the SD Cards specification.
  • Update LCD BSP Driver to support Dynamic ID.

Main Changes

  • Update STM32H747I-DISC BSP drivers to support LCD based on nt35510 component.

Notes

  • 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.

Main Changes

  • All source files: update disclaimer to add reference to the new license agreement.
  • Modified the address calculation in the BSP_LCD_FillRGBRect() function when USE_DMA2D_TO_FILL_RGB_RECT is enabled to suppress the display of a distorted shape instead of a rectangle when trying to draw a rectangle with a bigger height.
  • Cache maintained operation is included in the BSP_LCD_FillRGBRect() function to solve the display issue when USE_DMA2D_TO_FILL_RGB_RECT is enabled.
  • Updated the BSP_SD_Init() API to fix the detection pin check.

Main Changes

  • BSP camera:
    • Update “BSP_CAMERA_DeInit” implementation to power down the camera instead of a full reset (allowing to save 120ms needed by the reset operation)
  • BSP SD:
    • Update to add “USE_SD_BUS_WIDE_4B” configuration define allowing to specify if the SD card is intended to be interfaced with 4 data lanes
      • Notes:
        • when the “USE_SD_BUS_WIDE_4B” define is set to zero the SD is configured with 1 data lane allowing to overcome an issue with HW shared pins between the SD interface and the camera interface (if both camera and SD are needed)
  • By default the “USE_SD_BUS_WIDE_4B” define is set to “1” to have the best SD performance

Dependencies

  • Components/common v7.0.0

Main Changes

  • BSP QSPI: Add explicit definition of “BSP_QSPI_Erase_t” type with 8KB, 64KB and 128KB erase size
    • Notes:
      • The STM32H747I-DISCO comes with a dual flash QSPI, the erase size for each flash is 4KB, 32KB and 64KB
      • From BSP top view these two flash are seen as a single one with twice the size
  • BSP camera:
    • Apply HW reset after the initialization sequence for both OV9655 and OV5640 camera to fix potential noise issue
  • BSP Joystick:
    • Fix “BSP_JOY_GetState” behavior by comparing the right joystick pin state (joystick pins are active high)
    • Add missing joystick interrupt priority defines to the “stm32h747i_discovery_conf_template.h” file
      • BSP_JOY1_SEL_IT_PRIORITY to BSP_JOY1_UP_IT_PRIORITY defines
  • BSP button:
    • Update the “stm32h747i_discovery_conf_template.h” file to rename the BSP_BUTTON_USER_IT_PRIORITY define to “BSP_BUTTON_WAKEUP_IT_PRIORITY” that is the right naming used withinb the driver
  • Minor typo fixes in comments

Dependencies

  • Components/common v7.0.0

Main Changes

  • Update stm32h747i_discovery_camera.c:
    • Update “BSP_CAMERA_DeInit” implementation to check “Camera_CompObj” and “Camera_Drv” pointers against NULL
  • Add support of “OV5640” camera
    • stm32h747i_discovery_conf_template.h:
      • Add “USE_CAMERA_SENSOR_OV5640” define set to “1” by default
    • stm32h747i_discovery_camera.h:
      • Add check on “USE_CAMERA_SENSOR_OV5640” define and enable it by default if not defined
      • Add inclusion of “Components/ov5640/ov5640.h”
      • Update “CAMERA_Ctx_t” structure with “CameraId” field
      • Add “CAMERA_OV5640_ADDRESS” define
    • stm32h747i_discovery_camera.c:
      • Add “OV5640_Probe” static function implementation
      • Update “BSP_CAMERA_Init” function implementation to support “OV5640” camera
        • Probing both camera “OV5640” and “OV9655” to check which camera is connected to the STM32H747I-DISCO
        • Update the “CameraId” field of CAMERA_Ctx_t" structure
        • Proceed with the DCMI and the camera initialization according to the idenfied “CameraId”

Dependencies

  • Components/common v7.0.0

Main Changes

  • Update stm32h747i_discovery_lcd.c:
    • Fix MX_DSIHOST_DSI_Init API implementation : add missed “FrameBTAAcknowledgeEnable” parameter setting
    • Fix LCD_InitSequence API implementation: add missed “gpio_init_structure.Pull” parameter setting
    • Fix MX_LTDC_ClockConfig API implementation: Add “PLL3.PLL3RGE”, “PLL3.PLL3VCOSEL” and “PLL3.PLL3FRACN” parameters settings
    • Add support of DSI to HDMI bridge (daughter board MB1232.A):
      • Update and rework BSP_LCD_InitHDMI API implementation
      • Update MX_LTDC_ClockConfig2 API implementation to set the correct PLL3 settings in case of DSI-HDMI bridge
      • Upodate BSP_LCD_GetXSize and BSP_LCD_GetYSize APIs implementation to get the XSize and YSize information from the LCD context variable instead of the LCD panel object
  • Update stm32h747i_discovery_camera.c:
    • “Camera_Cap” declared as variable instead of pointer to avoid memory allocation issue
    • Add BSP_CAMERA_PwrUp API
    • Fix BSP_CAMERA_HwReset and BSP_CAMERA_PwrDown APIs implementation with the right pin PJ14
  • Add License.md file

Dependencies

  • Components/common v7.0.0

Main Changes

  • Update BSP_BUS APIs with protection against RTOS multithread usage (under BSP_USE_CMSIS_OS pre-processor conditional define)

Dependencies

  • Components/common v7.0.0

Main Changes

  • Rename GUI_Drv_t into UTILS_LCD_Drv_t

Backward Compatibility

  • This version breaks the compatibility with previous versions

Dependencies

  • Components/common v7.0.0

Main Changes

  • First official release of STM32H747I-DISCO BSP drivers in line with STM32Cube BSP drivers development guidelines (UM2298)

Main Changes

  • First official release