来源:成电《微机原理与嵌入式系统》漆强 第四章 STM32CubeMX软件的使用

来源:成电《微机原理与嵌入式系统》漆强 第五章 MDK-ARM软件的使用

一、STM32的CubeMX的使用

选择ACCESS TO MCU SELECTOR进入目标选择界面

芯片搜索框Part Number Search输入芯片型号

在芯片列表框双击出现的芯片型号,启动芯片配置

step1.基本配置(同设备通用)

Pinout&configuration

  • System Core-RCC-HSE:选择时钟源
  • System Core-SYS-Debug:配置调试接口

step2.引脚分配

Pinout View 搜索引脚(对应引脚将会闪烁)、进行可对IO引脚设置功能

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.程序编写

在KeilMDK-ARM中,编写程序

在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:一次执行一条语句

断点调试:代码行左边的灰色区域用于设置断点,点击一次设置断点,再次点击取消断点

观察窗口:在代码调试窗口,选中变量,鼠标右键,add 'xxx' to watch

外设查看窗口:可以查看与内核外设和片内外设相关的硬件寄存器的当前值

6.硬件连线

  • 仿真器种类:J-Link、ST-Link、CMSIS-DAP、DAP-Link、ULink等
  • 开发板SW口--转接板--仿真器的JTAG口、仿真器的micro-usb口--PC的usb口:keil中编译后,点击LOAD按钮,一键下载程序到开发板
  • 开发板RS232口--转接线(CH340芯片)--PC的usb口:在串口调试助手中,选择串口号,设置115200 8N1,接收开发板输出的打印信息
  • 开发板电源口--电源适配器

开发工具使用:CubeMX、KEIL MDK-ARM的更多相关文章

  1. Keil MDK 和 IAR 两款ARM开发工具区别比较

    首先要说明,没有那款开发工具是万能的,也没有那款工具在所有方面都具有绝对优势.对于Keil MDK-ARM和IAR两款工具择,可以根据自己的习惯来选择,而不应该在使用其中的一款时贬低另外一款,或者总是 ...

  2. ARM 开发工具 Keil和DS-5的比较。

    http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...

  3. 免费的EmBitz可替代Keil MDK开发STM32、NXP项目

    一.背景 由于使用之前开发STM32是基于Keil MDK编译环境开发的,由于该软件是收费的,想用个免费开源的软件来替代Keil,EmBitz编译器是免费的,可以完全替代开发.下载程序支持J-Link ...

  4. KEIL MDK-ARM Version 5.26正式版开发工具下载

    Keil MDK最新版本已经出来啦,ARM开发工具MDK-ARM Version 5.26地址:http://www.myir-tech.com/soft.asp?id=1141,需要的可以去下载哦 ...

  5. arm的开发工具

    网上有free的ide可以开发arm cortex的芯片,可以参考List of ARM Cortex-M development tools,Wikipedia,里面有emIDE,embitz等,虽 ...

  6. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.4)- 串行NOR Flash下载算法(Keil MDK工具篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是Keil MDK工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash ...

  7. Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  8. Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401开发

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  9. Keil MDK STM32系列(三) 基于标准外设库SPL的STM32F407开发

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  10. Keil MDK STM32系列(四) 基于抽象外设库HAL的STM32F401开发

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

随机推荐

  1. Combobox后台绑定

    本文主要介绍WPF中Combobox的后台绑定,我在这里主要讲解数据驱动 1.对于前台绑定,我们首先写出想要绑定的对象 新建一个Models文件夹,将Student类写入 public class S ...

  2. [ABC146F] Sugoroku

    2023-02-27 题目 题目传送门 翻译 翻译 难度&重要性(1~10):5 题目来源 AtCoder 题目算法 贪心 解题思路 对于第 ii 个点,只要到达 \(s_{i+1}\cdot ...

  3. Jmeter+Ant+Jenkins接口自动化框架(续)

    前段时间给公司内部项目搭建了一套接口自动化框架,基于实际使用,需要配置自动发送邮件功能,将 执行结果发送给相关负责人.Jenkins本身也提供了一个邮件通知功能,但在提供详细的邮件内容.自定义邮 件格 ...

  4. 《CTFshow-Web入门》03. Web 21~30

    @ 目录 web21 题解 原理 web22 题解 原理 web23 题解 原理 web24 题解 原理 web25 题解 原理 web26 题解 web27 题解 web28 题解 web29 题解 ...

  5. 要调用API接口获取商品数据,首先需要了解该API的文档和规范

    ​ 要调用API接口获取商品数据,首先需要了解该API的文档和规范.大多数API都需要使用API密钥进行身份验证,因此您需要先注册API提供商,并从他们那里获取API密钥.以下是一些通用的步骤: 1. ...

  6. GORM自定义Gorm.Model实现自动添加时间戳

    废话不说直接开始 官网(http://gorm.io)有给出一套默认的gorm.Model模型,定义如下 package gorm import "time" // Model b ...

  7. Solution -「CCPC Winter Camp Day 6 A」Convolution

    Description Link. 给定一个数列 \(\sf a_1,a_2,....a_n\),请求出下面这个结果在模 \(\sf 998244353\) 下的答案. \[\sum_{i=1}^{n ...

  8. proto转java类时相关option配置

    转载请注明出处: option java_multiple_files = true; 作用和意义:此选项指示生成的 Java 代码将被分割成多个文件而不是一个文件.每个消息类型都会生成一个单独的 J ...

  9. 探索抽象同步队列 AQS

    by emanjusaka from https://www.emanjusaka.top/archives/8 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址. 前言 AbstractQ ...

  10. 第六单元《管理学进展》单元测试 mooc

    第六单元<管理学进展>单元测试 返回 本次得分为:10.00/10.00, 本次测试的提交时间为:2020-08-30, 如果你认为本次测试成绩不理想,你可以选择 再做一次 . 1 判断( ...