一、STM32的CubeMX的使用
选择ACCESS TO MCU SELECTOR进入目标选择界面
芯片搜索框Part Number Search输入芯片型号
在芯片列表框双击出现的芯片型号,启动芯片配置
step1.基本配置(同设备通用)
Pinout&configuration
- System Core-RCC-HSE:选择时钟源
- System Core-SYS-Debug:配置调试接口
step2.引脚分配
Pinout View 搜索引脚、进行设置
step3.外设配置
Pinout&configuration
step4.时钟配置(同设备通用)
Clock configuration
- 修改时钟源频率 Input frequency:8MHz
- 选择锁相环输入时钟PLL Source Mux:HSE
- 选择系统时钟源System Clock Mux:PPLCLK
- 设置HCLK频率,并回车:一般为最大频率
step5.工程配置(同设备通用)
Project Manager
- 工程名称 Project Name:自定义
- 保存路径 Project Location:自定义
- 选择IDE Toolchain/IDE:MDK-ARM
GENERATE CODE
- 工程未打开选择 Open Project
step6.程序编写
在USER CODE BEGIN和END注释之间
二、KEIL MDK-ARM的使用
新建工程→选择主控芯片型号→运行环境配置(或从HAL库固件包中添加文件)→配置条件编译宏、头文件路径→选择编译器ac5、勾选微库→仿真器配置→编写用户代码→编译→下载
1.新建工程
|-DebugConfig
|-|-Target_1_主控芯片型号.dbgconf
|-Listings
|-Objects:编译构建过程中的产物→.axf、.hex(编译后的文件)
工程名.uvoptx:keil5的工程配置项(xml格式)
工程名.uvprojx:keil5的工程文件:整个工程结构(xml格式)
Select Device for Target "xxx"选择主控芯片型号
2.需要配置运行环境(使用*)
- Manage Run-Time Environment管理运行环境:勾选CMSIS→core、Device→startup()
- 从固件包中添加:在Project中双击分组,Add Files to Group "xxx"
3.options for target 工程设置
3.1 C/C++(使用*)
preprocessor symbols:添加条件编译宏
Include Paths:添加头文件路径
勾选C99 Mode:边定义边使用(而不是先集中定义后使用)
3.2 Target(使用*)
Code Generation
- ARM Compiler选择compiler version5(兼容性更好)、勾选use microLib(ARM公司针对硬件优化过的C标准库)
3.3 Debug (仿真器配置)
Use XXX Debugger:显示使用仿真器类型
Debug-Settings-Debug
- XXX-JTAG/SW Adapter:仿真器(仿真器连接电脑被keil识别)
- 勾选SWJ、Port为SW、MaxClock为5M、Reset为Autodetect(自动检测)
- SW Device-SWDIO:开发板芯片ARM CoreSight SW-DP(仿真器连接电脑和开发板、开发板已上电)
Debug-Settings-Flash Download
- Download Function:选择Erase Sectors擦除扇区(速度快、Erase Full Chip速度慢)、勾选reset and run(下载完程序会自动运行,不用手动复位)
- programming Algorithm:选择开发板上的主控芯片(否则出现Algorithm错误)
3.4 Utilities(仿真器配置)
勾选Use Debug driver
3.5 Output
- select Folder for Objects..:选择输出文件夹
- 勾选Create HEX File:产生.hex文件
3.6 Listing
- select Folder for Listings..:选择List文件夹
4.编译下载
- build:仅对改动文件进行编译
- rebuild:对所有文件编译
- Load(下载程序)
- 把编译好的文件下载到开发板上运行
- 下载后,Build Output 选项卡打印出 Application running…(可能需要手动复位)
5.仿真调试
单步、断点等调试手段
- debug session:调试模式
- reset cpu:程序指针复位到一开始
- run:全速执行
- step into:进入函数内部
- step over:一次执行一条语句
6.硬件连线
- 仿真器种类:J-Link、ST-Link、CMSIS-DAP、DAP-Link、ULink等
- 开发板SW口--转接板--仿真器的JTAG口、仿真器的micro-usb口--PC的usb口:keil中编译后,点击LOAD按钮,一键下载程序到开发板
- 开发板RS232口--转接线(CH340芯片)--PC的usb口:在串口调试助手中,选择串口号,设置115200 8N1,接收开发板输出的打印信息
- 开发板电源口--电源适配器