STM32CubeIDE使用笔记(01):基础说明与开发流程

2023-11-19

目的

STM32cubeIDE是ST官方推出的一款用于开发STM32的工具,其实就是整合了STM32CubeMX和TrueSTUDIO而成,对于STM32的开发这个工具应该会在未来成为主流,毕竟有官方加持又商用免费,本文就对该工具做个基础说明。
在这里插入图片描述
(当前最新版本为1.0.2)

基础事项

下载安装

STM32cubeIDE可以在ST官网搜索下载,包含Win、Mac以及几种Linux发行版的版本,可以参考下面链接:
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/stm32cubeide.html

下载完成后进行安装,安装时注意路径必须时ASCII字符集的(不能出现中文),否则可能会报错。

安装完成后首次打开软件会提示选择工作空间(Workspace),需要指定一个文件夹,软件会在该文件夹下生成.metadata文件夹(用来存放对于该工作空间中软件的各种设置、项目索引等),关于工作空间更多内容会在之后的文章进行介绍。

界面说明

界面说明主要看图(可以点击查看大图):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目文件夹

项目文件夹中重要文件说明如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常用快捷键

STM32CubeIDE快捷键很多,可以通过 Help > Show Active Keybindings... 查看当前可用快捷键;也可以在 Window > Preferences > General > Keys 中查看修改快捷键,默认的常用快捷键如下(一些特别常用的就不说了,比如Ctrl+Z、Ctrl+Y、Ctrl+C、Ctrl+V这些):

快捷键 快捷键说明
Ctrl+/ 注释行/取消注释行
Ctrl+D 删除行
Ctrl+Shift+F 格式化代码
Alt+/ 代码补全(这个对于现在程序员来说算是重要功能了吧)
Shift+Enter 在当前行的下一行插入空行
Alt+↓/↑ 行下移/上移(可按住)
Ctrl+↑/↓ 编辑器视图上移/下移(可按住)
Alt+←/→ 前一个/后一个页面
F3 跳转到声明处
Ctrl+F 文件内内搜索
Ctrl+H 项目内搜索
Ctrl+M 最大化/默认当前窗口
Ctrl+L 跳转至某行
Ctrl+O 显示大纲(方便跳转)
Ctrl+W 关闭当前窗口
F11 启动调试
F5 单步跳入(调试时)
F6 单步跳过(调试时)
F7 单步返回(调试时)
F8 继续运行(调试时)

开发流程

开发流程这里主要指和这个软件相关的,主要会涉及到的流程如下(根据项目实际情况可能会有不同):

  1. 新建项目(有多处可以新建项目,通用方式 File > New > STM32 Project ):
    在这里插入图片描述

  2. 配置芯片资源并生成初始化代码(操作的是 项目名.ioc 文件):
    在这里插入图片描述

  3. 代码编写与调试(是否调试、怎么调试看个人习惯和需求):
    在这里插入图片描述

  4. 生成给芯片烧录用的文件(Release版本: 项目文件夹 > Release文件夹 > 项目名.elf ):
    在这里插入图片描述

  5. 烧录程序到目标芯片(使用计算机软件烧录的话可以用ST官方的工具 STM32CubeProgrammer ,可以从官网搜索下载):
    在这里插入图片描述

总结

