你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H5 评测】1、开发板资源和程序开发

[复制链接]
EPTmachine 发布时间:2026-10-17 22:27

感谢ST论坛提供的新品开发板NUCELO-H5E5ZJ的测评机会。

1、开发板资料

官方介绍页面提供开发板和芯片相关的原理图、数据手册、编程手册等文档和资料

https://www.st.com/en/evaluation-tools/nucleo-h5e5zj.html

https://www.st.com/en/microcontrollers-microprocessors/stm32h5e5zj.html

NUCELO-H5E5ZJ开发板主要特性如下:

  • 芯片型号为STM32H5E5ZJT6,内核为Cortex-M33,支持TrustZone,最高主频250MHz,芯片内部集成4Mbytes Flash和1.5MbytesSRAM;
  • 符合IEEE-802.3-2000标准的Ethertnet接口;
  • 高速USB Type C接口;
  • 三个用户LED;
  • 复位、Boot mode和用户按键;
  • 32.768kHz低速晶振和48MHz高速晶振;
  • 多种功能接口:百兆以太网、Arduinon接口、M.2存储接口;

2、程序开发

ST开发者社区页面,提供相关的开发工具安装包的说明和下载链接

https://www.st.com.cn/content/st_com/zh/stm32-mcu-developer-zone.html

STM32CubeIDE和Keil都支持开发板的开发,STM32官方提供的示例工程主要在STM32CubeIDE平台,配合CubeMX配置外设和软件组件、生成相应的驱动和组件代码,NUCELO-H5E5ZJ的功能探索很方便。

CubeMX中选择根据开发创建工程

Select_Board_for_Project.png

选择NUCELO-H5E5ZJ匹配硬件。

Select_NUCELO_H5E5.png

Cortex-M33支持TrustZone,可配置TrustZone的使能状态。

Without_TrustZone.png

ST的开发板配套有对应的BSP,用于快速生成可用的驱动代码。

Enable_BSP_Driver.png

创建完成,选择生成的代码使用的工具链类型,保存并生成代码

Select_Toolchain_Type.png

生成的工程的文件夹目录结构如下,"Drivers->BSP->STM32H5xx_Nucleo"中的代码为开发板的LED、按键和串口的驱动代码。

├─Core
│  ├─Inc
│  ├─Src
│  └─Startup
└─Drivers
├─BSP
│  └─STM32H5xx_Nucleo
├─CMSIS
│  ├─Device
│  │  └─ST
│  │      └─STM32H5xx
│  │          ├─Include
│  │          └─Source
│  │              └─Templates
│  └─Include
└─STM32H5xx_HAL_Driver
├─Inc
│  └─Legacy
└─Src

生成的代码调用BSP驱动函数,初始化LED、串口和按键,实现串口数据输出、LED和外部中断功能的演示。

/* Initialize leds */
  BSP_LED_Init(LED_GREEN);
  BSP_LED_Init(LED_RED);
  BSP_LED_Init(LED_BLUE);

  /* Initialize USER push-button, will be used to trigger an interrupt each time it's pressed.*/
  BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI);

  /* Initialize COM1 port (115200, 8 bits (7-bit data + 1 stop bit), no parity */
  BspCOMInit.BaudRate   = 115200;
  BspCOMInit.WordLength = COM_WORDLENGTH_8B;
  BspCOMInit.StopBits   = COM_STOPBITS_1;
  BspCOMInit.Parity     = COM_PARITY_NONE;
  BspCOMInit.HwFlowCtl  = COM_HWCONTROL_NONE;
  if (BSP_COM_Init(COM1, &BspCOMInit) != BSP_ERROR_NONE)
  {
    Error_Handler();
  }

  /* USER CODE BEGIN BSP */

  /* -- Sample board code to send message over COM1 port ---- */
  printf("Welcome to STM32 world !\n\r");

  /* -- Sample board code to switch on leds ---- */
  BSP_LED_On(LED_GREEN);
  BSP_LED_On(LED_RED);
  BSP_LED_On(LED_BLUE);

  /* USER CODE END BSP */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {

    /* -- Sample board code for User push-button in interrupt mode ---- */
    if (BspButtonState == BUTTON_PRESSED)
    {
      /* Update button state */
      BspButtonState = BUTTON_RELEASED;
      /* -- Sample board code to toggle leds ---- */
      BSP_LED_Toggle(LED_GREEN);
      BSP_LED_Toggle(LED_RED);
      BSP_LED_Toggle(LED_BLUE);

      /* ..... Perform your action ..... */
    }
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }

烧录程序到开发板,使用串口工具连接ST-Link的COM端口,查看开发板打印的信息如下。

Uart_Printf.png

通过按键中断控制板载LED灯的亮灭。

LED_effect.png

output.gif

赞 收藏 评论0 发布时间:2026-10-17 22:27

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版