这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » STM32H747I-DISCO开发指南【软件篇】

共2条 1/1 1 跳转至

STM32H747I-DISCO开发指南【软件篇】

菜鸟
2025-11-18 22:29:07     打赏

一、硬件介绍

1、产品特点

STM32H747I-DISCO开发板基于Arm的STM32H747XIH6微控制器拥有Cortex-M7内核(带双精度浮点单元,运行频率高达 480 MHz) 和 Cortex-M4内核(带单精度浮点单元,运行频率高达 240 MHz)的双核性能,板载配备2MB的Flash存储器和1MB的RAM、4英寸TFT LCD触摸显示屏(480x800) 具有MIPI DSI接口等;


image-20251109210717816.png



规格参数    

功能                 参数


核心处理器    ARM Cortex-M7 (最高480MHz) + Cortex-M4 (最高240MHz) 双核    

片上存储    2MB Flash、1MB RAM    

外部存储    2 x 512Mbit (共128MB) Quad-SPI NOR Flash 256Mbit SDRAM    

板载接口    4 x I2C 6 x SPI(带两个多路复用全双工 I2S 接口)  SDIO3.0、SDIO2.0 4 x USART、4 x UART 2 x FD-CAN、 

3 x 16位 ADC、2 x 12位 DAC、 4 x SAI、 USB HS OTG 和 USB FS OTG  以太网 MAC、FMC 接口 MIPI DSI 接口、

Quad-SPI 接口、host 控制器  


显示接口    4英寸电容式触摸LCD (MIPI DSI接口)    

外设接口    网络:IEEE802.3-2002 以太网 (RJ45) 高速连接:USB_OTG_HS 音频:SAI音频、

DAC立体声 (耳机插孔 / 音频输入 / 输出) 存储扩展:microSD卡槽 摄像头:8位并行相机接口    


扩展连接器    Arduino Uno V3  Pmod  STMod+    

调试 / 编程接口    板载 STLINK-V3E 调试 / 编程器 (大容量存储、虚拟COM端口、调试端口) 1.27mm间距(10pin)

调试连接器(STDC14接口)  



硬件框图


image-20251110230635570.png



2、功能引脚示意图 / 原理图

主要原理图


image-20251109215821403.png



二、环境搭建

STM32开发方式有很多种,例如通过使用Keil、STM32CubeIDE、Arduino IDE、STM32CubeMX 等方式开发;

在此使用 keil + STM32CubeMX 完成后续的相关开发;

1、下载相关软件

1、keil下载


image-20251116195503426.png


2、STM32CubeMX下载


image-20251114213653113.png


2、创建工程

1、打开 STM32CubeMX ,选择创建 STM32H747I-DISCO 模板,进行相关配置;

image-20251115232242460.png

image-20251115232438506.png


选择生成工程的名称、目录等,然后点击右上方的生成代码;


image-20251116202044702.png



使用 keil 打开生成的工程,目录如下:

一个大工程包含两个小工程,还有一些公共代码,每个核心有自己的 main 函数


image-20251116202709911.png



三、代码编写

效果:控制板载LED的点亮 / 熄灭,并通过STLINK-V3E的串口输出 “Hello World”

LD1:PI12

LD2:PI13

LD3:PI14

LD4:PI15


image-20251114233034579.png


CM4 核:初始化 LD1~4,控制 LED的点亮 / 熄灭;

CM7 核:初始化 USART1,使用 printf 时通过STLINK-V3E打印输出;


       
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
    HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
    HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin);
    HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin);
    HAL_GPIO_TogglePin(LED4_GPIO_Port, LED4_Pin);
    HAL_Delay(500);
  }
  /* USER CODE END 3 */
}



    
     //重定向串口   
    /* USER CODE BEGIN 0 */
    int fputc(int ch, FILE *f)
    {
      (void)f;
      uint8_t c = (uint8_t)ch;
      HAL_UART_Transmit(&huart1, &c, 1, HAL_MAX_DELAY);
      return ch;
    }
    /* USER CODE END 0 */
    
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
    printf("Hello World\r\n");
    HAL_Delay(500);
  }
  /* USER CODE END 3 */
}



四、程序烧录

1、连接USB数据线至开发板的STLINK-V3E接口;

2、分别选择 CM4 / CM7 程序,点击 Download 分别烧录程序到开发板上;

image-20251117221541137.png


image-20251117211010848.png





五、程序调试

分别切换至不同内核 CM4 / CM7,然后分别开始调试当前程序代码;

image-20251118002036713.png

image-20251118001942775.png



六、效果演示


H7.gif






















关键词: STM32H747I-DISCO    

院士
2025-11-19 10:45:26     打赏
2楼

看楼主的双核实现!

闪灯与串口打印,各干各的


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]