小库里 发表于 2025-8-25 11:40

将适用于Nucleo_64的RTC日历示例Cube IDE迁移至Nucleo_32的指南

我从L4xx包中导入了STM32L412RB_NUCLEO_RTC_Calendar示例到STM32CUBE IDE中,转换和构建正常,无错误。
我想将这个RTC_Calendar示例能够在Nucleo_32(L412KB)上运行,而原本是为Nucleo_64(L412RB)设计的。

在main.h中,包含的文件有所不同,是否应该将
#include "stm32l4xx_nucleo.h" 替换为 #include "stm32l4xx_nucleo_32.h"?

在Includes文件夹中,我看到一行 .../Drivers/BSP/STM32L4xx_Nucleo,是否应该将其替换为 .../Drivers/BSP/STM32L4xx_Nucleo_32?但不知道如何修改或编辑这一行,或者在哪里修改。

还需要做其他修改吗?

公羊子丹 发表于 2025-8-28 07:19

确实要替换成 stm32l4xx_nucleo_32.h,因为板级支持文件是分 Nucleo_64 和 Nucleo_32 的。

周半梅 发表于 2025-8-28 07:19

除了 main.h,工程里的 BSP 路径也要调整到 Drivers/BSP/STM32L4xx_Nucleo_32。

帛灿灿 发表于 2025-8-28 07:20

你可以在 Project Explorer 里右键属性,修改 include path,把原来的 Nucleo 改成 Nucleo_32。

童雨竹 发表于 2025-8-28 07:21

如果只是 RTC 功能,BSP 用到的主要是 LED 和 USER 按键定义,移植时要核对引脚差异。

万图 发表于 2025-8-28 07:21

有些 Nucleo_32 没有 LED2 或按键,你需要在 stm32l4xx_nucleo_32.c 里确认宏定义。

Wordsworth 发表于 2025-8-28 07:22

CubeIDE 的工程配置里 C/C++ Build → Settings → MCU GCC Compiler → Includes,可以直接改 include 路径。

Bblythe 发表于 2025-8-28 07:23

RTC 部分的 HAL 库是通用的,不依赖 BSP,你主要是要把 demo 里对 LED/Button 的操作改掉。

Pulitzer 发表于 2025-8-28 07:24

最简单的方法是直接移植核心 RTC_Calendar 代码,去掉 BSP 层依赖,只用 HAL API。

Uriah 发表于 2025-8-28 07:24

如果你只是验证 RTC,甚至不用 BSP,直接在 main.c 里初始化 RTC 就能看到效果。

Clyde011 发表于 2025-8-28 07:25

建议先跑个最小 RTC 工程,把时间读写验证 OK,再逐步加上板子上的 LED/按键控制逻辑。
页: [1]
查看完整版本: 将适用于Nucleo_64的RTC日历示例Cube IDE迁移至Nucleo_32的指南