Ubuntu下使用STM32CubeMX和SW4STM32进行开发

选择STM32CubeMX和SW4STM32的原因:因为都支持Linux啊,这就够了!

STM32CubeMX:可快速生成Project,用户可以直接使用图形化工具对外设进行配置,而它会自动生成相应初始化代码。

SW4STM32:基于eclipse的IDE,用惯了java,感觉其实eclipse还是蛮好用的,就是运行起来慢了点!

 

1 软件安装

1.1 安装Java运行环境

由于STM32CubeMX和SW4STM32都是Java写的,所以需要安装JRE才能运行。

直接用apt安装:

$ sudo apt install openjdk-8-jre

1.2 安装STM32CubeMX

由于STM32CubeMX官网下载需要先注册,而我又不想注册,毕竟想到当年公司刚开始用STM32时,同事在评估各个开发工具时,在某工具官网填写相关信息下载试用后,就收到了这公司的推销电话,而我早就不做这行了,也不想接这类电话,所以还是多一事不如少一事!

我是参考了STM32CubeMX介绍、下载与安装这篇博客,在博主提供的百度网盘下载的。

下载解压后直接双击SetupSTM32CubeMX-4.22.0.linux进行安装。

刚开始双击后毫无反应,于是又在终端里试了下,提示如下错误:

$ ./SetupSTM32CubeMX-4.22.0.linux
bash: ./SetupSTM32CubeMX-4.22.0.linux: No such file or directory

网上搜了下,这是因为64位系统运行32位程序但又缺少32位库引起的,那么就先安装libc6-i386

$ sudo apt install libc6-i386

再运行就OK了。

230659_jyRR_1041082.png

安装过程比较简单,就略过了。

安装完成后是不能直接使用的,我们还需要为其安装相关库文件。

231613_gs7c_1041082.png

这个库是用于配置和管理STM32的,无论你用的哪款STM32芯片都要安装。

232418_1yFd_1041082.png

接下来是和芯片相关的库,不同系列的芯片安装的库也不一样,以STM32F103C8T6为例,就需要安装STM32CubeF1 Releases的库。

232400_4BYt_1041082.png

完成后重启STM32CubeMX就可以了。

1.3 安装SW4STM32

下载地址

图形界面安装需要先安装gksu

$ sudo apt install gksu

我双击文件无反应,只好在终端执行

$ ./install_sw4stm32_linux_64bits-v2.1.run

233822_4LQY_1041082.png

安装完成后,初次建project时会提示使用标准库还是HAL库,我们使用HAL库。

 

2 开始使用

我用的是STM32F103C8T6,因此也以此芯片为例。

2.1 使用STM32CubeMX生成一个Project

点击File -> Now Project,进入如下界面,搜索对应芯片型号并创建project。

然后就来到了如下界面:

按下图进行配置

RCC:外部晶振

SYS:配置调试引脚

USART1:用于输出log进行 调试

LED:板子上的LED灯,单击管脚 -> GPIO_Output,再右击管脚编辑label

再切换到Clock Configuration页面,设置时钟为72M

再来看Configuration页面,这里面可对我们使能了的模块进行配置,如USART波特率等,我们都保持默认值。

172903_IKYh_1041082.png

最后一页是功耗计算,暂时不管它。

接下来就是生成代码了,先进行一些设置: Project -> Settings

002926_3bQY_1041082.png

173113_45Po_1041082.png

然后生成code:Project -> Generate Code

2.2 SW4STM32使用

SW4STM32的使用没啥好说的,用过eclipse的都会用,主要是记录一下使用ST-LINK V2烧写程序时遇到的问题。

写好代码后,直接Run,本以为会神奇地跑起来,但eclipse却向我弹出一个窗口,并报了一堆错误。

173556_4RA8_1041082.png

感觉像是权限问题,然后就试了试用sudo运行SW4STM32,抱着慢慢希望点了下Run,结果还是出错。

173828_AxEl_1041082.png

从错误提示可发现是因为不能给板子复位,然后就按网上说的把ST-LINK的RESET和板子的RESET连接起来,不过还是不行!

网上也有说可以修改cfg文件中的reset_config来解决,但我修改后再build时却又被恢复成默认值了。

就在我快要放弃的时候,突然脑子一抽,试了试在点击Run后,手动复位,居然烧写成功了,谢天谢地,菩萨保佑,哈哈!

174022_eh1N_1041082.png

总结一下,还是以sudo运行SW4STM32,然后点击Run -> Run,当然,点击工具栏图标也可以,约1秒后对板子进行手动复位(这个间隔时间要多练几次才好掌握),烧写成功!

虽然烧写成功后还是不能复位,不过没关系,我们手动给它复位一下就行了。

 

最后,又在Ubuntu左侧启动栏中添加了个以sudo启动SW4STM32的快捷方式。

参考:Ubuntu添加自定义快捷方式

 

转载于:https://my.oschina.net/igiantpanda/blog/1618140

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值