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

查看: 7423|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版