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

查看: 7419|回复: 2

[其他] Linux环境下STM32开发工具TrueSTUDIO初体验

[复制链接]

14

主题

293

回帖

17

蝴蝶豆

金牌会员

最后登录
2019-5-9
发表于 2017-1-25 15:50:16 | 显示全部楼层 |阅读模式
本帖最后由 zoomdy 于 2017-1-25 20:52 编辑

Linux环境下STM32开发工具TrueSTUDIO初体验
TrueSTUDIO是Atollic公司出品的ARM开发工具,是STM32CubeMX支持的四种开发环境之一,号称“The best FREE C/C++ IDE for ARM® development”,从7.0版本开始推出了Linux版,后续还会推出Mac OS X版。截止今日(2017年1月25日)TrueSTUDIO for Linux 最新版本仍然是Alpha1。

http://blog.csdn.net/zoomdy/article/details/54728479
mingdu.zheng at gmail dot com

下载TrueSTUDIO for Linux
官方下载页面:http://atollic.com/resources/download/linux/ ,截止今日(2017年1月25日)还处于Beta状态,因此要点击 Join Beta Program 填写表单,然后下载链接会发送到表单中填写的邮箱中。也可以试试这个链接,不保证有效,http://info.atollic.com/atollic-beta-program-download

配置要求硬件配置要求
  • 2GB内存,推荐4GB
  • 4G硬盘空间
支持的Linux发行版
  • Ubuntu 16.04 LTS 64-bit,包括其它Ubuntu分支,如Xubuntu
  • Fedora 24 64-bit
  • 理论上也支持其它发行版,但最好使用推荐的发行版
我选用的是Xubuntu 16.04 64位版本,因为我使用VirtualBox虚拟机运行,因此选择比较省资源的Xubuntu。

安装TrueSTUDIO
解压下载到压缩包
  1. $ sudo tar -C /opt -xvf ~/Downloads/Atollic_TrueSTUDIO_for_ARM_linux_x86_64_v7.0.1_20161219-1526-alpha1.tar.gz
复制代码
执行安装脚本
  1. $ cd /opt/Atollic_TrueSTUDIO_for_ARM_7.0.1 && sudo ./install.sh
复制代码

运行TrueSTUDIO
  1. $ cd /opt/Atollic_TrueSTUDIO_for_ARM_7.0.1/ide && ./TrueSTUDIO
复制代码
TrueSTUDIO免费试用版启动后会展示升级到TrueSTUDIO Pro的广告,点击Close Window关闭广告窗口,该窗口会通过网络获取显示内容,有时候会比较慢。关掉该窗口后才能操作主窗口的其它部分。


使用STM32CubeMX生成TrueSTUDIO工程
打开STM32CubeMX,点击 New Project ,点击 Board Selector 选项卡, 选择 NUCLEO-F042K6 开发板,点击 OK 创建工程。


通过菜单 Project>>Settings… 打开 Project Settings 对话框,填入 Project Name 工程名称,选择 Project Location 选择工程保存目录,Toolchain/IDE 选择 TrueSTUDIO ,点击 OK 完成工程设置 。


通过菜单 Project>>Generate Code 生成代码和工程文件。


完成后会弹出对话框,询问要不要打开工程,目前这个版本(7.0.1alpha1)点击 Open Project 会用浏览器打开TrueSTUDIO的工程文件,而不是用TrueSTUDIO打开,所以这里点击 Close 关闭对话框即可,后面用TrueSTUDIO的导入功能导入工程即可。


TrueSTUDIO导入工程
回到TrueSTUDIO,选择菜单 File>>Import… ,打开 Import 对话框,选择 General 分类下的 Existing Project into Workspace ,点击 Next


Select root directory
选择STM32CubeMX导出工程的目录,点击 Finish 完成工程导入。


关掉TrueSTUDIO的Infomation Center子窗口,就可以看到刚导入的工程了。打开Src/main.c文件后的TrueSTUDIO如下图所示。


TrueSTUDIO编译工程
由于使用STM32CubeMX生成的工程文件,因此编译参数都已经正确配置,所以选择菜单 Project>>Build Project 立即开始编译工程。


