RT-Thread STM32H743-st-nucleo开发板BSP说明

本文档详细介绍了RT-Thread为STM32H743-st-nucleo开发板提供的BSP,包括开发板资源、快速上手教程、外设支持及使用步骤,旨在帮助开发者快速上手并利用其高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RT-Thread STM32H743-st-nucleo开发板BSP说明

在这里插入图片描述

简介

本文档为 tyustli 为 STM32H743-st-nucleo 开发板提供的 BSP (板级支持包) 说明。

主要内容如下:

  • 开发板资源介绍
  • BSP 快速上手
  • 进阶使用方法

通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。

开发板介绍

STM32H743 是 ST 推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 400Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32H743 的芯片性能。

开发板外观如下图所示:
在这里插入图片描述

该开发板常用 板载资源 如下:

  • MCU:STM32H743,主频 400MHz,2MB FLASH ,1MB RAM
  • 常用接口:USB 转串口、以太网接口、arduino 接口等
  • 调试接口,标准 JTAG/SWD

开发板更多详细信息请参考 ST STM32H743

外设支持

本 BSP 目前对外设的支持情况如下:

板载外设支持情况备注
USB 转串口支持
片上外设支持情况备注
GPIO支持
UART支持UART3

使用说明

使用说明分为如下两个章节:

  • 快速上手

    本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。

  • 进阶使用

    本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。

快速上手

本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。

硬件连接

使用数据线连接开发板到 PC,打开电源开关。

编译下载

双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。

工程默认配置使用 ST_LINK 仿真器下载程序,在通过 ST_LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板

运行结果

下载程序成功之后,系统会自动运行,LED闪烁。

连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:

 \ | /
- RT -     Thread Operating System
 / | \     4.0.1 build Mar 5 2019
 2006 - 2019 Copyright by rt-thread team
msh >

进阶使用

此 BSP 默认只开启了 GPIO 和 串口3 的功能,如果需使用更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:

  1. 在 bsp 下打开 env 工具。

  2. 输入menuconfig命令配置工程,配置好之后保存退出。

  3. 输入pkgs --update命令更新软件包。

  4. 输入scons --target=mdk4/mdk5/iar 命令重新生成工程。

本章节更多详细的介绍请参考 STM32 系列 BSP 外设驱动使用教程

注意事项

  • 调试串口为串口3 映射说明

    PD8 ------> USART3_TX

    PD9 ------> USART3_RX

示例代码

…\bsp\stm32\stm32h743-st-nucleo\board\CubeMX_Config\Src\stm32h7xx_hal_msp.c

/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * File Name          : stm32h7xx_hal_msp.c
  * Description        : This file provides code for the MSP Initialization
  *                      and de-Initialization codes.
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
  */
/* USER CODE END Header */

/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* USER CODE BEGIN Includes */
#include <drv_common.h>
/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN TD */

/* USER CODE END TD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN Define */

/* USER CODE END Define */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN Macro */

/* USER CODE END Macro */

/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* External functions --------------------------------------------------------*/
/* USER CODE BEGIN ExternalFunctions */

/* USER CODE END ExternalFunctions */

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */
/**
  * Initializes the Global MSP.
  */
void HAL_MspInit(void)
{
  /* USER CODE BEGIN MspInit 0 */

  /* USER CODE END MspInit 0 */

  __HAL_RCC_SYSCFG_CLK_ENABLE();

  /* System interrupt init*/

  /* USER CODE BEGIN MspInit 1 */

  /* USER CODE END MspInit 1 */
}

