littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于STM32和CMake的微控制器系统时钟配置项目

项目简介

本项目基于STM32和CMake实现微控制器系统时钟的配置,能够对系统时钟源、系统时钟和总线时钟频率、PLL参数等进行设置,并处理可能出现的错误,保障系统稳定运行。

项目的主要特性和功能

  1. 系统时钟源选择:选择PLL作为系统时钟源,其输入为HSI。
  2. 系统时钟和HCLK配置:系统时钟和AHB总线时钟均设置为80MHz,APB1和APB2的时钟分频器设为1,使其时钟频率与系统时钟相同。
  3. PLL参数配置:MSI频率设为4MHz,对PLL的M、N、R、P、Q值进行适当配置以获取所需系统时钟频率。
  4. Flash延迟设置:根据系统时钟频率设置Flash延迟时间,确保Flash存储器访问速度与系统时钟同步。
  5. 错误处理:配置过程中若发生错误,程序进入无限循环,保障系统稳定运行。

安装使用步骤

准备工作

若未安装ARM的GCC,在此下载工具链

安装供应商MCU驱动

以STM32为例,进入目标设备的target_*目录: $ git submodule update .

运行CMake

提供了shell脚本示例cfg.sh辅助运行CMake: cmake -DTOOLCHAIN_PREFIX="~/gcc-arm-none-eabi-9-2020-q2-update" \ -DCMAKE_TOOLCHAIN_FILE="../cmake/toolchain-arm-none-eabi.cmake" \ ..

Windows系统使用说明

由于DOS命令行无制表符补全功能,建议使用Windows PowerShell或Windows Terminal。示例脚本cfg.ps1已提供,需设置执行策略: Set-ExecutionPolicy Bypass -Scope CurrentUser 若编译时间过长,为Windows安全添加排除项

系统时钟配置相关步骤

  1. 准备硬件:确保STM32L4微控制器(如NUCLEO-L476RG)和必要的外部时钟源(如HSE振荡器)连接正常且工作。
  2. 配置软件:导入项目文件,如stm32l4xx_it.csystem_clock.csystem_stm32l4xx.c等,根据硬件设置调整代码中的常量(如HSE_VALUE)。
  3. 编译和烧录:使用合适的编译器(如Keil uVision、STM32CubeIDE等)编译项目,通过JTAG或SWD将生成的程序烧录到微控制器中。
  4. 测试验证:系统上电后,观察微控制器的启动和运行状态,确保系统时钟配置正确且运行稳定。

注意事项

  • 配置系统时钟时,参考STM32L4微控制器的数据手册和参考手册,确保配置参数正确。
  • 根据硬件平台不同,可能需调整代码中的部分内容。
  • 修改时钟配置时需谨慎操作,避免因配置错误导致系统不稳定或损坏。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】