编译的过程会通过Console视图输出编译器的输出,可以看到调用的编译器、编译参数等。从编译输出可以看到TrueSTUDIO使用的编译器是arm-atollic-eabi-gcc,Atollic自己编译的GCC,随TrueSTUDIO一起安装,在TrueSTUDIO安装目录的ARMTools子目录下。


TrueSTUDIO调试工程
STM32CubeMX生成的工程已经添加了一个默认调试配置,使用ST-Link作为仿真器,但是TrueSTUDIO当前版本(7.0.1alpha1)并不支持ST-Link,还好TrueSTUDIO支持OpenOCD,可以选用OpenOCD作为ST-Link的GDB Server。
安装OpenOCD首先需要安装OpenOCD,Ubuntu下使用下面的命令安装OpenOCD。
  1. sudo apt install openocd
复制代码

配置TrueSTUDIO中的OpenOCD路径
选择TrueSTUDIO菜单 Window>>Preferences 打开首选项对话框,选择 Run/Debug>>Embedded C/C++ Application>>Debug Hardware>>OpenOCD ,在 Server  输入框内输入 /usr/bin/openocd ,在 Working directory 内输入当前用户的home路径。点击 OK 完成配置。


解决LIBUSB_ERROR_ACCESS问题

默认情况下,普通用户不能直接访问USB设备,为了让普通用户可以访问USB设备(ST-Link),需要创建文件/etc/udev/rules.d/98-stlink.rules,文件内容如下,注意得用sudo创建该文件,重启系统让该文件生效。
  1. SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="374b", MODE="666"
  2. SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", MODE="666"
  3. SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="3744", MODE="666"
复制代码

连接NUCLEO-F042K6
使用数据线将NUCLEO-F042K6连接到电脑。如果和我一样将开发环境建在VirtualBox虚拟机中,那么还需要将USB设备映射到虚拟机内,选择VirtualBox虚拟机菜单 设备>>分配USB设备>>STMicroelectronics STM32 STLink[0100] 将STLink映射到虚拟机内。

修改TrueSTUDIO调试配置
选择TrueSTUDIO菜单 Run>>Debug configurations… ,打开调试配置对话框,可以看到 Embedded C/C++ Application>>test.elf 调试配置,这是STM32CubeMX自动生成的,切换到 Debugger 选项卡,Debug probe 选择 OpenOCDGDB server arguments: 输入框内输入 -f board/st_nucleo_f0.cfg 。配置完成后,点击 Debug 就可以开始调试了。


OpenOCD输出到 Console 视图的信息,看到这些,说明环境配置成功了。


调试TrueSTUDIO工程

调试连接创建后,点击调试工具栏的按钮开始调试,调试工具栏见下图。按钮从左到右分别是:复位目标机(Restart)、连续执行(Resume)、暂停(Suspend)、停止调试(Terminate)、停止当前会话重新开启一个新会话(Terminate and relaunch)、进入单步(Step Into)、单步(Step Over)、返回当前函数(Step Return)、汇编单步(Instruction Stepping Mode)。和其它IDE差不多,就不多说了。


SFRs视图
SFRs视图提供了外设寄存器的查看和修改,包括核心外设和MCU外设,这对调试外设驱动是非常有帮助的。


总结
除了不支持ST-Link外,Linux版的TrueSTUDIO总体上与Windows版没有太大差异。还好TrueSTUDIO支持OpenOCD,弥补了不支持ST-Link的缺陷,如果没法调试那这个开发工具就显得很鸡肋了。后续的版本或许会完善ST-Link的支持。

评分

参与人数 1ST金币 +20 收起 理由
zero99 + 20

查看全部评分

回复

使用道具 举报

0

主题

52

回帖

0

蝴蝶豆

初级会员

最后登录
2020-6-28
发表于 2020-5-29 10:34:52 | 显示全部楼层
赞一个!
回复 支持 反对

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
2020-6-4
发表于 2020-6-1 16:11:04 | 显示全部楼层
看看
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版