[应用相关] 使用STM32CUBMX生成TouchGFX工程

[复制链接]
1079|20
 楼主| guanjiaer 发表于 2021-7-3 09:59 | 显示全部楼层 |阅读模式
实验平台:
硬件: RT-Thread官方ART-PI H750开发版,正点原子4.3寸RGBLCD屏(800*480)
软件: 最新版本的STM32CubeH7固件库,TouchGFXDesigner v4.15和 STM32CubeMX V6.0.1,开发环境MDK v5.29

7726760dfc48e245b3.png

 楼主| guanjiaer 发表于 2021-7-3 10:00 | 显示全部楼层
本帖最后由 guanjiaer 于 2021-7-3 10:01 编辑

从零开始创建TouchGFX UI项目选择MCU型号(STM32H750XBH6)

3538660dfc4f5d96cd.png


20200915152648494.png 20200915152753247.png


 楼主| guanjiaer 发表于 2021-7-3 10:00 | 显示全部楼层
本帖最后由 guanjiaer 于 2021-7-3 10:02 编辑

选择和配置组件(系统、外设、中间件)

5514760dfc5153412d.png

系统需要

RCC


20200915154131221.png 20200915154143945.png


 楼主| guanjiaer 发表于 2021-7-3 10:01 | 显示全部楼层

SYS

[color=rgba(0, 0, 0, 0.75)]
20200915154948601.png 20200915155005220.png


 楼主| guanjiaer 发表于 2021-7-3 10:02 | 显示全部楼层
GUI功能需要

I2C

[color=rgba(0, 0, 0, 0.75)]
20200915155418571.png 20200915155427318.png


 楼主| guanjiaer 发表于 2021-7-3 10:02 | 显示全部楼层

FMC

[color=rgba(0, 0, 0, 0.75)]
20200915155643879.png 20200915155653938.png


 楼主| guanjiaer 发表于 2021-7-3 10:02 | 显示全部楼层
在主程序中添加SDRAM的初始化代码:

#define REFRESH_COUNT        677
#define SDRAM_TIMEOUT                            ((uint32_t)0xFFFF)
#define SDRAM_MODEREG_BURST_LENGTH_1             ((uint16_t)0x0000)
#define SDRAM_MODEREG_BURST_LENGTH_2             ((uint16_t)0x0001)
#define SDRAM_MODEREG_BURST_LENGTH_4             ((uint16_t)0x0002)
#define SDRAM_MODEREG_BURST_LENGTH_8             ((uint16_t)0x0004)
#define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL      ((uint16_t)0x0000)
#define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED     ((uint16_t)0x0008)
#define SDRAM_MODEREG_CAS_LATENCY_2              ((uint16_t)0x0020)
#define SDRAM_MODEREG_CAS_LATENCY_3              ((uint16_t)0x0030)
#define SDRAM_MODEREG_OPERATING_MODE_STANDARD    ((uint16_t)0x0000)
#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000)
#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE     ((uint16_t)0x0200)
void MX_SDRAM_InitEx(void)
{
  __IO uint32_t tmpmrd = 0;

  /* Step 1: Configure a clock configuration enable command */
  Command.CommandMode            = FMC_SDRAM_CMD_CLK_ENABLE;
  Command.CommandTarget          =  FMC_SDRAM_CMD_TARGET_BANK1;
  Command.AutoRefreshNumber      = 1;
  Command.ModeRegisterDefinition = 0;

  /* Send the command */
  HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);

  /* Step 2: Insert 100 us minimum delay */
  /* Inserted delay is equal to 1 ms due to systick time base unit (ms) */
  HAL_Delay(1);

  /* Step 3: Configure a PALL (precharge all) command */
  Command.CommandMode            = FMC_SDRAM_CMD_PALL;
  Command.CommandTarget          = FMC_SDRAM_CMD_TARGET_BANK1;
  Command.AutoRefreshNumber      = 1;
  Command.ModeRegisterDefinition = 0;

  /* Send the command */
  HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);  

  /* Step 4: Configure an Auto Refresh command */
  Command.CommandMode            = FMC_SDRAM_CMD_AUTOREFRESH_MODE;
  Command.CommandTarget          = FMC_SDRAM_CMD_TARGET_BANK1;
  Command.AutoRefreshNumber      = 4;
  Command.ModeRegisterDefinition = 0;

  /* Send the command */
  HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);

  /* Step 5: Program the external memory mode register */
  tmpmrd = (uint32_t)SDRAM_MODEREG_BURST_LENGTH_4          |\
                     SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL   |\
                     SDRAM_MODEREG_CAS_LATENCY_2           |\
                     SDRAM_MODEREG_OPERATING_MODE_STANDARD |\
                     SDRAM_MODEREG_WRITEBURST_MODE_SINGLE;

  Command.CommandMode            = FMC_SDRAM_CMD_LOAD_MODE;
  Command.CommandTarget          = FMC_SDRAM_CMD_TARGET_BANK1;
  Command.AutoRefreshNumber      = 1;
  Command.ModeRegisterDefinition = tmpmrd;

  /* Send the command */
  HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);

  /* Step 6: Set the refresh rate counter */
  /* Set the device refresh rate */
  HAL_SDRAM_ProgramRefreshRate(&hsdram1, REFRESH_COUNT);
}


 楼主| guanjiaer 发表于 2021-7-3 10:03 | 显示全部楼层

