历史上的今天

今天是:2024年10月13日(星期日)

正在发生

2018年10月13日 | Linux下如何搭建stm32开发环境(二)

发布者:数字狂想 来源: eefocus关键字:Linux  stm32  开发环境 手机看文章 扫描二维码
随时随地手机看文章

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

Linux下开发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

这两个软件都需要,所以需要先安装好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开发环境(二)

上一篇:Linux下如何搭建stm32开发环境(一)
下一篇:ubuntu下建立stm32开发环境:程序烧录openocd+openjtag

推荐阅读

        新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿、最有趣、最好玩的产品吧~!下载客户端还能获得专享福利哦!        新浪手机讯 10月12日下午消息,国产手机厂商中兴在北京举行中兴天机Axon 9 Pro品鉴会,正式发布天机Axon 9 Pro公开版和行业版,公开版售价3999元起。   ...
10月8日,从国网基建部获悉,今年前三季度,国家电网有限公司110千伏及以上电网基建工程投产36134千米、21683万千伏安,完成年度计划的72.7%和77.4%;开工34856千米、21344万千伏安,完成年度任务的73.5%和69.9%,开工投产均超额完成里程碑计划。 年初以来,公司基建战线认真贯彻党中央、国务院决策部署,深入落实公司三届四次职代会暨2019年工作会议...
自动驾驶竞赛进入下半场,推进商业化应用成为各企业发力的重点。根据美国兰德公司的研究,自动驾驶算法想要达到人类驾驶员水平至少需要累计177亿公里的驾驶数据来完善算法。如果配置一支100辆自动驾驶测试车的车队,每天24小时不停歇路测,平均时速25英里(40公里)每小时来计算,需要500多年的时间才能完成目标里程,期间所耗费的时间和成本无疑难以承受...
广告摘要声明广告2021年10月11日,机器人行业盛会中国(华南)国际机器人与自动化展览会在广东现代国际博览中心(东莞厚街)盛大开幕,吸引了多家国内外知名机器人企业到场参展。节卡机器人(展位号:3号馆 C3316)亮相本次展会,展示了节卡系列协作机器人,并分享其在不同应用场景中解决方案,以及如何根据市场深入了解客户需求,推进自动化的落地及深耕...

史海拾趣

问答坊 | AI 解惑

如何管理不同的测试结果?

如何管理不同的测试结果?摘要就一般标准来说如果测试结果与测试标准之间的差异小于测试仪器的精度就必须提示用户因为这代表测试结果即测试布线的性能在一个灰色的环境中因此测试结果中有一个*号在LinkWare软件中测试数据库是保密的用户不能改动数 ...…

查看全部问答∨

求小信号心电信号,包括怎么滤波?

求小信号放大的知识,比如心电信号,包括怎么滤波提取心电信号,怎么样去处50HZ工频干扰?…

查看全部问答∨

【藏书阁】第5篇 模拟电路 /如何成为电子工程师从书系列

目录: 第一章 无源滤波器、衰减器和均衡器 第二章 放大器的基本原理 第三章 波形发生器 第四章 模拟信号处理电路 第五章 调制电路与解调电路 参考文献…

查看全部问答∨

程序帮忙

我正在开发一个键盘,我使用51单片机 控制像机和云台的,上面有一些按键和一个摇杆。功能按键的功能如数字键、控制摄像机变焦等功能键、还有如调预至位、复位等功能。摇杆就是控制云台转动的方向,可以上下左右等水平360度波动,这样可以控制云台水 ...…

查看全部问答∨

关于gprs模块的ppp拨号上网问题

大家好!         小弟最近在搞gprs模块要实现上网,可是遇到了一些问题,希望各位大虾给与帮助,小弟感激 不尽!         小弟用的是西门子MC39I的GPRS模块,ucLINUX内核版本2.6.19,内核中已经选中的 ...…

查看全部问答∨

驱动芯片为hd66781的mcu lcd驱动问题

驱动芯片为hd66781的mcu lcd驱动问题 大家好,这宽屏在我们的系统上就是出不来数据,有没有调过这款屏的,帮帮忙啊。 初始化代码为: void Mcupanel_PowerOnInit(void) {           int i,j;    ...…

查看全部问答∨

请教一个stm8s103K3的UART1用中断方式发送数据的问题

我现在按照例程,初始化的时候配置CR2=0x08,CR1=0,CR3=0,BRR2=0X68,BRR1=0X02(9600波特率)。 主循环里面在设置CR2|=0X80之后就马上进发送中断,然后给DR赋值,但是再怎么赋值DR仿真器看出来也都是0,发送5个数据后清除CR2,但是用串口助手 ...…

查看全部问答∨

STM8S207K6字节写EEPROM时不能执行中断程序???

我使用STM8S207K6,在向EEPROM中写入3字节数据,用时25ms,这期间竟然不能产生中断(我有定时器中断正好在这个期间内发生),通过仿真观察,core的中断级别是最低(I1 I0=10)。请指教,是怎么回事? 代码如下:(c compiler 是cosmic的4.2.8 ...…

查看全部问答∨

最便宜的cpld是哪种啊

我只用来做个加速,一般的就行了,不知哪种cpld最便宜,并且也在生产的,停产的cpld用来开发新产品么,感觉不好。有谁推一个呀,谢谢 !~…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved