搜索
bottom↓
回复: 21

在Linux和OS X上运行STM32Cube

[复制链接]

出0入0汤圆

发表于 2015-3-14 12:42:12 | 显示全部楼层 |阅读模式
虽然论坛里面对STM32Cube褒贬不一,不过对于非windows系统来说,由于ide支持少,因此有一个代码生成工具还是很方便的,而STM32Cube恰恰能满足这个需求。本来用虚拟机的方式运行这个程序,但仔细一看,原来STM32Cube是用java写的,那么可以跨平台的可能性就很大,于是花了一点时间研究了一下,终于成功跑起来了。
STM32Cube的安装目录:
STM32CubeMX.exe
plugins
├── clock.jar
├── filemanager.jar
├── ip
│   ├── adc.jar
│   ├── can.jar
│   ├── dma.jar
....................
│   └── usart.jar
├── ipmanager.jar
├── pinoutconfig.jar
├── power.jar
├── projectmanager.jar
└── updater.jar
.....
可执行文件就是一个exe和一些jar,那么根据经验,这个exe是一个java程序加载器的可能性很大,但是它的文件大小却不小,有7M之多,相比之下eclipse的单纯的加载器还是不到1M的,猜测这个exe是jar+加载器的构造,于是用7zfm打开,果然可以作为压缩包打开,大致看了一下,有很多java类。
那下面的事情就有思路了,首先在windows的命令提示符里面试试:
  1. java -cp STM32CubeMX.exe;plugins\clock.jar;plugins\filemanager.jar;plugins\ipmanager.jar;plugins\pinoutconfig.jar;plugins\power.jar;plugins\projectmanager.jar;plugins\updater.jar;plugins\ip\adc.jar;plugins\ip\dma.jar;plugins\ip\fmc.jar;plugins\ip\genericplugin.jar;plugins\ip\i2c.jar;plugins\ip\ltdc.jar;plugins\ip\opamp.jar;plugins\ip\spi.jar;plugins\ip\tsc.jar;plugins\ip\can.jar;plugins\ip\fatfs.jar;plugins\ip\freertos.jar;plugins\ip\gpio.jar;plugins\ip\i2s.jar;plugins\ip\nvic.jar;plugins\ip\sai.jar;plugins\ip\tim.jar;plugins\ip\usart.jar com.st.microxplorer.maingui.IOConfigurator
复制代码

成功!STM32Cube弹出来了,打开个之前的工程试试,发现可以正确生成代码,于是跑到Debian Linux里面试:

相同的命令,一样可以用。又在苹果机里面试了一下,同样可用:


最后在.profile里面加上这个可以不必每次都输入很长的命令了:
  1. export STM32_CUBE_ROOT=$HOME/STM32Cube/STM32CubeMX
  2. alias stm32cube="java -cp $STM32_CUBE_ROOT/STM32CubeMX.exe:$STM32_CUBE_ROOT/plugins/clock.jar:$STM32_CUBE_ROOT/plugins/filemanager.jar:$STM32_CUBE_ROOT/plugins/ipmanager.jar:$STM32_CUBE_ROOT/plugins/pinoutconfig.jar:$STM32_CUBE_ROOT/plugins/power.jar:$STM32_CUBE_ROOT/plugins/projectmanager.jar:$STM32_CUBE_ROOT/plugins/updater.jar:$STM32_CUBE_ROOT/plugins/ip/adc.jar:$STM32_CUBE_ROOT/plugins/ip/dma.jar:$STM32_CUBE_ROOT/plugins/ip/fmc.jar:$STM32_CUBE_ROOT/plugins/ip/genericplugin.jar:$STM32_CUBE_ROOT/plugins/ip/i2c.jar:$STM32_CUBE_ROOT/plugins/ip/ltdc.jar:$STM32_CUBE_ROOT/plugins/ip/opamp.jar:$STM32_CUBE_ROOT/plugins/ip/spi.jar:$STM32_CUBE_ROOT/plugins/ip/tsc.jar:$STM32_CUBE_ROOT/plugins/ip/can.jar:$STM32_CUBE_ROOT/plugins/ip/fatfs.jar:$STM32_CUBE_ROOT/plugins/ip/freertos.jar:$STM32_CUBE_ROOT/plugins/ip/gpio.jar:$STM32_CUBE_ROOT/plugins/ip/i2s.jar:$STM32_CUBE_ROOT/plugins/ip/nvic.jar:$STM32_CUBE_ROOT/plugins/ip/sai.jar:$STM32_CUBE_ROOT/plugins/ip/tim.jar:$STM32_CUBE_ROOT/plugins/ip/usart.jar com.st.microxplorer.maingui.IOConfigurator"
