在我们了解libopencm3的使用后,发现libopencm3只适用于小型工程,其最大的特色只是在USB方面的使用方便,那么在我们配置大型工程的时候有没有一种更快捷的方式呢,显然是有的。它就是CubeMX,ST官方出的神器,可以使得我们像配置FPGA一样配置STM32的功能。CubeMX早期是运行在windows下的,但由于是Java写成的它也可以同样的运行在Linux环境中。
安装JAVA环境
在Ubuntu中可以使用的java环境有很多我们这里使用软件中心的默认安装。
$ sudo apt-get install default-jre
安装完毕后可使用指令查看java版本验证安装成功
$ java -version
安装CubeMX
首先我们在st的官网下载cubemx的安装包
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
解压并 cd 进入解压后的文件

使用指令运行 .Linux 执行文件
$ ./SetupSTM32CubeMX-..linux
随后根据软件提示安装完成即可。
在完成安装后我们为了使得CubeMX可以显示图标,我们将安装包路径
下的图标文件复制到软件安装的位置。
SetupSTM32CubeMX-.app/Contents
随后我们使用管理员权限在Ubuntu中添加应用的快捷方式:
$ sudo gedit /usr/share/applications/STM32CubeMX
在文件夹中写下
[Desktop Entry]
Version=.
Name=STM32CubeMX
Exec=/home/yangliu/Application/STM32CubeMX/STM32CubeMX
Terminal=false
Icon=/home/yangliu/Application/STM32CubeMX/stm32cubemx.icns
Type=Application
Categories=Development
此处注意 Exec、Icon后面的路径要根据自己软件安装的位置改变。在编辑完成后,我们就可以在Ubuntu的菜单中找到STM32CubeMX了,我们就可以将它拖到快速启动栏上了。
使用CubeMX生成工程
对于怎样使用CubeMX生成我们板卡的工程在Ubuntu下是和windows下一样的,我们就不做讲解了,唯一不同的是,我们在最后设置工程输出的IDE/Toolchain设置中要选择SW4STM32。
最后再配置好我们的makefile,就可以愉快的开始啦~。
我已经将一个使用cube生成的用于STM32F429DISCO的工程托管到GitHub,大家可以自己下载进行参考。工程中附含了一个标准的makefile文件,附带有详细的注释和清晰地结构,大家可以根据自己的需要去修改。
修正
-
2017/10/14
最近的使用过程中发现CubeMX能直接生成带Makefile和链接文件的工程了,只要稍微改一下编译器路径和文件路径就能编译通过并正确运行了。