历史上的今天
返回首页

历史上的今天

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

正在发生

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

2018-10-13 来源:eefocus

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应用程序啦


推荐阅读

史海拾趣

圣邦微电子(Fangtek)公司的发展小趣事

厦门法拉电子(Faratronic)公司的发展故事

故事一:初创与转型

厦门法拉电子的故事始于1955年,当时它以竹器合作社的形式创立。随着时代的变迁,公司在1967年敏锐地捕捉到了薄膜电容器市场的潜力,开始涉足这一领域,正式步入电子行业。这一转型为公司未来的发展奠定了坚实的基础。1970年,为了更加专业化的发展,公司更名为厦门市电容器厂,进一步明确了发展方向。通过不断的努力,法拉电子逐渐在薄膜电容器领域崭露头角。

故事二:技术引进与自动化生产

1983年是法拉电子发展历程中的一个重要节点。这一年,公司引进了国外先进的技术和设备,实现了生产过程的自动化。这一举措不仅显著提高了生产效率,还使得产品质量得到了大幅提升。自动化生产的实现,让法拉电子在竞争激烈的市场中更具优势,为其后续的发展提供了强有力的支持。

故事三:铝金属化膜的创新

1994年,法拉电子再次迈出了关键一步,成功开发出铝金属化膜。这一创新不仅使得公司的产品线得以向上游延伸,还显著缩短了电容器产品的交货时间。铝金属化膜的推出,进一步巩固了法拉电子在薄膜电容器行业的市场地位,为其后续的市场扩张奠定了坚实的基础。同年,公司更名为厦门市法拉发展总公司,标志着其业务规模和战略的升级。

故事四:股份制改革与上市

1998年,法拉电子进行了股份制改革,正式转变为厦门法拉电子股份有限公司。这一改革标志着公司正式迈入了现代化企业的新阶段。2002年,法拉电子的股票在上海证券交易所成功挂牌上市,实现了资本市场的突破。上市不仅为公司筹集到了更多的发展资金,还提升了公司的知名度和品牌影响力,为其后续的发展注入了新的动力。

故事五:全球化市场布局

进入21世纪后,法拉电子开始积极布局全球化市场。公司凭借优质的产品和服务,赢得了全球客户的认可。特别是在新能源汽车和光伏领域,法拉电子的市场份额不断扩大。2009年,公司搬迁至海沧新区,进一步提升了生产能力和研发实力。目前,法拉电子已成为全球薄膜电容器行业的领先者,产品广泛应用于照明、通讯、家电、工业控制、汽车电子等多个领域,为全球客户提供了一站式的解决方案。

Corporation Soneet公司的发展小趣事

在市场推广的过程中,Soneet注重品牌形象的建立。公司积极参加各类行业展会和技术交流会议,展示其最新技术和产品。同时,Soneet还通过媒体宣传、社交媒体营销等方式,提高品牌知名度和美誉度。这些努力使得Soneet在消费者心中树立了良好的品牌形象。

广州盛炬(GZSJ)公司的发展小趣事

然而,随着市场竞争的加剧,Soneet也面临着来自同行的挑战。为了应对这些挑战,Soneet不断加强研发投入,提升技术创新能力。同时,公司还通过优化生产流程、降低成本等方式,提高产品的竞争力。这些措施使得Soneet能够在激烈的市场竞争中保持领先地位。

Holy Stone公司的发展小趣事

近年来,Holy Stone不断加大在技术研发和产品创新方面的投入。公司致力于研发适用于节能产品应用所需的被动元件,帮助客户提升产品能源转换效率。在全球汽车电子化发展的背景下,Holy Stone正式跨入车用电子供应链,以提供优质元件的能力协助汽车电子达到最佳数位化。这些技术创新不仅推动了公司产品的升级换代,还为公司开拓了新的市场领域和增长点。

以上五个故事展示了Holy Stone公司在电子行业中的发展历程和成就,每个故事都体现了公司在不同方面的努力和成果。

ABCircuits公司的发展小趣事

ABCircuits公司成立之初,便专注于半导体技术的研发。在电子行业的浪潮中,公司敏锐地洞察到市场对高性能、低功耗芯片的需求,于是投入大量资源进行研发。经过数年的努力,ABCircuits成功推出了一款具有革命性的芯片,该芯片在性能上远超同行,同时功耗极低,迅速获得了市场的认可。这一技术创新为ABCircuits公司打开了新的市场领域,奠定了其在行业内的领先地位。

General Instrument公司的发展小趣事
在某些情况下,突然断电可能引发安全隐患,如正在运行的设备突然停止可能导致事故。

问答坊 | AI 解惑

JMP和Minitab的比较:简单回归分析

上次看到有人以“基本统计分析”的应用为出发点对JMP和Minitab进行了真刀真枪的大PK,并且得出JMP在统计专业性和整体易用性方面远胜于Minitab的结论。笔者对该作者实事求是的风格颇感认同,在此继续遵循这一原则,从另外一个常用统计工具“简单回归 ...…

查看全部问答>

PROTEUS的应用

这是一本关于PROTEUS应用的教材…

查看全部问答>

高输出电流高驱动能力运放

高输出电流高驱动能力运放…

查看全部问答>

altum designer 抓盗版了?

前段时间我们公司接到了altum designer公司的律师涵,说使用了它的盗版软件,altum designer 公司是如何知道我们公司使用盗版软的呢,通过网络吗。如何能够在我正常上网的时候它不能监测到呢。 我们公司很小的,才二十来个人 [ 本帖最后由 mcu_mou ...…

查看全部问答>

秀秀chenzhufly版主的lpc2148板子

呵呵,2148好贵啊,我单买50啊,还有那个imp811在电子市场没买到,上图啦…

查看全部问答>

内存的拷贝问题

我现在做一个程序需要把一些数据从flash中下载下来,然后把这些数据拷贝到一个特定的内存地址处,我不知道用c语言怎么实现.希望高手赐教.谢谢!…

查看全部问答>

win ce 界面控件透明

  我做的对话框有张背景,所以添上的控件需透明才好看,比如CStatic控件。   哪位有什么方法介绍?   对话框添背景图(BMP格式)哪位有什么更好的方法,我觉得我采用的不好   thanks.…

查看全部问答>

TI实验室的事

我们实验室上个月申请了“TI实验室”,但是到现在结果还没出来,有谁知道要等多长时间结果才能出来?谢谢…

查看全部问答>

COSMICC的16K代码限制是指

COSMIC C 的16K代码限制是指源程序只能写16K,还是编译后生成的二进制文件16K?没代码限制的正版COSMIC 价格多少?…

查看全部问答>

求助这个光耦控制电路的原理

在一个电源板上见到的,请问这个电路是怎样工作的?十分感谢…

查看全部问答>