历史上的今天
返回首页

历史上的今天

今天是: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


下载sw4stm32

这两个软件都需要,所以需要先安装好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应用程序啦


推荐阅读

史海拾趣

HANA Micron公司的发展小趣事

为了更好地服务全球客户,Hama积极实施国际化战略,在全球范围内设立了多家子公司。这些子公司不仅负责当地市场的销售和服务工作,还积极参与技术研发和产品创新活动。通过全球子公司的协同作战,Hama成功实现了资源的优化配置和市场的深度覆盖。目前,Hama在全球拥有约2500名员工、5亿欧元的业务和19家全球子公司,已成为国际知名的电子配件供应商之一。未来,随着全球市场的不断变化和发展,Hama将继续加强全球子公司的建设和布局,为公司的长远发展奠定坚实基础。

FWBELL公司的发展小趣事
如MOSFET、晶体管等,用于执行充电控制芯片的指令,调节充电电流。
Advanced Electronic Packaging公司的发展小趣事

在追求经济效益的同时,Advanced Electronic Packaging公司始终关注企业社会责任和可持续发展。公司积极采用环保材料和生产工艺,减少生产过程中的能源消耗和环境污染。此外,公司还积极参与社会公益活动,为当地社区提供就业机会和培训支持。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

这些故事只是Advanced Electronic Packaging公司发展过程中的一部分,它们共同展现了公司在电子行业中的成长轨迹和取得的成就。未来,随着科技的不断进步和市场需求的不断变化,相信Advanced Electronic Packaging公司将继续保持创新精神,为电子行业的发展贡献更多力量。

千志电子(CCO)公司的发展小趣事

为了满足市场需求和扩大生产规模,千志电子不断加大投资力度。2014年,千志电子在湖北投资建设了千志电子科技(湖北)有限公司项目,总投资额达到5000万元人民币。该项目占地面积50亩,主要生产电阻等电子产品。预计项目建成后可实现年产值4000万元,年创利税350万元,安置劳动力120人左右。这一项目的投资建设不仅使千志电子的生产规模得到了进一步扩大,还为其未来的发展奠定了坚实基础。

Hifn Inc公司的发展小趣事

千志电子于1986年由董事长陈初志先生在台湾创立,起初专注于生产各类型插件式电阻。随着业务的不断发展,公司意识到拓展更广阔市场的重要性。1996年,千志电子进军中国市场,在深圳设立了千志电子(深圳)有限公司,这一举措标志着公司开始走向国际化。深圳作为中国改革开放的前沿阵地,为千志电子提供了丰富的资源和广阔的市场空间,为其后续的发展奠定了坚实基础。

Advantech公司的发展小趣事

千志电子一直注重技术研发和创新,不断推动产业升级。公司拥有一支专业的研发团队和先进的研发设备,致力于电阻技术的研发和创新。通过与高校和科研机构的合作,千志电子不断引进新技术、新工艺和新材料,提高产品的技术含量和附加值。同时,千志电子还注重知识产权的保护和管理,积极申请专利和注册商标,维护了自身的合法权益。

问答坊 | AI 解惑

急救!!5.0到6.0移值时,串口驱动问题

将5.0BSP移值到6.0 上时,运行到串口驱动时,就运行不下去了, DNW提示信息: WARNING: CReg2440Uart::CReg2440Uart failed to obtain processor frequency - using default value (66750000). DEBUG: Serial2 SYSINTR : -766318612 WARNING: C ...…

查看全部问答>

求 插值算法

小弟最近写一个程序,由传感器测量后由单片机进行AD转换,然后在lcd上显示出来,可是测出的东西如果不是连续的那么用什么算法能把显示的曲线图形变成连续的?比如测温度、电流、电压,是不是要用不同的插值算法?哪位能指点一下啊?谢谢。…

查看全部问答>

请教如何获取monthcalendar(日历控件)被选中的日期信息,急急急急急急急!

如题,小弟在做一个日程管理的小应用程序, 请问如何获取在日历控件上选定的日期信息, 比如选定某日, 在程序中要提取该日的日期和星期几的信息。 谢谢各位,很急,请大家帮帮忙。…

查看全部问答>

那个用单片机编写《小草》程序的人在吗

可不可以吧《小草》的单片机程序发给我啊? 234901369@qq.com…

查看全部问答>

今天晚上在家没事,给老冰箱做了个LED照明灯

    去年夏天,家里用了20多年的老冰箱(老人家买的,买了新冰箱后不够用,所以一直用着)坏了照明灯泡,用起来很不方便。当时把灯泡拿到电子市场去配,竟然找不到这种灯头的,只有作罢。     今天晚上在家没事,就 ...…

查看全部问答>

JLINK设置出问题了。怎么办

之前能仿真的。能下载程序的。  后来设置了一下               就只有不行了  一直是  AXD Uable to halt ARM core  我也不知道哪里出了问题。.         ...…

查看全部问答>

求大家帮助啊,最近学msp430单片机

#include #include void main(void) {   WDTCTL=WDT_MDLY_32;   IE1|=WDTIE;   P1DIR|=BIT6;   while(1); } #pragma vector=WDT_VECTOR __interrupt void watchdor(void) {   P1O ...…

查看全部问答>

求帮忙~~~~

经放大整形后传感器输入的电压如果是大于2V的脉冲信号,则数码管显示加1,否则没反应,我用的单片机是STC89C52,单片机工作电压5V,我的问题有两个:   一:传感器输入的脉冲信号能与I0口直接相连吗? 二:我这个需要用到单片机的哪些知识,因为 ...…

查看全部问答>

四层板PCB学习@PCB设计

我也来加入四层板的学习,在上班抽空时间总算布局完了,大概布了下,还不是很整齐,在这里得感谢@okhxyyo 的耐心帮忙和指导~ 希望能大家一起共同进步和学习…

查看全部问答>