STM32CubeIDE基本说明就是以上那些了,对于主要功能更加具体的说明会在之后的文章进行描述。另外因为STM32CubeIDE是基于Eclipse的,所以很多软件本身的操作也可以参考Eclipse的操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32CubeIDE使用笔记(01):基础说明与开发流程 的相关文章

  • c项目makefile多重定义错误

    这个问题是一个对应于创建的repexthis问题 在我的嵌入式 C 项目中 我有两个独立的板 我想为每个板创建两个 c 文件 master c 和 Slave c 其中包含自己的特定main 功能 我使用 stm32cumbemx 生成带有
  • GCC - 如何停止链接 malloc?

    我正在努力将我的代码缩减到最小的骨架大小 我使用的是只有 32k 闪存的 STM32F0 需要很大一部分闪存用于数据存储 我的代码已经有大约 20k 闪存大小 其中一些是由于使用了 STM32 HAL 函数 我可以在以后需要时对其进行解释和
  • 如何让printf在STM32F103上工作?

    我是 STM32F103 世界的新手 我有一个STM32F103的演示代码 我正在使用arm none eabi来编译它 我尝试了在谷歌上可以找到的内容 但到目前为止没有任何效果 我已经花了三天时间来解决这个问题 任何人都可以给我一个运行良
  • STM32 F072上的软件如何跳转到bootloader(DFU模式)?

    STM32应用笔记2606对此进行了讨论 但没有简单的代码示例 该答案已使用 IAR EWARM 在 STM32F072 Nucleo 板上进行了测试 这个答案使用 STM32标准外设库 仅此而已 请注意 验证您是否成功进入引导加载程序模式
  • 139-基于stm32单片机老人居家监护报警系统Proteus仿真+源程序

    资料编号 139 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 MQ4传感器 电位器模拟 MQ2传感器 电位器模拟 蜂鸣器 电机 制作一个基于stm32单片机老人居家监护报警系统Proteus仿真 2 通过MQ2传
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH
  • HAL库STM32常用外设教程(二)—— GPIO输入\输出

    HAL库STM32常用外设教程 二 GPIO输入 输出 文章目录 HAL库STM32常用外设教程 二 GPIO输入 输出 前言 一 GPIO功能概述 二 GPIO的HAl库驱动 三 GPIO使用示例 1 示例功能 四 代码讲解 五 总结
  • STM32F4 通过软复位跳转到引导加载程序,无需 BOOT0 和 BOOT1 引脚

    我问这个问题是因为可以在这里找到类似问题的答案 通过应用程序跳转到 STM32 中的引导加载程序 即从用户闪存在引导模式下使用引导 0 和引导 1 引脚 用户 JF002 JF002回答 当我想跳转到引导加载程序时 我在其中一个备份寄存器中
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • [屏驱相关]【SWM166-SPI-Y1.28C1测评】+ 有点惊艳的开箱

    耳闻华芯微特许久了 看到论坛得评测活动赶紧上了末班车 毕竟对有屏幕得板子也是很喜欢得 京东快递小哥客客气气 微笑着把快递给了我 好评 直接拆了包 在此之前没看过视频号 所以这个圆盘盘得模具还是有点惊喜的 正面照如下 开机有灯光秀 还有动画
  • HAL 锁定和解锁函数如何使用以及为什么?

    我试图理解另一位程序员编写的代码 它使用了I C http en wikipedia org wiki I C2 B2C通信以将数据写入 STM32 微控制器的 EEPROM 一般来说 我理解他的代码是如何工作的 但我不明白他为什么使用HA
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • STM32F4XX的12位ADC采集数值超过4096&右对齐模式设置失败

    文章目录 一 前言 二 问题1 数值超过4096 三 问题1的排错过程 四 问题2 右对齐模式设置失败 五 问题2的解决方法 5 1 将ADC ExternalTrigConv设置为0 5 2 使用ADC StructInit 函数 一 前
  • STM32H5 Nucleo-144 board开箱

    文章目录 开发板资料下载 目标 点亮LD1 绿 LD2 黄 和LD3 红 三个LED灯 开箱过程 博主使用的是STM32CubeMX配置生成代码 具体操作如下 打开STM32CubeMX File gt New project 选择开发板型
  • 嵌入式 C++11 代码 — 我需要 volatile 吗?

    采用 Cortex M3 MCU STM32F1 的嵌入式设备 它具有嵌入式闪存 64K MCU固件可以在运行时重新编程闪存扇区 这是由闪存控制器 FMC 寄存器完成的 所以它不像a b那么简单 FMC 获取缓冲区指针并将数据刻录到某个闪存
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • stm32l0: 执行MI命令失败。使用 vFlashErase 数据包擦除闪存时出错

    我正在使用 Nucleo STM32L031 和 AC6 STM32 工作台 eclipse 我编写应用程序并进入调试模式 一切正常 直到我在应用程序中添加另一个功能 我注意到当我删除 评论 新函数 软件可以再次进入调试模式 但是当我添加

