感谢电子发烧友william hill官网 提供的【正点原子STM32H7R3开发套件】,非常荣幸参加这次测评活动,本文将介绍该开发套件的各个模块,硬件功能,软件资源、开发环境等,为后续开发做好铺垫。
活动链接: 正点原子STM32H7R3开发套件 - 电子技术william hill官网
正点原子官网: https://www.alientek.com/
开发板官方介绍: 正点原子STM32H7RX开发板-广州市星翼电子
资料: STM32H7RX开发板 — 正点原子资料下载中心 1.0.0 文档
官方购买网址: 正点原子官方品牌店英国威廉希尔公司网站 -正点原子品牌店-淘宝网
正点原子 H7R3 开发板采用 核心板 + 底板的组合方式。
采用 STM32H7R3L8H6H 作为主控芯片,基于 ARM Cortex-M7 内核,具有高达 600 MHz 的主频。
合照
产品介绍: 正点原子STM32H7RX核心板-广州市星翼电子
H7R3 核心板采用 STM32H7R3L8H6H 作为主控芯片。
STM32H7R3L8H6H 是 ST 推出的基于 ARM Cortex-M7 内核的高性能微处理器,属于 STM32H7 系列中的 Bootflash 产品线,其特点是具有支持 XiP 的高速外部存储器接口,这使得在 ROM 和 RAM 的扩展上有很高的自由度,并且在其高达 600 MHz 主频内核的加持下,可以轻松应对各种复杂的应用场景。
H7R7 核心板采用 STM32H7R7L8H6H 作为主控芯片,与 STM32H7R3L8H6H 相比多出了LTDC 和 NeoChrom(GPU2D),使得其具有一流的图形性能,以轻松应对各种对高分辨率、高帧率的GUI应用场景。
H7R3 核心板和 H7R7 核心板的主要区别在于其搭载的主控芯片不同。同时,由于H7R3核心板上的主控芯片不支持 LTDC, 因此 H7R3 核心板默认没有 RGB 屏接口。
H7R3 核心板和 H7R7 核心板分别采用 ST 推出的基于 ARM Cortex-M7 内核的高性能微处理器 STM32H7R3L8H6H 和 STM32H7R7L8H6H,主频高达 600MHz,属于 STM32H7 系列中的 Bootflash 产品线,其特点是内嵌小容量 Flash,并具有支持 XiP 的高速外部存储器接口,这使得在 ROM 和 RAM 的扩展上有很高的自由度。
H7RX 核心板采用两个 2*35Pin 的 BTB 连接器,引出 5V 输入输出电源、3.3V 输出电源、118 个 IO 和其他功能引脚,所有版本的 H7RX 核心板均 Pin to Pin。
H7RX 核心板板载各种高性能外设和接口,HyperRAM (Up to 32MB, Up to 400MB/s @ W/R)、NOR Flash (32MB, Up to 400MB/s @ R)、SD NAND (Up to 16Gb)、USB Type-C 接口 (USB OTG HS, Up to 480Mbps)、EEPROM (2Kb) 和 RGB LCD 接口 (Up to RGB666) 等。
H7RX 核心板支持独立使用(无需底板) , H7RX 核心板板载 USB Type-C 接口,可通过该接口对核心板进行供电。
详见:
介绍 Keil 和 STM32CubeMX 开发环境的搭建。
(1)下载并安装 Keil MDK IDE
或下载并安装 STM32CubeIDE ;
(2)下载并安装 STM32CubeMX ;
(3)下载正点原子官方资料: STM32H7RX开发板 - 正点原子资料下载中心 ;
(4)Keil 和 STM32CubeMX 安装与 STM32H7R3L8H6H 芯片对应的软件包;
打开 Keil MDK IDE,搜索并安装 STM32H7R3L8HxH
设备包;
代码
/**
****************************************************************************************************
* [url=home.php?mod=space&uid=1455510]@file[/url] main.c
* [url=home.php?mod=space&uid=40524]@author[/url] 正点原子团队(ALIENTEK)
* [url=home.php?mod=space&uid=644434]@version[/url] V1.0
* @date 2024-05-21
* [url=home.php?mod=space&uid=2666770]@Brief[/url] 新建最简单工程实验
* [url=home.php?mod=space&uid=285243]@license[/url] Copyright (c) 2020-2032, 广州市星翼电子科技有限公司
****************************************************************************************************
* @attention
*
* 实验平台:正点原子 H7R3开发板
* 在线视频:www.yuanzige.com
* 技术william hill官网
:www.openedv.com
* 公司网址:www.alientek.com
* 购买地址:openedv.taobao.com
*
****************************************************************************************************
*/
/* 基地址定义 */
#define SCS_BASE (0xE000E000UL)
#define SCB_BASE (SCS_BASE + 0x0D00UL)
#define PERIPH_BASE (0x40000000UL)
#define AHB4PERIPH_BASE (PERIPH_BASE + 0x18020000UL)
#define RCC_BASE (AHB4PERIPH_BASE + 0x4400UL)
#define GPIOD_BASE (AHB4PERIPH_BASE + 0x0C00UL)
/* 寄存器映射 */
#define SCB_VTOR *(volatile unsigned int *)(SCB_BASE + 0x8UL)
#define SCB_CPACR *(volatile unsigned int *)(SCB_BASE + 0x88UL)
#define RCC_AHB4ENR *(volatile unsigned int *)(RCC_BASE + 0x140UL)
#define GPIOD_MODER *(volatile unsigned int *)(GPIOD_BASE + 0x00UL)
#define GPIOD_OTYPER *(volatile unsigned int *)(GPIOD_BASE + 0x04UL)
#define GPIOD_OSPEEDR *(volatile unsigned int *)(GPIOD_BASE + 0x08UL)
#define GPIOD_PUPDR *(volatile unsigned int *)(GPIOD_BASE + 0x0CUL)
#define GPIOD_ODR *(volatile unsigned int *)(GPIOD_BASE + 0x14UL)
extern void * __Vectors;
/**
* @brief SystemInit函数
* [url=home.php?mod=space&uid=3142012]@param[/url] 无
* @retval 无
*/
void SystemInit(void)
{
/* 配置向量表位置 */
SCB_VTOR = (unsigned int)&__Vectors;
/* 配置FPU */
#ifdef __ARM_FP
SCB_CPACR |= ((3UL << 20U) | (3UL << 22U));
#endif
}
/**
* @brief 延时函数
* @param t: 延时时间
* @retval 无
*/
static void delay(volatile unsigned int t)
{
while (t--);
}
/**
* @brief main函数
* @param 无
* @retval 返回值
*/
int main(void)
{
/* 使能GPIO外设时钟 */
RCC_AHB4ENR |= (1UL << 3);
/* 配置I/O引脚模式为通用输出模式 */
GPIOD_MODER &= ~(3UL << (14 << 1));
GPIOD_MODER |= (1UL << (14 << 1));
/* 配置I/O引脚输出类型为推挽输出 */
GPIOD_OTYPER &= ~(1UL << 14);
/* 配置I/O引脚输出速度为低速 */
GPIOD_OSPEEDR &= ~(3UL << (14 << 1));
/* 配置I/O引脚上下拉为下拉 */
GPIOD_PUPDR &= ~(3UL << (14 << 1));
GPIOD_PUPDR |= (2UL << (14 << 1));
while (1)
{
/* 反转I/O引脚输出状态 */
GPIOD_ODR ^= (1UL << 14);
/* 延时一段时间 */
delay(5000000);
}
}
代码实现板载 LED -> DS0 闪烁。
介绍工程调试配置及烧录过程。
1.打开新建完成的工程,重建工程,生成目标固件;
2.使用 ST-LINK V2-1 连接开发板与电脑;
3.点击魔术棒,进入 Debug
设置,端口为 SW
,并可以正常识别设备号,保存配置信息;
4.点击 Download
烧录固件至芯片;
5.短按 RESET
键即可运行程序,效果如下
本文介绍了正点原子 STM32H7R3 开发板及主控 MCU 的基本信息,包括原理图、相关参数、优势等,并进行了上电测试和效果展示。此外,介绍了 Keil 和 STM32CubeMX 的组合开发环境搭建过程、工程固件烧录、调试配置过程,为后续的深入研究打好基础。
更多回帖