STM32多种开发环境及生成hex及bin文件介绍

2024-06-21 17:04

本文主要是介绍STM32多种开发环境及生成hex及bin文件介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.STM32开发环境

  1. KEIL系列

(1)KEIL公司目前有四款独立的嵌入式软件开发工具,即MDK、KEIL C51、KEIL C166、KEIL C251,它们都是KEIL公司品牌下的产品,都基于uVision集成开发环境,其中MDK是RealView系列中的一员。

我们在做STM32程序开发编译的时候,基本上都是用keil5这个软件。

Keil5和Keil5 MDK(Microcontroller Development Kit)是同一个软件的不同版本。

Keil5提供了一个完整的开发环境,包括编辑器、编译器、调试器等。

Keil5 MDK包含了Keil5的所有功能,同时还支持ARM Cortex-M系列微控制器的编程、调试和仿真,以及相应的软件库和工具。

(2)keil软件有付费版本和免费版本,但免费版本有限制。

Keil MDK有四种版本:

MDK-Lite(免费版)

MDK-Essential(基础版)

MDK-Plus(增强版)

MDK-Professional(专业版)

MDK-Lite(免费版):

代码大小限制32KB。

支持极少的MCU,比如:STM32F0、 L0、 G0等Cortex-M0内核的处理器。

大部分中间组件都不能使用,比如:IPv4 网络、USB、文件系统等组件都不能使用。

(3)keil支持的芯片种类非常多,不局限于stm32系列。

2.STM32CubeIDE

STM32CubeIDE是ST于2019年新推出的一款多功能的集成开发工具,它集成了TrueSTUDIO和STM32CubeMX插件,并基于GDB进行调试,它允许集成数百个现有插件,这些插件完成Eclipse的功能。但是STM32CubeIDE只是ST公司芯片的开发环境,MDK所支持的芯片就要广的多了。

这个软件是免费的。

3.EWARM

EWARM,全称为IAR Embedded Workbench for ARM(IAR EWARM),是由IAR Systems公司开发的一款集成开发环境(IDE),专为ARM架构的微控制器设计。它提供了一个综合性的开发环境,用于编译、调试和优化基于ARM架构的嵌入式应用程序,适用于STM32等ARM Cortex-M系列微控制器的开发。

这个软件是付费的。

4.总结

   如果不考虑商业应用keil的比较好,如果考虑商业付费用STM32CubeIDE更好一些,毕竟是免费的。

二.keil软件生成文件介绍

  1. keil软件默认生成axf文件和hex文件

2.bin文件生成设置

配置 - Options for Target → Output

点击魔术棒"Options for Target" → 单击" Output " → 按下面截图所示配置

不指定路径 - 默认文件夹“Objects”

点击魔术棒"Options for Target" → 单击“User” → 按下面截图所示配置,配置完成后→ 点击"Build"编译 → 生成Bin / Hex文件

复制并输入以下内容:

fromelf --bin -o "$L@L.bin" "#L

参考文章:Keil生成并指定Bin和Hex文件的存放路径 - 附详细操作图文_keil生成bin文件-CSDN博客

三.STM32CubeIDE

  1. STM32CubeIDE默认是生成elf文件,类似keil生成的axf文件,都会比较大
  2. 编译生成 bin / hex 文件方法

如果想要bin或hex格式的固件可以在IDE左侧项目资源管理器(Project Explorer)中选择:项目右键 Prorerties 在弹出窗口的 C/C++ Build > Settings > Tool Settings > MCU Postbuild outputs 中选中生成bin和hex文件即可:

这篇关于STM32多种开发环境及生成hex及bin文件介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优