随机推荐

  • C#比较两个list集合,两集合同时存在或A集合存在B集合中无

    using System using System Collections Generic using System Linq using System Text using System Threading using System Th
  • iOS灵动岛【电商秒杀】开发实践

    一 基本概述 名词基础知识 苹果在 iPhone 14 Pro 系列中增加一个灵动岛 主要目的是隐藏挖孔造型的高端 感叹号屏 通过动画的视觉差异 用户找不到原来的挖孔屏 灵动岛是一种巧妙的设计 模糊了软件和硬件之间的界限 它可以在锁屏的情况
  • Python: 转换文本编码

    最近在做周报的时候 需要把csv文本中的数据提取出来制作表格后生产图表 在获取csv文本内容的时候 基本上都是用with open filename encoding UTF 8 as f 来打开csv文本 但是实际使用过程中发现有些csv
  • python网络爬虫实战——实时抓取西刺免费代理ip

    参考网上高手示例程序 利用了多线程技术 Python版本为2 7 coding utf8 import urllib2 import re import threading import time rawProxyList checkedP
  • Git切换分支报错:error: you need to resolve your current index first 以及needs merge

    当想从子分支切换到dev分支时git checkout dev 报错 error you need to resolve your current index first xxx java needs merge xxx xml needs
  • c#:ThreadPool实现并行分析,并实现线程同步结束

    背景 一般情况下 经常会遇到一个单线程程序时执行对CPU MEMORY IO利用率上不来 且速度慢下问题 那么 怎么解决这些问题呢 据我个人经验来说有以下两种方式 1 并行 多线程 Parallel Task ThreadPool 2 多进
  • phpstrom、laradock、xdebug 进行断点调试

    phpstrom laradock xdebug 进行断点调试 背景 laravel 框架封装太完善 经常搞不明白究竟用的是哪个类 复杂一点的算法 使用 dd方法调试时 需要疯狂dd 显得过于鸡肋 调试流程 发请求 跑调试代码 安装 xde
  • 决策树之用信息增益选择最优特征

    决策树之用信息增益选择最优特征 熵 熵的定义 熵 sh ng 热力学中表征物质状态的参量之一 用符号S表示 其物理意义是体系混乱程度的度量 在决策树中 信息增益是由熵构建而成 表示的是 随机变量的不确定性 不确定性越大 代表着熵越大 随机变
  • Mycat 学习小结

    Mycat 学习小结 Mycat 是什么 Mycat 是一个彻底开源的面向企业应用开发的大数据库集群 支持事务 ACID 是可以替代Mysql 的加强版数据库 Mycat被视为 Mysql 集群的企业级数据库 用来替代昂贵的 Oracle
  • LuCI界面开发之CBI模块

    在openWrt路由界面的开发中 我们使用的LuCI实际上已经不是简单的html了 它是嵌合于lua语言中的元素 或者按照英文翻译来说不是那些input而是变为如asp net中使用的那些控件 或者是 类 这些类包括一些常用的input输入
  • 编程每日一题_C程序设计_判断是否为素数

    描述 给定整型数据 判断其是否为素数 质数 又称素数 是指在大于1的自然数中 除了1和它本身外 不能被其他自然数整除 除0以外 的数称之为素数 质数 比1大但不是素数的数称为合数 1和0既非素数也非合数 素数 质数 与合数 定义存疑 解法一
  • 分支-11. 计算工资(15)

    某公司员工的工资计算方法如下 一周内工作时间不超过40小时 按正常工作时间计酬 超出40小时的工作时间部分 按正常工作时间报酬的1 5倍计酬 员工按进公司时间分为新职工和老职工 进公司不少于5年的员工为老职工 5年以下的为新职工 新职工的正
  • ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course

    ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial UE5 Starter Course 教程大小解压后 4 96G 语言 英语 中英文字幕 机译 时长 4小时56分 1920X1080 mp4 虚
  • 使用 Docker 和 Alpaca LoRA 对 LLaMA 65B 大模型进行 Fine-Tune

    这篇文章中 我们来聊聊如何使用两张显卡来进行 LLaMA 65B 大模型的微调工作 以及如何在一张普通的 4090 家用显卡上 只花几个小时 就能够完成 7B 模型的微调 写在前面 在之前的几篇文章里 我们介绍过三种方式运行 Meta 开源
  • Shell脚本编写教程【七】——Shell test命令

    Shell脚本编写教程 七 Shell test命令 目录 https blog csdn net shn111 article details 131590488 参考教程 https www runoob com linux linux
  • ICCV 2023

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 作者介绍 张耕维 悉尼科技大学在读博士生 研究方向为持续学习 报告题目 通过慢学习和分类器对齐在预训练模型上进行持续学习 内容简介 持续学习研究的目标在于提高模型利用顺序到达的数
  • windows下使用django实现定时任务

    简介 在做 弹幕弹幕 小程序后端时 需要定时清除数据库中无用的弹幕 在网上查得可以使用Django中的django apscheduler实现这一功能 我在这里记录一下使用这一Application的过程 django apschedule
  • vue封装年月日时分秒

  • case when then else_CASE 表达式

    一 语法及作用 使用CASE表达式可以帮助我们解决复杂的查询问题 相当于条件判断的函数 判断每一行是不是满足条件 CASE CASE 表达式会从对最初的WHEN子句中的 lt 求值表达式 gt 进行求值开始执行 所谓求值 就是要调查该表达式
  • STM32CubeIDE使用笔记(01):基础说明与开发流程

    文章目录 目的 基础事项 下载安装 界面说明 项目文件夹 常用快捷键 开发流程 总结 目的 STM32cubeIDE是ST官方推出的一款用于开发STM32的工具 其实就是整合了STM32CubeMX和TrueSTUDIO而成 对于STM32