Lec‐0 软件环境配置 - Penguins-lwz/NUEDC-training GitHub Wiki

Lec‐0 软件环境配置

写在前面

在开始前,我们认为你已经完成软硬件准备工作,包括:

从 CubeMX 开始

  • 右列 Manage software installations 处,单击 INSTALL / REMOVE 选项,在弹出的窗口中安装 STM32G4 系列软件支持包后关闭弹出的窗口
  • 中列 New Project 处,单击 ACCESS TO MCU SELECTOR 选项,在弹出的窗口中左上角 Commercial Part Number 处搜索 G474VET6,在列表选定后单击右上角 Start Project 选项

欢迎进入配置界面!

Pinout & Configuration 栏目下

  • 配置调试接口:左列 System Core - SYS 处,配置 DebugSerial Wire
  • 配置外部时钟源:左列 System Core - RCC 处,配置 High Speed Clock (HSE)Crystal / Ceramic Resonator
  • 注意:我们无需使用低速外部时钟 (LSE),对于前述开发板购买链接,即使带有低速晶振也无需配置
  • 注意:完成上述两步后,右侧 Pinout view 处将有两个调试引脚 PA13 & PA14、两个晶振引脚 PF0 & PF1 亮起,无需也不可更改

Clock Configuration 栏目下

  • 配置外部时钟源:设置 HSE 的输入频率为板载晶振频率(对于自制开发板,推荐使用 24MHz 晶振)
  • 配置锁相环信号源:设置 PLL Source MuxHSE
  • 配置系统主频:设置 HCLK (MHz)170,CubeMX 将自动计算其他参数

Project Manager 栏目下

Project 栏目下

  • 配置工程名称:在 Project Name 处自定义工程名称(为便于建立工程模板,推荐使用 Project 等通用命名)
  • 配置工程路径:在 Project Location 处自定义工程路径(如需更改)
  • 配置集成开发环境:配置 Toolchain / IDEMDK-ARM V5.32

Code Generator 栏目下

  • 配置库导入方式:配置 STM32Cube MCU packages and embedded software packsCopy only the necessary library files
  • 配置文件生成方式:勾选 Generated files 下的 Generate peripheral initialzation as a pair of '.c/.h' files per peripheral

生成代码

  • 单击右上角 GENERATE CODE 选项,在弹出的窗口中单击 Open Project 选项
  • 注意:在后续已有模板修改 CubeMX 配置时,此处应单击 Close 选项,以避免重复开启工程

转入 Keil

  • 在正常情况下,Keil 将根据 CubeMX 选择的芯片,自动下载并安装 STM32G4xx_DFP。但如遇下载/安装失败,需手动下载 Keil.STM32G4xx_DFP.1.6.0.pack 并安装
  • 请将开发板由下载器连接至电脑,进入魔术棒(Options for Target)界面完成后续任务

Target 栏目下

  • 配置编译器:配置 ARM CompilerUse default compiler version 6
  • 配置微库:勾选 Use MicroLIB 选项

C/C++ (AC6) 栏目下

  • 配置优化等级:初学者可配置 Optimization-O0 或 -O1,可能在一定程度上减少难以预期的错误

Debug 栏目下

  • 配置下载器:在右列配置 Use: 为你使用的下载器(如 CMSIS-DAP Debugger 或 ST-Link Debugger)
  • 配置下载器选项:在右列单击 Setting,在弹出的窗口中 Flash Download 栏目勾选 Reset and Run

欢迎进入代码界面!

测试编译与烧录

  • 初窥代码:左列工程文件夹目录处,展开 Application/User/Core 文件夹,双击打开 main.c 文件
  • 编译工程:按下键盘快捷键 F7(请确保已启用 Fn 功能键)编译程序,在下栏应显示 0 Erros(s), 0 Warning(s)
  • 烧录工程:按下键盘快捷键 F8(请确保已启用 Fn 功能键)烧录程序,Keil 应无错误警告
  • 注意:在后续编写代码时,应写于每个注释区的 /*USER CODE BEGIN*//*USER CODE END*/ 间,否则重新由 CubeMX 生成时将被移除

Congratulations! You have completed this lecture!

>>> Go to Nextpage: Lec‐1 通用输入输出(General‐purpose I/Os, GPIO)

<<< Back to Homepage