QUADSPI

[color=rgba(0, 0, 0, 0.75)]
2020091516150862.png 20200915161519933.png


 楼主| guanjiaer 发表于 2021-7-3 10:03 | 显示全部楼层

DMA2D

[color=rgba(0, 0, 0, 0.75)]
20200915161718965.png 2020091516172852.png


 楼主| guanjiaer 发表于 2021-7-3 10:03 | 显示全部楼层

LCDC
LTDC基本参数设置

[color=rgba(0, 0, 0, 0.75)]
20200915161827933.png 20200915161915896.png


 楼主| guanjiaer 发表于 2021-7-3 10:03 | 显示全部楼层
Layer参数设置
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzMxMDM5MDYx,size_16,color_FFFFFF,t_70#pic_center.jpg

 楼主| guanjiaer 发表于 2021-7-3 10:03 | 显示全部楼层

CRC

[color=rgba(0, 0, 0, 0.75)]
20200915162219637.png 20200915162234721.png


 楼主| guanjiaer 发表于 2021-7-3 10:03 | 显示全部楼层

NVIC

[color=rgba(0, 0, 0, 0.75)]
20200915162721959.png 20200915162732122.png


 楼主| guanjiaer 发表于 2021-7-3 10:04 | 显示全部楼层
中间件需要

基本参数配置

[color=rgba(0, 0, 0, 0.75)]
20200915163016293.png 20200915163027601.png


 楼主| guanjiaer 发表于 2021-7-3 10:04 | 显示全部楼层

任务和队列

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzMxMDM5MDYx,size_16,color_FFFFFF,t_70#pic_center.jpg



 楼主| guanjiaer 发表于 2021-7-3 10:04 | 显示全部楼层

TouchGFX软件包

[color=rgba(0, 0, 0, 0.75)]
20200915163311371.png 20200915163321601.png


 楼主| guanjiaer 发表于 2021-7-3 10:04 | 显示全部楼层
应用层需要

UART
UART4

[color=rgba(0, 0, 0, 0.75)]
20200915163824362.png 20200915163833482.png


 楼主| guanjiaer 发表于 2021-7-3 10:04 | 显示全部楼层
配置时钟树

1177860dfc5f1b1966.png
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzMxMDM5MDYx,size_16,color_FFFFFF,t_70#pic_center.jpg


 楼主| guanjiaer 发表于 2021-7-3 10:04 | 显示全部楼层
本帖最后由 guanjiaer 于 2021-7-3 10:06 编辑

设置工程并生成工程

3170060dfc6043e31a.png
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzMxMDM5MDYx,size_16,color_FFFFFF,t_70#pic_center.jpg


 楼主| guanjiaer 发表于 2021-7-3 10:05 | 显示全部楼层
本帖最后由 guanjiaer 于 2021-7-3 10:06 编辑

执行TouchGFX Designer

6449860dfc61a4c38a.png
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzMxMDM5MDYx,size_16,color_FFFFFF,t_70#pic_center.jpg


您需要登录后才可以回帖 登录 | 注册

本版积分规则

109

主题

4388

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部