/**
* @brief UART MSP Initialization
* This function configures the hardware resources used in this example
* @param huart: UART handle pointer
* @retval None
*/
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
  if(huart->Instance==USART3)
  {
  /* USER CODE BEGIN USART3_MspInit 0 */

  /* USER CODE END USART3_MspInit 0 */
    /* Peripheral clock enable */
    __HAL_RCC_USART3_CLK_ENABLE();

    __HAL_RCC_GPIOD_CLK_ENABLE();
    /**USART3 GPIO Configuration
    PD8     ------> USART3_TX
    PD9     ------> USART3_RX
    */
    GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Pull = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
    HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

  /* USER CODE BEGIN USART3_MspInit 1 */

  /* USER CODE END USART3_MspInit 1 */
  }

}

/**
* @brief UART MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param huart: UART handle pointer
* @retval None
*/
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
{
  if(huart->Instance==USART3)
  {
  /* USER CODE BEGIN USART3_MspDeInit 0 */

  /* USER CODE END USART3_MspDeInit 0 */
    /* Peripheral clock disable */
    __HAL_RCC_USART3_CLK_DISABLE();

    /**USART3 GPIO Configuration
    PD8     ------> USART3_TX
    PD9     ------> USART3_RX
    */
    HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9);

  /* USER CODE BEGIN USART3_MspDeInit 1 */

  /* USER CODE END USART3_MspDeInit 1 */
  }

}

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

源码下载

…\bsp\stm32\stm32h743-st-nucleo\project.uvproj

在这里插入图片描述


RT-Thread STM32H743-st-nucleo开发板BSP说明 源码下载


维护人:

ST公司在今年4月份的峰会上,发布了最新的32单片机STM32H7,瞬间在业内产生一股追捧热风。大家对这款ST最高性能的单片机充满期待。终于,近期ST推出了基于STM32H743的nuclo开发板STM32H7到底有哪些让人惊艳的功能呢? 采用Cortex-M7内核,并实现了最高性能,无论是从嵌入式闪存还是外部存储器来执行代码:400MHz处理器频率下性能可达到2010 Core,ark/856 DMIPS 双时钟架构使得外设速度独立于CPU速度,系统时钟变化不影响外设工作 面向内核、外设和存储器互连的AXI总线和多AHB总线矩阵 高速主直接存储器访问(MDMA)控制器、两个用于优化外设管理的具有FIFO和请求路由器能力的双端口DMA以及一个额外的DMA 更多外设,例如四个支持SPDIF输出的串行音频接口(SAI)、三个全双工I²S接口、一个支持四路输入的SPDIF输入接口、两个具有专用供电的USB OTG模块和双模QSPI接口、两个FD-CAN控制器、一个高精度定时器、一个TFT-LCD控制器、一个JPEG编解码器、两个SDIO接口以及很多其它模拟外设,比如三个快速14位ADC、两个比较器和两个运算放大器 高能效:多功耗域架构允许在不同的功耗域设置不同的低功耗模式,以优化功耗效率。除了在运行或停止模式期间可为内核提供不同电压的主稳压器外,设备还内置有为内嵌PHY供电的USB稳压器以及一个备份稳压器。在运行模式(外设关闭),功耗典型值为278 µ/MHz @VDD = 3.3 V和25 °C。低功耗待机模式的功耗为7 µA。 更多STM32H743的主要外设资源和电特性参数可以参考附件的数据手册。 STM32H743 nucleo开发板如同其他STM32系列一样,将主控MCU STM32H743的外设GPIO口做了引出处理。开发板上集成了USB ST-LINK功能,可以方便的进行编程调试。STM32H743 nucleo开发板通过LAN8742A引出了Ethernet PHY接口。 STM32H743 nucleo开发板原理图结构组成 STM32H743 nucleo开发板为6层板,依次为:Top Layer、GND、Signal、PWR、GNA、Bottom Layer,尺寸为:70mm*133.3mm。 电路附件包含了STM32H743数据手册、STM32H743原理图PCB源文件,以及实现了低层驱动,USB, TCP/IP,文件系统,RTOS, Graphic,及运行在ST开发板上的例程代码。 更多STM32H743信息、交流讨论可以移步至STM32中文社区查看。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华为奋斗者精神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值