你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Linux下如何搭建stm32开发环境

[复制链接]
风子 发布时间:2016-6-23 21:02
本帖最后由 风子 于 2017-9-14 09:16 编辑
2 x  }/ C! I) |  `9 ]0 Y+ K0 L& A2 i$ h+ y% h( J+ d

Linux环境下STM32开发工具TrueSTUDIO初体验


$ O+ H2 P! u, u( ?& T" o; \4 ?# T     《STM32+WIFI+Linux+安卓智能控制开发板应用手册》PDF
; `; X( X& b5 U# P; e6 v6 j4 O
! n6 a/ l% X3 P, s4 o) t" c: y. ~' B      Linux+Eclipse开发STM32老外录制的视频教程
. P( i) a0 w: g1 [3 b; [4 G" ]" _+ m4 R
Linux对于开发者来说真的是一个非常好的系统,为开发者来说应该不陌生,通常我们在Windows下开发stm32很方便,有非常多的工具,IDE等支持,同样是操作系统,Linux开发STM32也一点不会差。
0 R. Q9 j3 K3 H7 c6 dLinux下开发stm32也有很多方法:
" I+ V  e) ^; T- Q1.使用makefile3 J) O/ [7 Y% H1 d
2.使用eclipse6 u8 C" [5 Y2 J' G6 m& `: D
3.使用stm32cubemx+sw4stm32
2 \! l/ O. }! C9 y- r  a4....
1 M0 z+ t, k, Q3 }2 |& |     有大神使用第一种,本人对makefile一知半解,拿不出手。第二种,windows下可以使用eclipse开发,eclipse有linux版本,所以应该也是可以的,不过本人并没有试过。这里要说的就是第三种,当然除了这些,像Mbed之类的在线开发工具,只要有网,无论什么平台都能开发的就不说了。7 O3 M* o' k, ?( R1 S/ v+ g# J
      stm32cubemx相信大家都已经很熟悉了,st推出的基于hal库的图形化配置和代码生成工具,不记得从哪个版本开始,这个工具添加了对linux的支持,st大力发展linux用户的野心昭然可见。除此之外,st还和ac6合作推出了stm32 ode,即sw4stm32,一款免费的可开发stm32的集成开发工具。sw4stm32是基于eclipse开发的,打开后的界面和eclipse基本完全一样,也同时支持windows和linux两种版本,这也说明了第二种方法是可行的。下面真正开始开发环境搭建工作:) x5 r# a8 K9 l

3 a7 [$ I8 z; S6 u! `/ Z                        
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

7 q* Q7 c4 c+ l  I, i' Y, p$ j
这两个软件都需要java运行时环境(JRE),所以需要先安装好JRE,这里就不讲了,百度一下都有。
image1.png
  n4 [! W8 M" E) ~
2.安装

2 s9 O$ T: z6 }  x* x; @) }
    其实这两个软件安装方式做得很类似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
(如果出错,查看文件是否有执行权限,加上权限后再执行)
效果如图:
image2.png
% K* T, W) d  ]: f! S' m. v
此时就会跳出图形安装界面,
image3.png
    这个界面都很熟悉了吧,和windows下一样,按照提示一步一步安装就可以了,甚至可以一路next到底就行。如果双击安装,会直接来到这一步,后面的步骤省略!

! Z5 B; ~1 {* R2 M3 W) r
9 i$ w2 H& `9 Z; i  R' Y6 ]9 O image4.png 4 ?" d: q! h7 c/ U$ p: c+ Q
                        
    到这里,安装就完成了,再安装文件夹下找到STM32CubeMX文件双击,或者通过命令行启动该文件,就可以打开STM32CubeMX软件,见到我们熟悉的界面,使用方法和windows下一模一样,
image5.png
/ ]4 g; p) F' Q  q6 G

& z0 o2 M. n/ x6 d9 F$ F; e7 @

' P5 v# p; z1 x0 v9 |3 o9 y
    安装好相应的库之后就可以建立工程了,不过我们还没有开发环境,所以现在先安装开发环境:SW4STM32软件:
执行命令
chmod+x install_sw4stm32_linux_64bits-v1.8.run

