首页 > 系统相关 >Linux环境下ARM开发工具TrueSTUDIO初体验

Linux环境下ARM开发工具TrueSTUDIO初体验

时间:2022-11-20 23:32:38浏览次数:79  
标签:TrueSTUDIO OpenOCD 初体验 工程 Project 点击 Linux 调试


Linux环境下ARM开发工具TrueSTUDIO初体验

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

下载TrueSTUDIO for Linux

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

Linux环境下ARM开发工具TrueSTUDIO初体验_linux

配置要求

硬件配置要求

  • 2GB内存,推荐4GB
  • 4G硬盘空间

支持的Linux发行版

  • Ubuntu 16.04 LTS 64-bit,包括其它Ubuntu分支,如Xubuntu
  • Fedora 24 64-bit
  • 理论上也支持其它发行版,但最好使用推荐的发行版

我选用的是Xubuntu 16.04 64位版本,因为我使用VirtualBox虚拟机运行,因此选择比较省资源的Xubuntu。

安装TrueSTUDIO

解压下载到压缩包

$ sudo tar -C /opt -xvf ~/Downloads/Atollic_TrueSTUDIO_for_ARM_linux_x86_64_v7.0.1_20161219-1526-alpha1.tar.gz

执行安装脚本

$ cd /opt/Atollic_TrueSTUDIO_for_ARM_7.0.1 && sudo ./install.sh

运行TrueSTUDIO

$ cd /opt/Atollic_TrueSTUDIO_for_ARM_7.0.1/ide && ./TrueSTUDIO

TrueSTUDIO免费试用版启动后会展示升级到TrueSTUDIO Pro的广告,点击Close Window关闭广告窗口,该窗口会通过网络获取显示内容,有时候会比较慢。关掉该窗口后才能操作主窗口的其它部分。

Linux环境下ARM开发工具TrueSTUDIO初体验_stm32_02

使用STM32CubeMX生成TrueSTUDIO工程

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

Linux环境下ARM开发工具TrueSTUDIO初体验_linux_03


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

Linux环境下ARM开发工具TrueSTUDIO初体验_linux_04


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

Linux环境下ARM开发工具TrueSTUDIO初体验_arm_05


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

Linux环境下ARM开发工具TrueSTUDIO初体验_linux_06

TrueSTUDIO导入工程

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

Linux环境下ARM开发工具TrueSTUDIO初体验_linux_07


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

Linux环境下ARM开发工具TrueSTUDIO初体验_开发工具_08


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

Linux环境下ARM开发工具TrueSTUDIO初体验_stm32_09

TrueSTUDIO编译工程

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

Linux环境下ARM开发工具TrueSTUDIO初体验_开发工具_10


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

Linux环境下ARM开发工具TrueSTUDIO初体验_stm32_11

TrueSTUDIO调试工程

STM32CubeMX生成的工程已经添加了一个默认调试配置,使用ST-Link作为仿真器,但是TrueSTUDIO当前版本(7.0.1alpha1)并不支持ST-Link,还好TrueSTUDIO支持OpenOCD,可以选用OpenOCD作为ST-Link的GDB Server。

安装OpenOCD

首先需要安装OpenOCD,Ubuntu下使用下面的命令安装OpenOCD。

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 完成配置。

Linux环境下ARM开发工具TrueSTUDIO初体验_arm_12

解决LIBUSB_ERROR_ACCESS问题

默认情况下,普通用户不能直接访问USB设备,为了让普通用户可以访问USB设备(ST-Link),需要创建文件/etc/udev/rules.d/98-stlink.rules,文件内容如下,注意得用sudo创建该文件,重启系统让该文件生效。

SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="374b", MODE="666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", MODE="666"
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 就可以开始调试了。

Linux环境下ARM开发工具TrueSTUDIO初体验_stm32_13


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

Linux环境下ARM开发工具TrueSTUDIO初体验_linux_14

调试TrueSTUDIO工程

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

Linux环境下ARM开发工具TrueSTUDIO初体验_stm32_15

SFRs视图

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

Linux环境下ARM开发工具TrueSTUDIO初体验_开发工具_16

总结

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


标签:TrueSTUDIO,OpenOCD,初体验,工程,Project,点击,Linux,调试
From: https://blog.51cto.com/zoomdy/5872192

相关文章

  • 使用脚本创建Linux无文件木马
    实验环境:攻击主机:kali2022.3IP192.168.1.53开启apache2目标主机:centos7.6ip192.168.1.63    前提条件1.已经获取到目标主机root权限2.已经建立一个WEB网站......
  • Linux 命令行批处理图片,批量去除截图的无用部分
    我希望产生一批相同区域但不同内容的截图,如果用截图工具截取矩形区域,那么每次截取的位置和大小都没法控制,不能做到区域一样。如果希望每次的截图都一样,那么就只能是保持窗口......
  • LINUX命令截图
                 ......
  • Linux切换账户(或ssh远程)执行QT程序无法输入中文
    系统:银河麒麟前提条件:已经安装了fcitx插件,因为QTcreator本身不支持中文输入,需要插件支持;场景1:一台计算机;使用普通用户(例如:user01)登录并打包一个可以执......
  • LINUX命令
      ls-a列出当前目录下的所有文件,包括以.头的隐含文件(如~/.bashrc)ls–l列出当前目录下文件的详细信息2.pwd查看当前所在目录的绝对路经3.cd目录之间的移......
  • 简单linux-sudo密码劫持脚本
    简单linux-sudo密码劫持脚本#!/bin/bashswhoami=`whoami`if[[!-f"/tmp/..."]];then swhoami=`whoami` read-s-p"[sudo]passwordfor$swhoami:"passwd ......
  • Linux 使用 iptables 禁止某些 IP 访问
    在Linux服务器被攻击的时候,有的时候会有几个主力IP。如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了。在Linux下封停IP,有封杀网段和封......
  • linux vim 复制粘贴代码
    将光标移动到复制的起始位置,按一下大写V或小写v,(大写V是整行,小写是光标处),然后上下左右将光标移动到复制的末尾,然后按下y,移动到要粘贴的位置,按下大写P或小写p(大写P:光标之前......
  • SecureCRT远程连接linux
    现在我们使用远程工具进行登录,SecureCRT显示......
  • Zabbix监控Linux主机
    1、监控Linux主机1.1、在需要被监控的Linux服务器上安装zabbix-agent以及配置zabbix服务我在ubuntu20.04的版本apt安装zabbix5.0LTS这篇文章中实现了,这里我就基于上篇文章......