原标题:Linux下如何搭建stm32开发环境

Linux对于开发者来说真的是一个非常好的系统,为开发者来说应该不陌生,通常我们在Windows下开发stm32很方便,有非常多的工具,IDE等支持,同样是操作系统,Linux开发STM32也一点不会差。

本文引用地址:http://www.eepw.com.cn/article/201608/295191.htmLinux下开发stm32也有很多方法:

1.使用makefile

2.使用eclipse

3.使用stm32cubemx+sw4stm32

4....

有大神使用第一种,本人对makefile一知半解,拿不出手。第二种,windows下可以使用eclipse开发,eclipse有linux版本,所以应该也是可以的,不过本人并没有试过。这里要说的就是第三种,当然除了这些,像Mbed之类的在线开发工具,只要有网,无论什么平台都能开发的就不说了。

stm32cubemx相信大家都已经很熟悉了,st推出的基于hal库的图形化配置和代码生成工具,不记得从哪个版本开始,这个工具添加了对linux的支持,st大力发展linux用户的野心昭然可见。除此之外,st还和ac6合作推出了stm32 ode,即sw4stm32,一款免费的可开发stm32的集成开发工具。sw4stm32是基于eclipse开发的,打开后的界面和eclipse基本完全一样,也同时支持windows和linux两种版本,这也说明了第二种方法是可行的。下面真正开始开发环境搭建工作:

1.准备工作

下载stm32cubemx:http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

下载sw4stm32:http://www.openstm32.org/Downloading+the+System+Workbench+for+STM32+installer

这两个软件都需要j**a运行时环境(JRE),所以需要先安装好JRE,这里就不讲了,百度一下都有。

2.安装

其实这两个软件安装方式做得很类似windows下的安装了,解压双击即可安装,不过既然用了linux系统,就允许我装一下逼,用命令行来安装。

安装步骤:

1.完成前面的下载后得到两个文件:

en.stm32cubemx.zip install_sw4stm32_linux_64bits-v1.8.run

首先解压压缩文件包,

unzipen.stm32cubemx.zip

得到

Readme.html

SetupSTM32CubeMX-4.15.0.exe

SetupSTM32CubeMX-4.15.0.app

SetupSTM32CubeMX-4.15.0.linux

四个文件,exe后缀是windows下的安装文件,很熟悉了,.linux后缀就是linux系统的安装文件,此处用这个文件安装,(前面已经说过,可以直接双击安装),直接执行该文件:

./SetupSTM32CubeMX-4.15.0.linux

(如果出错,查看文件是否有执行权限,加上权限后再执行)

效果如图:

此时就会跳出图形安装界面,

这个界面都很熟悉了吧,和windows下一样,按照提示一步一步安装就可以了,甚至可以一路next到底就行。如果双击安装,会直接来到这一步,后面的步骤省略!

到这里,安装就完成了,再安装文件夹下找到STM32CubeMX文件双击,或者通过命令行启动该文件,就可以打开STM32CubeMX软件,见到我们熟悉的界面,使用方法和windows下一模一样,

安装好相应的库之后就可以建立工程了,不过我们还没有开发环境,所以现在先安装开发环境:SW4STM32软件:

执行命令

chmod+x install_sw4stm32_linux_64bits-v1.8.run

给install_sw4stm32_linux_64bits-v1.8.run添加执行权限,可能需要超级权限,切换到root用户或者命令前加sudo执行,然后该文件就有了执行权限(前面多了x,颜色变了)

然后执行文件

./install_sw4stm32_linux_64bits-v1.8.run

开始安装,然后一路next,可以选择自定义安装路径,期间有可能需要输入root用户密码,安装过程和windows基本一样

出现这个界面的时候,恭喜,安装完成了!!!

这个界面和eclipse完全一样的,喜欢eclipse的会比较习惯这个,不过更方便的是直接安装eclipse下的插件。

现在STM32CUBEMX和SW4STM32都安装好了,接下来建一个工程测试一下,手边刚好有一块Nucleo-F429ZI的开发板,就用这块板来测试,用Cube新建工程应该都熟悉了,这里就不详细描述了

一般习惯不勾选Generate Under Root,这样文件结构更合理

生成工程后有这么些文件,然后用sw4stm32打开:

选择File->Import->General->Exist Project intoWorkspace

选择刚刚生成的工程的文件夹,Finish

编译一下工程,没有错误,没有警告,然后添加几行测试代码:

然后编译,运行,就可以看到板子上LD2蓝色LED以1 Hz的频率闪烁,电脑上打开串口助手,就能接收到板子发送过来的测试信息,如下图所示

至此,说明linux下编写stm32程序的环境已经完全搭建成功,并且成功创建了第一个可以运行的测试程序,接下来,就可以愉快的开发自己的stm32应用程序啦返回搜狐,查看更多

责任编辑:

linux上编译stm32工程,Linux下如何搭建stm32开发环境相关推荐

  1. 一天一点linux(9):ubuntu下如何搭建LAMP开发环境?

    功能介绍 上一次搭建Linux下LAMP环境是基于的CentOS6.7版本,采取的方式是源码编译安装,折腾了好久才在CentOS下,把LAMP环境给搭建起来,而Ubuntu作为现在主流的Linux版本 ...

  2. Python编程入门:教你在mac下如何搭建python开发环境

    以前的Python编程入门教程中有跟大家说过一般情况下如何搭建Python开发环境,有很多伙伴说那么mac的该如何操作呢?今天就跟大家出一期针对mac搭建Python开发环境的操作方法!有需要的伙伴可 ...

  3. Windows下Qt5搭建Android开发环境笔记

    Windows很大的特点是配置使用几乎都可以图形化进行,和Linux比起来在很多时候配置环境也要方便很多.所以,搭建Qt for Andorid也是十分简单的.需要以下工具: 1.最方便的Qt官方包, ...

  4. mac下快速搭建php开发环境,鸟枪换大炮,Mac下快速搭建PHP开发环境mamp的使用

    前几天终于换了台电脑,一开始还有点不习惯,用了2天发现mac做开发还真便利不少,洁面看起来让人心旷神怡啊!真的有一种鸟枪换炮的感觉. 作为一个PHP开发工程师,换了抢还得知道怎么上子弹不是. 我们在m ...

  5. kaldi在linux上编译,Ubuntu 12.04下编译安装Kaldi

    因为同事工作需要 kaldi ,所以安装过程有点麻烦.在此记录一下折腾的过程. OS:Ubuntu 12.04 (amd64) kaldi的下载地址  http://svn.code.sf.net/p ...

  6. linux 上编译arm64,Arch Linux 搭建 arm64/AArch64 交叉编译环境

    Arch Linux 搭建 arm64/AArch64 交叉编译环境 0. 系统环境 系统: Arch Linux: 成文时间最新 工具版本:Binutils:2.34-1 GCC:9.2.1+202 ...

  7. windows下eclipse搭建android_ndk开发环境

    1.安装cygwin: 由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/lin ...

  8. mac怎么搭建php环境,Mac下快速搭建PHP开发环境

    GDB 多线程调试:只停止断点的线程,其他线程任然执行; 或只运行某些线程 其他线程中断 多线程调试之痛 调试器(如VS2008和老版GDB)往往只支持all-stop模式,调试多线程程序时,如果某个 ...

  9. Win7(64位)下,搭建Android开发环境

    一.相关下载 1.下载JDK. 网址:http://java.sun.com/javase/downloads/index.jsp,选择jdk-7u21-windows-x64.exe. 2.下载Ec ...

  10. Mac下快速搭建PHP开发环境

    最近做了一个后端的项目,是用PHP+MySQL+Nginx做的,所以把搭建环境的方法简单总结一下. 备注: 物料:Apache/Nginx+PHP+MySQL+MAMP Mac OS 10.12.1 ...

最新文章

  1. OpenCV 笔记(03)— 读取视频、通过摄像头采集视频、采集视频 canny 边缘检测
  2. 我摊牌了,大厂面试Linux就这5个问题
  3. 一句话总结等距映射(流形学习)
  4. spring之DelegatingFilterProxy
  5. 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
  6. 程序员面试题精选100题(43)-n个骰子的点数[算法]
  7. Java互联网架构-京东国美高并发核心技术“秒杀”
  8. html 按钮 按下 状态_第一次按下是启动,第二次按下是停止,俵哥分享2种接线方法...
  9. 【ios】在真实设备上运行
  10. Unity3D游戏开发中相见恨晚的动画插件
  11. mapinfo将北京54坐标系转WGS84坐标系
  12. windows系统中如何新建桌面
  13. 数据传输加密技术分析
  14. STM32物联网项目-单极性步进电机28BYJ-48
  15. 制作“大白菜”启动U盘教程
  16. 关于九宫格的一个算法,求大神助攻
  17. 基于实时计算(flink)打造舆情分析平台——新华智云...
  18. [何以解忧唯有颓废]老舒
  19. 【Shader】色调映射、视差贴图与实时阴影
  20. 引用微信JSSDK与支付宝JSSDK

热门文章

  1. 软件测试和软件调试的区别
  2. 国家集训队 种树 题解
  3. 远程桌面 中断计算机连接不上,中断远程桌面连接解决方案
  4. 广度搜索和深度搜索的分析
  5. Windows使用思岚科技的rpLidar的A2型号
  6. 地学计算方法/地统计学(第二章地理数据及其采集与预处理)
  7. 仿生机制算法——细胞吸引子模型(附Matlab代码)
  8. 【渝粤题库】陕西师范大学200941小学数学教学论 作业(高起专)
  9. 周礼键君:中国福建省建瓯市之《闽郡八音字典》
  10. 移动设备管理的具体措施有哪些?(下)