- J0 b8 Z9 z* h, l
给install_sw4stm32_linux_64bits-v1.8.run添加执行权限,可能需要超级权限,切换到root用户或者命令前加sudo执行,然后该文件就有了执行权限(前面多了x,颜色变了)
4 }' X6 p# `# X! o* \+ y; S6 }
image6.png
2 q, v- {9 p: V& z5 v
: k' I- Y2 i0 z. k9 a# @" O) R# L
然后执行文件
./install_sw4stm32_linux_64bits-v1.8.run
% J* D9 b& m1 @
    开始安装,然后一路next,可以选择自定义安装路径,期间有可能需要输入root用户密码,安装过程和windows基本一样 image7.png

/ E& ]1 U! ^, G& A* ], y9 {5 s% E
image8.png
image9.png
image10.png
- u2 w1 {5 I* B3 Q1 c
    出现这个界面的时候,恭喜,安装完成了!!!
image11.png

* U- C* X" @: M) y$ n
image13.png
    这个界面和eclipse完全一样的,喜欢eclipse的会比较习惯这个,不过更方便的是直接安装eclipse下的插件。

& @9 H7 S- Y5 p# S* X" S9 R
& G- H) w  _5 @+ w+ L1 v" b
    现在STM32CUBEMX和SW4STM32都安装好了,接下来建一个工程测试一下,手边刚好有一块Nucleo-F429ZI的开发板,就用这块板来测试,用Cube新建工程应该都熟悉了,这里就不详细描述了
image14.png
1 Y4 j; U2 ^: Q4 `/ {
image15.png
image16.png
7 |& h( Y5 M* v% }2 R" N+ U
一般习惯不勾选Generate Under Root,这样文件结构更合理

6 B/ P: N6 p# ^
image17.png

+ H, x6 N# w' y' E1 x6 [' \' i
生成工程后有这么些文件,然后用sw4stm32打开:
5 N" d! f- ?0 P, h
选择File->Import->General->Exist  Project intoWorkspace
image18.png

( B3 }4 b- o3 V. S, t8 W
选择刚刚生成的工程的文件夹,Finish
image19.png

, x+ D$ q1 F: `  v" J, Y
编译一下工程,没有错误,没有警告,然后添加几行测试代码:
image20.png
; U9 `" M6 V+ }7 H6 O; ~. s
    然后编译,运行,就可以看到板子上LD2蓝色LED以1 Hz的频率闪烁,电脑上打开串口助手,就能接收到板子发送过来的测试信息,如下图所示
image21.png

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

0 @2 F6 X  ]- `- p* W7 e
赞 收藏 5 评论26 发布时间:2016-6-23 21:02

举报

26个回答
风子 回答时间:2016-11-25 09:07:21
原子哥门徒 发表于 2016-11-25 01:46
: I9 l' G! L! w$ V# r. H  e估计cubemx不支持64位的ubuntu 我怎么都是显示这个

& R% w# q/ D# X/ x) v  n. U& k; R执行文件错了,.exe是Windows下面的安装文件,linux下是执行.linux后缀的那个文件,你可以仔细看看我帖子里面写的
风子 回答时间:2016-6-23 21:21:24
lcdi 发表于 2016-6-23 21:10
# o/ C' j( _9 [5 {  u. C* \" P! M2 Y支持!这样似乎可以用树莓派来做开发了~

2 Z% b  d1 m( q4 z树莓派没试过,不过linux其实一直都是可以的,只不过搭建环境太麻烦,这个相当于环境搭建好了,做成了IDE,方便多了
原子哥门徒 回答时间:2016-11-25 00:50:48
cubeMX 在linux下装不上总是报这个错误
, z7 b2 U" U# L( b" \) O5 T3 {5 o) s
cubemx在linux下安装报错.jpg / ?, W+ N/ w0 |- C$ c" K# j( x* ?. o
找不到路径,图形界面无法弹出。ubuntu 16.04 jdk什么都已经安装好了,win7上没有问题,但是ubuntu上不行。
  `2 [1 D  F' i
lcdi 回答时间:2016-6-23 21:10:25
支持!这样似乎可以用树莓派来做开发了~
moyanming2013 回答时间:2016-6-23 21:10:32
学习了               
lcdi 回答时间:2016-6-23 21:10:44
本帖最后由 lcdi 于 2016-6-23 21:13 编辑
, M. _) Z/ z; D+ k) Y- j7 F" M; P1 Y% ?, |
更便携,更低功耗,更廉价的平台
pythonworld 回答时间:2016-6-23 21:49:20
不错,支持!!
Paderboy 回答时间:2016-6-23 22:46:20
超赞。。。。。全力支持。。。
suoma 回答时间:2016-6-23 23:37:20
谢谢分享学习一下
wolfgang 回答时间:2016-6-24 09:33:36
GOOD  赞一个
王浩然 回答时间:2016-6-26 08:36:07
zero99 回答时间:2016-6-28 10:36:17
jinyi7016 回答时间:2016-6-28 16:22:56
这些好多软件都是X86编译器编译的,还不能用在ARM的linux系统上吧。
田伯光 回答时间:2016-8-19 11:42:54
请问下,linux平台stm8开发环境怎么搭建?
风子 回答时间:2016-8-19 13:34:26
田伯光 发表于 2016-8-19 11:423 V; M0 U3 {4 f5 i9 w( K8 u) U9 r
请问下,linux平台stm8开发环境怎么搭建?
- U+ X& N# A/ g9 Y& Y. b8 q
没试过呢
田伯光 回答时间:2016-8-19 14:58:33
风子 发表于 2016-8-19 13:34
9 y* B. a" \4 Z  ^4 z3 u& O$ h没试过呢
3 L8 I! {) O/ j$ L3 C
请帮看看
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版