C

STM32H750B 开发套件

本主题提供了有关 STM STM32H750B 开发套件所需信息的说明。

板级功能

  1. ARM® Cortex®-M7
  2. 4.3” RGB 触摸显示屏
  3. 128-Mbit SDRAM
  4. 1-Mbit NOR Flash
  5. 板载 eMMC 存储 4-Gbyte

支持的颜色深度

此板卡的参考端口支持 16bpp 和 32bpp(默认)颜色深度。板卡还支持 24bpp,但在参考端口中未实现。有关更多信息,请参阅QUL_COLOR_DEPTH颜色深度

注意:提供的预构建平台库仅适用于默认 32bpp。对于 16bpp 颜色深度,平台库需要将 QUL_COLOR_DEPTH 设置为 16 重新构建。有关从源代码构建平台的信息,请参阅从源代码构建 Qt Quick Ultralite 平台库针对评估包

预构建演示和示例

针对 STM32H750B 板卡的包包含一个预构建的 thermo 演示二进制文件。您可以在 demos_images 目录中找到它。

有关如何刷写引导加载程序(STM32H750B 所需)的说明,请参阅ST 板卡的引导加载程序刷写说明,以及有关将应用程序二进制文件刷写到设备的ST 板卡刷写说明

读取调试信息

默认情况下,printf 调用的输出被重定向到虚拟串行端口,该端口通过 USB 暴露在主机机器上。

硬件加速

参考端口利用 STMicroelectronics Chrom-Art Accelerator™(DMA2D)来实现图形的硬件加速。

DMA2D 是一个针对图像处理的专业直接内存访问(DMA)加速器。它可以执行以下操作

  • 用特定颜色填充图像。
  • 将源图像复制到目标图像。
  • 将源图像复制到目标图像,并进行像素格式转换。
  • 将两种不同像素格式的完整源图像混合,并将结果转换为像素格式后拷贝到目标图像中。

上述所有操作都可以应用于图像的部分或全部。

更多信息,请参阅意法半导体文档

硬件配置

有关以下提到的STM32H750XB MCU专用外围设备的更多信息,请参阅意法半导体文档

注意:以下章节中提到的底层(LL)和硬件抽象层(HAL)均指STM32Cube抽象层。

STM32CubeMX

STM32H750B-DK板的硬件配置由STM32CubeMX生成的代码以及来自STM32Cube MCU Package for STM32H7 series仓库的BSP驱动程序组成。

所有由STM32CubeMX生成的代码(除了系统时钟配置)都位于stm32h750b-discovery-baremetal/3rdparty/Core文件夹中。

该文件夹包括以下配置

  • 引导加载程序、MPU、QSPI和SDRAM - main.c
  • GPIO和时钟 - stm32h7xx_hal_msp.c
  • 中断例程 - stm32h7xx_it.c
  • USART - usart.c

系统时钟配置

系统时钟配置位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/platform_clock.cpp中。函数SystemClock_Config()被声明为弱引用,以便可以通过自定义时钟配置覆盖它。

系统滴答定时器

在STM32Cube MCU包仓库文件Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c中使用函数HAL_InitTick()将ARM Cortex-M SysTick定时器配置为时间基源。

底层(LL)函数SysTick_Handler()位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/3rdparty/Core/Src/stm32h7xx_it.c中。

中断处理程序

底层(LL)处理器异常和外围中断处理程序位于stm32h750b-discovery-baremetal/3rdparty/Core/Src/stm32h7xx_it.c中。

用于LCD-TFT显示控制器(LTDC)中断回调和触摸中断引脚回调的硬件抽象层(HAL)中断处理程序位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/platform_irq.cpp中。

Chrom-ART 加速器(DMA2D)

DMA2D配置位于Qt Quick Ultralite平台源文件platform/boards/st/common/platform_drawing.cpp中。

NVIC和DMA2D的时钟配置位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/3rdparty/Core/Src/stm32h7xx_hal_msp.c中。

显示

您可以在Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/platform_display.cpp中找到LCD-TFT显示控制器(LTDC)的配置设置。

您可以使用setLcdClockConfiguration()函数为LTDC提供时钟设置。

LTDC时钟使能和GPIO配置设置位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/3rdparty/Core/Src/stm32h7xx_hal_msp.c中。

四串行外围设备接口(QSPI)

对于QSPI配置,请检查BSP_QSPI_Init()的设备设置以及从Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_qspi.c文件中进行引脚定义/时钟配置的QSPI_MspInit()

Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/3rdparty/Core/Src/main.c中配置了QSPI内存映射模式。

随机数生成器(RNG)

您可以在Qt Quick Ultralite平台源文件platform/boards/st/common/platform_rng.cpp中找到随机数生成器(RNG)的初始化。

RNG硬件实例的时钟配置位于3rdparty/Core/Src/stm32h7xx_hal_msp.c

SDRAM

SDRAM BSP配置位于STM32Cube MCU软件包仓库文件Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_sdram.c

SDRAM MPU配置位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/3rdparty/Core/Src/main.c

触摸面板

触摸面板配置位于STM32Cube MCU软件包仓库文件Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_ts.c

触摸面板驱动IC连接到I2C4硬件实例,触摸中断信号连接到GPIOG引脚2。

I2C4配置在名为MX_I2C4_Init()的函数中,它位于STM32Cube MCU软件包仓库文件Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_bus.c

USART

USART3硬件实例用于虚拟COM端口上的日志记录。USART3配置位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/3rdparty/Core/Src/usart.c

USART3的GPIO和时钟配置位于Qt Quick Ultralite平台源文件stm32h750b-discovery-baremetal/3rdparty/Core/Src/stm32h7xx_hal_msp.c

已知问题或限制

  • 由于SDRAM带宽有限,CPU访问SDRAM可能会导致显示控制器扫描帧缓冲区时出现视觉伪影,这是由于LTDC FIFO下溢错误。在具有许多UI元素和复杂动画的应用程序中可能会出现LTDC FIFO Underrun错误,导致视觉干扰。除了简化UI外,考虑到使用不同类型的Qt Quick Ultralite核心库,例如使用DebugRelease而不是MinSizeRel。为了防止出现视觉伪影,尽量减少使用需要CPU混合的旋转或透视变换的图像。
  • 仅支持SDK版本1.11.1。

RLE解压缩

该板上的CPU无法直接将压缩图像混合到SDRAM的帧缓冲区中。此类图像首先解压缩到有限大小的中间缓冲区,然后在SDRAM的帧缓冲区中使用DMA2D进行混合。与未压缩图像相比,这种方法在混合RLE压缩图像时具有明显的工作量。

通过增加platform_stm32.cpp中qul_scratch_buffer的大小,可以在一定程度上提高性能,但会以更多的RAM使用为代价。

在特定Qt许可证下提供。
了解更多信息。