【STM32F4】STM32CUMX相关环境配置

news2025/1/18 10:00:06

一、环境配置

我们需要以下两个软件

(一)keil5

最正统,最经典的嵌入式MCU开发环境。

该环境的配置可以看看之前的文章

所需文件如下:

当时配置的是STC8H的环境,现在基于此,重新给STM32配置环境。能让STC8H和STM32都能在同一个Keil软件编译运行!

第一步 首先获得并解压ARMCC文件

img

解压后,将它放置keil5的安装路径下的ARM文件夹中,如下图所示:

img

(二) STM32芯片包

   keil5软件里有时候会弹出CMSIS Packs下载的页面,但是不推荐在那里下载,因为非常的慢!

可以去ARM官方网址下载安装:

Arm Keil | Keil STM32F4xx_DFP

img

下载完后如下:

img

然后双击它,将它安装好就行了!

第三步 Keil配置

创建新工程中

img

img

img

img

img

img

这样就配置好了。

创建工程还需要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面(有时间后面再补充吧)。

这里我们直接拿一个demo工程测试一下:

img

说明你的keil可以编译运行STM32的代码了。

(三)STM32CubeMX

一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理器,以及为Arm® Cortex®-M内核或面向Arm® Cortex®-A内核的特定Linux®设备树生成相应的初始化C代码。

img

配置步骤:

1.打开ST官网STM32CubeMX - STM32Cube初始化代码生成器 - 意法半导体STMicroelectronics

2.划到官网主页的最底部(根据自己的电脑型号进行选择)

虽然这是个免费的软件,但是下载还需要注册账号或者作为访客下载,操作有些麻烦。

下载安装就好啦

(四)STM32Cubx新建工程

点击File->New Project来创建一个新的工程。

在弹出的界面中找到并选择对应芯片型号,可以在左上角的对话框中搜索,选中后点击Start Project来新建工程。

可以对芯片引脚进行选择操作啦!

1.stm32功能界面简介

新建工程完毕后将弹出这个界面,下面我将简单介绍一下其中的主要功能。

(1)MCU

首先是这中间这块芯片,有所有引脚的映射。用鼠标左右键点击某一引脚可以直接对其进行配置,一般在引脚用作普通IO口或者将引脚的其他功能映射至非默认引脚时需要对引脚直接操作。

(2)外设配置

左边这一栏是外设配置栏,所有内核有关,数模转换有关或是其他外设配置的初始化都在其中进行设置,包括一些第三方组件和实时操作系统的移植都可以在其中完成,还是非常方便的。打勾的地方说明该功能有配置。

这里我们设置一下RCC时钟源,高速时钟源都由外部晶振产生。

(3)时钟树

上面一栏的第二个选项便是时钟树的配置图,可以直接选择各个节点的分频系数来得到外设的时钟频率;甚至可以直接在相应外设的时钟输出端,也就是最后一项里面输入频率,系统会自动计算出节点的分频系数,不过可能因为目前的算法不够完善,总是会卡住,所以不推荐。当然,在此之前要先在外设配置的RCC配置里面把时钟源设置一下。因为现在不需要功能实现,就先不具体设置。

(4)工程设置

