|
对于STM32单片机程序开发的IDE环境经常被使用的是keil 和 IAR,这两个IDE确实使用起来确实很方便,不过对于在linux下开发mcu程序就没有如此方便快捷的IDE供开发者使用了,是不是linux下就没有办法使用IDE来开发STM32的程序呢,这也是此贴着重要研究的如何在linux下的开发环境下通过IDE来调试使mcu的程序,本文以笔者手中的STM32 NUCLEO-F446为硬件平台搭建linux下的开发环境。 1--开发工具(Eclipse) “虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。” 上述描述截取于百度百科,Eclipse 有很多版本,本文使用的是支持C,C++开发的CDT版本,可以去官网下载最新的版本,如下是下载链接,选择linux下的版本。 https://www.eclipse.org/downloads/packages/ 2.--基于Eclipse IDE编译程序 ①编译器 编译器使用的gnu的gcc 编译器 ②编译环境 makefile 以上两个是Eclipse 编译所依赖的编译环境,本地使用的gcc版本信息如下,版本没有固定的要求只要支持对应的MCU架构即可,大部分的gcc版本是能够支持ARMV7-M架构的mcu开发环境的。
本地的编译器和make工具都已经存在的话对于使用Eclipse 来编译程序是很简单的一件事,只要配置下对应的GCC工具所在的位置的环境变量和将makefile工程导入工程目录即可。 具体操作如下:1,工程栏点击右键导入工程
2.选择导入makefile 工程
3.设置工程名称及makefile 路径,则完成导入
4.配置makefile 依赖gcc工具链 PATH环境变量根据本地的配置添加
5.至此依赖的编译环境已经配置完成,如果makefile文件编写的没有问题的,工程窗口built project/clean project 就会调用makefile的make all 和 make clean 对工程进行编译了,编译效果如下。
3.调试环境的搭建 1.stlink 驱动库安装 至此已经可以通过Eclipse 对工程进行编译和清除了,一个IDE 不仅仅需要能够编译程序同时也需要能够对程序进行调试。 本次实验是哟使用的NUCLEO F446的板子上已经集成了个STLINK,本实验使用STLINK对程序进行仿真,需要按照STLINK在linux环境下的驱动程序,安装方法可以参照笔者之前的帖子: https://www.stmcu.org.cn/module/forum/thread-618905-1-1.html 按照上述帖子完成安装后,接入开发板运行 st-util 命令能够识别出开发板的型号说明已经正确安装并识别到板子,并等待IDE进行链接。
2.配置debug选项 1.debug (小虫子)选项下拉新建debug config,按照如下的配置配置
main 选项卡的配置:配置要调试的elf文件,选择gdb 调试方式为hardware gdb
debug 选项卡的配置:选择调试器为STLINK并设置端口号为4242,因为之前编译的时候已经设置PATH环境变量,此处的arn-none-eabi-gdb命令是可以正常的执行的不需要加绝对的路径。
至此编译环境和调试环境已经配置完成,正常没有问题的话就可以对程序进行调试了,调试前本地终端先运行st-util等待IDE进行链接,IDE上点击对debug 按钮就可以进行仿真调试了,如下仿真已经进入main函数内的断点了。
如果需要使用JLINK进行调试的话,方法也是一致的只是将STLINK相关的配置修改为JLINK即可。 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
感谢支持