复制代码


对于生成的代码,由于多数IDE都只支持windows,大家可以用eclipse+gcc或者干脆写makefile来编译。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2015-3-14 14:34:06 | 显示全部楼层
支持下,楼主看可不可以分别打个包,这样就有linux版和osx版了.

出0入0汤圆

发表于 2015-3-14 15:30:24 | 显示全部楼层
这个强大了,第一次真正意义上体会到了跨平台的强大之处!

出0入42汤圆

发表于 2015-3-14 15:57:30 | 显示全部楼层
很不错

出0入0汤圆

发表于 2015-3-14 16:03:57 | 显示全部楼层
支持下..mark

出0入0汤圆

 楼主| 发表于 2015-3-14 19:18:18 | 显示全部楼层
hyz_avr 发表于 2015-3-14 14:34
支持下,楼主看可不可以分别打个包,这样就有linux版和osx版了.

工具本身加上代码有几百兆呢,太大了上传不方便,大家可以按照我的步骤把windows版的弄到Linux里面。

出0入0汤圆

发表于 2015-3-14 19:24:16 | 显示全部楼层
太赞了,终于能在Mac上用了

出0入0汤圆

发表于 2015-3-14 19:27:22 | 显示全部楼层
虽然不懂,但是感觉楼主很牛逼。

出0入0汤圆

发表于 2015-3-14 20:21:07 来自手机 | 显示全部楼层
完整开发环境?

出0入0汤圆

 楼主| 发表于 2015-3-14 21:54:07 | 显示全部楼层

不是的,是一个图形化的生成代码工具,可以根据所选择的硬件配置生成初始化代码,最后生成ide工程文件。

出0入0汤圆

发表于 2015-3-14 23:50:16 | 显示全部楼层
dawanpi 发表于 2015-3-14 21:54
不是的,是一个图形化的生成代码工具,可以根据所选择的硬件配置生成初始化代码,最后生成ide工程文件。 ...

我是说直接编译成可执行文件.

出15入9汤圆

发表于 2015-3-15 01:03:24 | 显示全部楼层
没用,st-link的支持呢?

出0入0汤圆

 楼主| 发表于 2015-3-15 13:00:58 | 显示全部楼层
pcwhy 发表于 2015-3-15 01:03
没用,st-link的支持呢?

https://github.com/texane/stlink

出0入0汤圆

 楼主| 发表于 2015-3-15 13:02:54 | 显示全部楼层
hyz_avr 发表于 2015-3-14 23:50
我是说直接编译成可执行文件.

不能编译的,需要用ide打开生成好的工程或者手写makefile。

出0入0汤圆

发表于 2015-3-15 14:08:33 | 显示全部楼层
dawanpi 发表于 2015-3-15 13:02
不能编译的,需要用ide打开生成好的工程或者手写makefile。

要运行这个软件必须先安装IDE?只能在IDE里面运行?

出0入0汤圆

发表于 2015-3-15 16:48:24 | 显示全部楼层
感觉好先进的说,黑苹果也可以用上 stm32cube了

出0入0汤圆

 楼主| 发表于 2015-3-15 17:14:57 | 显示全部楼层
hyz_avr 发表于 2015-3-15 14:08
要运行这个软件必须先安装IDE?只能在IDE里面运行?

运行完之后安装ide也可以的。

出0入0汤圆

发表于 2015-3-15 20:13:08 来自手机 | 显示全部楼层
用cubemx生成TrueStudio工程,然后用我的工具转Makefile https://github.com/baoshi/CubeMX2Makefile

出0入0汤圆

发表于 2015-3-16 14:30:00 | 显示全部楼层
java 不是write once debug anywhere么

出0入0汤圆

发表于 2015-4-30 17:39:10 | 显示全部楼层
虽然没看懂,但是感觉很厉害啊

出0入0汤圆

发表于 2015-5-1 12:38:52 来自手机 | 显示全部楼层
赞赞         
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 09:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表