上面一栏的第三个选项是工程设置的选项,这里一般在新建工程后首先配置,因为一般不变,而且容易忽略。这里介绍几个一般配置的点,其他地方基本可以不用关注。

  • 工程名(旧版本不允许有中文,当前版本已经支持,**但keil的输出文件中不允许中文,否则会报

  • 编译器种类及版本(一般是MDK也就是keil)

  • 堆栈大小(一般不用管,特殊项目如USB开发时可能用到)

工程文件创建好了!

(5)程序下载

首先安装ST-LINK驱动

有很多下载的方法,一般都是ST-LINK、J-LINK,也可以下载STM32cubeprogrammer(但是非常不推荐,感觉多此一举了!)

如果匹配成功的话就会有以下显示

随后点击OK就好了

下一步 点击编辑运行

如果没有语法报错,则会是0 error

再下一步 点击烧录程序

如果没有问题的话,信息栏会显示如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1622712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker的默认路径存储不足

docker的默认路径存储不足 添加磁盘 [rootlocalhost ~]# fdisk -l磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区 Units 扇区 of 1 * 512 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳)&#xff1a…

【网络安全】网络安全协议和防火墙

目录 1、网络层的安全协议:IPsec 协议族 (1)IP 安全数据报格式 (2)互联网密钥交换 IKE (Internet Key Exchange) 协议 2、运输层的安全协议:TLS 协议 3、系统安全:防火墙与入侵检测 1、网络…

CJSON工具类

4.4.3.CJSON工具类 OpenResty提供了一个cjson的模块用来处理JSON的序列化和反序列化。 官方地址: https://github.com/openresty/lua-cjson/ 1)引入cjson模块: local cjson require "cjson"2)序列化: …

pwn--realloc [CISCN 2019东南]PWN5

首先学习一下realloc这个函数,以下是文心一言的解释: realloc是C语言库函数之一,用于重新分配内存空间。它的主要功能是调整一块内存空间的大小。当需要增加内存空间时,realloc会分配一个新的更大的内存块,然后将原内…

19 使用MapReduce编程统计超市1月商品被购买的次数

首先将1月份的订单数据上传到HDFS上&#xff0c;订单数据格式 ID Goods两个数据字段构成 将订单数据保存在order.txt中&#xff0c;&#xff08;上传前记得启动集群&#xff09;。 打开Idea创建项目 修改pom.xml&#xff0c;添加依赖 <dependencies><dependency>…

多客圈子交友系统 uniapp+thinkphp6适配小程序/H5/app/api全开源,多款插件自选,支持个性定制!

网上交友的优点包括&#xff1a; 1. 方便&#xff1a;网上交友可以随时随地进行&#xff0c;不受时间和空间的限制&#xff0c;方便且高效。 2. 匿名性&#xff1a;网上交友可以实现匿名性&#xff0c;用户可以匿名地搜索、聊天或交换信息&#xff0c;保护个人隐私和安全。 3.…

Linux——进程基本概念中篇

Linux——进程基本概念中篇 文章目录 Linux——进程基本概念中篇一、通过系统调用创建进程——fork1.1 fork的理解1.2 fork的返回值 二、进程状态2.1 运行状态2.2 睡眠状态和休眠状态2.3 停止状态和死亡状态2.4 僵尸进程2.5 孤儿进程2.6 前台和后台进程 三、进程优先级3.1 查看…

redis中的集群模式

主从复制、主从同步(解决高并发读的问题) 主从同步原理&#xff1a; 1.全量同步 slave&#xff08;从节点&#xff09;每次请求数据同步会带两个参数&#xff1a;replid和offset。 replid&#xff1a;第一次请求同步时&#xff0c;replid和master的replid不一样&#xff0c;这…

使用FPGA实现逐级进位加法器

介绍 逐级进位加法器就是将上一位的输出作为下一位的进位输入&#xff0c;依次这样相加。下面以一个8位逐级进位加法器给大家展示。 我增加了电路结构&#xff0c;应该很容易理解吧。 下面我也列举了一位加法器&#xff0c;可以看下。 电路结构 设计文件 1位加法器 librar…

Python-VBA函数之旅-iter函数

目录 一、iter函数的常见应用场景&#xff1a; 二、iter函数使用注意事项&#xff1a; 三、如何用好iter函数&#xff1f; 1、iter函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a;神奇夜光杯-CSDN博客 …

《深入Linux设备驱动程序内核机制》学习笔记-第4章

前言 本文是《深入Linux设备驱动程序内核机制》的读书笔记&#xff0c;本文因为是读书笔记所以抄写引用了该书中的大量内容&#xff0c;写读书笔记的目的是在写作的过程中加深对书中内容的理解。 建议读者直接阅读《深入Linux设备驱动程序内核机制》&#xff0c;这本书是Linu…

word导出或另存为pdf图片不清晰问题解决方案

问题描述&#xff1a; 使用word 2019导出pdf时图片不清晰&#xff0c;即使我已经在“选项 → \to →高级 → \to →图片大小和质量 → \to →不压缩文件中的图像 ”选项卡中关闭掉了图片压缩依然无效。 解决方案&#xff1a; 利用word foxit pdf 软件打印的方案转pdf。 &…

SpringBoot3 + Kotlin + mybatis-plus + Swagger3后端开发样例

前言&#xff1a; Kotlin 是一种在 JVM&#xff08;Java 虚拟机&#xff09;、Android 和浏览器端运行的静态类型编程语言。以下是关于 Kotlin 的总结介绍&#xff1a; 1、语言特性&#xff1a; 简洁性&#xff1a;Kotlin 旨在提供简洁且安全的代码&#xff0c;同时保持与 Jav…

学校开展第二届教学名师沙龙

四川城市职业学院讯 4月23日下午&#xff0c;党委教师工作部&#xff08;质量部&#xff09;、教师发展中心组织开展了以“大力弘扬教育家精神&#xff0c;建设高质量高水平教师队伍”为主题的第二届教学名师经验分享沙龙活动。全校12名入选学校教学名师&#xff08;名辅导员…

vue3+Echarts+Nodejs实现动态数据可视化

最近在做毕设的后台管理系统&#xff0c;刚好需要做数据动态可视化的功能&#xff0c;就来记录一下具体的实现方式吧&#xff01; 在开始之前就不阐述用vue创建项目的具体步骤了&#xff0c;主要详细讲解一下vue3、echarts和nodejs三者之间是如何实现数据的动态显示的&#xf…

kafka大数据采集技术实验(未完待续)

Kafka环境搭建 下载地址&#xff1a;https://link.zhihu.com/?targethttps%3A//kafka.apache.org/downloads解压启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties需要注意的是 : " c o n f i g / z o o k e e p e r . p r o p e r t i e s &q…

探秘三维地形瓦片服务:流畅展现全球地貌的秘密揭秘

想象一下&#xff0c;如果我们能将全球地形一次性清晰地呈现在我们的电脑屏幕上&#xff0c;那将是怎样的场景&#xff1f;即使拥有比大多数人性能更强悍的电脑&#xff0c;也会忍不住说一句&#xff1a;“卧槽&#xff0c;卡死了”&#xff01;那么&#xff0c;要在电脑中流畅…

linux驱动-CCF-0基础

1. 时钟设备 晶振&#xff1a;提供基础时钟源的&#xff08;可分为有源晶振、无源晶振两种&#xff09;&#xff1b; PLL: 用于倍频的锁相环&#xff1b; mux: 用于多路时钟源选择&#xff1b; Divider: 用于分频的&#xff1b; gate: 用于时钟使能的与门电路等 注册函数…

聚焦数字文创产业!国际数字影像产业园落地成都金牛区

聚焦数字文创产业&#xff01;又一成都文创产业园落地成都金牛区。在数字文创浪潮中&#xff0c;成都金牛区凭借其前瞻性的视野和战略性的布局&#xff0c;成功吸引了又一成都文创产业园“国际数字影像产业园”的落地&#xff0c;为区域经济的增长和文化产业的升级注入了新的活…

C语言实现二叉树

二叉树 1、完全二叉树的递归创建 #define N 6 typedef char data_type; typedef struct bitree{ int n; data_type data; struct bitree *lchild; struct bitree *rchild; }bitree_t; //创建二叉树 bitree_t *create_bitree(int n){ bitree_t *rootNULL; root(bitree_t*)mallo…