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

规格参数
功能 参数
核心处理器 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接口)
硬件框图

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

二、环境搭建
STM32开发方式有很多种,例如通过使用Keil、STM32CubeIDE、Arduino IDE、STM32CubeMX 等方式开发;
在此使用 keil + STM32CubeMX 完成后续的相关开发;
1、下载相关软件
1、keil下载


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


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

使用 keil 打开生成的工程,目录如下:
一个大工程包含两个小工程,还有一些公共代码,每个核心有自己的 main 函数

三、代码编写
效果:控制板载LED的点亮 / 熄灭,并通过STLINK-V3E的串口输出 “Hello World”
LD1:PI12
LD2:PI13
LD3:PI14
LD4:PI15

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 分别烧录程序到开发板上;


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


六、效果演示

我要赚赏金
