STM32-- 摆脱Keil使用Linux开发编译下载

目录

一、编译准备

1、keil编译和make编译区别

2、编译环境

3、编译工程

二、STM32编译器

1、编译器下载

2、编译器解压

三、编译stm32工程

1、编译

2、编译清理

四、下载STM32固件(J-Flash V7.94f使用方法)

1、获取下载工具

2、打开下载工具

3、选择对应芯片

5、刷机

五、总结


一、编译准备

1、keil编译和make编译区别

keil是一个IDE,集成了开发、编译、下载、调试功能,操作简单(一键编译,一键下载)。

make是一个强大的项目编译管理工具,相比keil开发,此经验可使用到其他项目编译过程中,可以使开发者快速切换到其他芯片平台(不用Keil开发)的编译,实际上工作后绝大部分项目用的都是make来管理的编译。

2、编译环境

编译机系统Ubuntu 23.04

系统需要安装make,安装make命令:apt-get install make

3、编译工程

使用Cubemx生成工程,生成方法请参考:

CubeMx搭建、生成基础工程-CSDN博客

笔者所用的示例为STM32F407工程,如需要请自取,链接如下:

https://download.csdn.net/download/qq_30095023/88768286icon-default.png?t=N7T8https://download.csdn.net/download/qq_30095023/88768286

二、STM32编译器

1、编译器下载

到ARM官网下载编译器

Downloads | GNU Arm Embedded Toolchain Downloads – Arm DeveloperDownload the GNU Embedded Toolchain for ARM, an open-source suite of tools for C, C++, and Assembly programming for 32-bit ARM Cortex-A, ARM Cortex-M and Cortex-R familiesicon-default.png?t=N7T8https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

官网下载较慢,可到这里取:

链接:https://pan.baidu.com/s/17CGVCrJeKHBcS-h1JNdpAw?pwd=l4kc 
提取码:l4kc

2、编译器解压

将编译器拷贝到/usr/XYB_BIN目录

解压

bzip2 -d gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

tar -xf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar 

解压后如下图所示

三、编译stm32工程

将stm32 make工程(CubeMxMakefile,通过CubeMx生成)拷贝到  /usr/XYB_BIN

跳转到目录:/usr/XYB_BIN/CubeMxMakefile

1、编译

执行编译命令:make GCC_PATH=../gcc-arm-none-eabi-10.3-2021.10/bin/

编译输出

编译输出目录为build,elf、hex、bin文件都在build目录下

2、编译清理

删除编译生成的中间产物以及hex,bin等固件文件,命令如下:

四、更新STM32固件(J-Flash V7.94f使用方法)

1、获取下载工具

下载工具使用jlinkWindows,下载链接如下

https://www.segger.com/downloads/jlink/icon-default.png?t=N7T8https://www.segger.com/downloads/jlink/

官网下载较慢,可到如下链接下载:

链接:https://pan.baidu.com/s/1m5tIAtDODxaYRbwDPPiUJw?pwd=58z0 
提取码:58z0

2、打开下载工具

桌面打开J-Flash V7.94f,如下图所示操作

3、选择对应芯片

hex文件为上文编译步骤后所生成,位于build目录下。导入hex文件,如下图:

连接单片机,如下图:

 连接成功后日志窗口会有如下输出:

5、刷机

更新单片机内部固件


更新后结果如下图

五、总结

如有问题请指出,感谢!

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: stm32-foc-sdk是STMicroelectronics公司推出的专为STM32F系列MCU设计的开发套件,用于实现FOC(场定向控制)电机控制。该套件提供了丰富的软件库和示例代码,方便开发人员快速上手。以下是stm32-foc-sdk使用指南的主要内容: 1. 环境搭建:首先需要安装适用于STM32F系列MCU的开发环境,包括Keil MDK(Microcontroller Development Kit),STM32CubeMX配置工具等。 2. SDK安装:下载并解压stm32-foc-sdk安装包,将其导入到Keil MDK项目中。 3. 项目配置:使用STM32CubeMX配置工具创建一个新项目,并选择相应的MCU型号和外设配置。在配置工具中,选择FOC电机控制模块,并配置相关参数,例如PWM频率、电机参数等。 4. 代码生成:根据配置生成代码,并将生成的代码导入到Keil MDK项目中。此时,开发人员可以根据具体需求自定义代码,例如添加控制算法、外设驱动等。 5. 编译下载使用Keil MDK编译代码,并通过调试器将程序下载到目标MCU中。 6. 调试和测试:通过Keil MDK提供的调试功能,对FOC电机控制程序进行调试和测试。可以使用实时变量查看当前状态、观察数据变化,并通过仿真器或器件连接进行实时控制和监测。 7. 优化和调整:根据测试结果,对FOC电机控制程序进行优化和调整。可以调整控制算法参数、PWM频率等,以提高控制性能和效率。 总之,stm32-foc-sdk使用指南提供了详细的步骤和说明,帮助开发人员快速应用FOC电机控制技术,并实现高效精确的电机控制。该指南对于初学者和有一定经验的开发人员都是非常有价值的参考资料。 ### 回答2: STM32-FOC-SDK是一款专为STMicroelectronics的STM32系列微控制器设计的开发软件包。它提供了一套完整的工具和库,使开发者能够快速有效地实现无传感器磁场定向控制(FOC)。 这个SDK包含了许多关键组件,包括电机驱动库和配置工具。首先,开发者可以使用配置工具来定义并创建电机的参数。配置工具提供了一个用户友好的图形界面,供开发者输入各种电机参数,如电源电压、电机类型、子参数等。通过这个工具,开发者可以生成相应的电机参数文件,以供后续使用。 一旦电机参数定义好了,开发者可以使用电机驱动库来实现FOC控制。这个库提供了一系列函数和API,以便开发者可以使用他们来控制电机。开发者可以根据实际情况选择不同的电机控制策略,如感应电机控制或永磁同步电机控制等。 此外,STM32-FOC-SDK还提供了许多实用工具和示例代码,以帮助开发者更好地理解和使用SDK。开发者可以使用这些工具来调试和优化电机控制系统,并通过示例代码学习如何将SDK集成到自己的项目中。 总的来说,STM32-FOC-SDK是一款强大且易于使用的工具,适用于想要实现高性能电机控制的开发者。无论是初学者还是有经验的开发者,他们都可以通过使用这个SDK来加速电机控制系统的开发过程。 ### 回答3: STM32 FOC SDK使用指南是针对STMicroelectronics的STM32微控制器系列设计的一种专门用于采用矢量电机控制技术的开发工具。它提供了一套功能强大的软件库和示例代码,帮助开发者快速实现电机控制应用。 使用STM32 FOC SDK的第一步是确保拥有适当的硬件配置。这包括一块STM32微控制器开发板,以及与选择的矢量电机形式兼容的电机驱动器。接下来,需要获取最新版的STM32 FOC SDK软件包,并将其导入到所选的集成开发环境(IDE)中。 一旦设置好环境,可以根据具体的应用需求,选择合适的控制策略。STM32 FOC SDK提供了几种常用的控制策略,如速度控制模式、位置控制模式和无刷直流电机(BLDC)矢量控制模式。根据应用的要求,选择合适的控制模式,并将相应的参数配置到STM32微控制器上。 在进行电机控制之前,需要先进行电机参数的标定。这包括电机的电感、子惯量等参数的测量和配置。STM32 FOC SDK提供了工具和示例代码来简化这个过程。通过连接电机到开发板上,可以准确地测量出这些参数,并根据测量结果进行配置。 一旦标定完成,可以使用STM32 FOC SDK的API来实现电机控制逻辑。通过调用相应的函数,例如启动电机、设置目标速度或位置,可以实现对电机的控制。同时,通过监测传感器反馈和执行相应的算法,自动调整控制策略,以实现更准确的电机运行。 最后,为了保证系统的稳定性和性能,需要对整个控制系统进行调试和优化。这可能涉及到参数调整、控制算法修改等操作。同时,可以使用STM32 FOC SDK提供的实时监测和调试工具,对系统的运行状态进行实时监测和分析。 总之,STM32 FOC SDK使用指南提供了一套详细的步骤和工具,帮助开发者快速入门和实现矢量电机控制应用。通过遵循指南中的步骤,并根据实际需求进行配置和调试,可以轻松地开发出稳定、高性能的电机控制系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值