标题:
Linux环境下ARM开发工具TrueSTUDIO初体验
[打印本页]
作者:
look_w
时间:
2017-10-24 17:07
标题:
Linux环境下ARM开发工具TrueSTUDIO初体验
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。
配置要求硬件配置要求
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
1
执行安装脚本
$ cd /opt/Atollic_TrueSTUDIO_for_ARM_7.0.1 && sudo ./install.sh
1
运行TrueSTUDIO$ cd /opt/Atollic_TrueSTUDIO_for_ARM_7.0.1/ide && ./TrueSTUDIO
1
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。
sudo apt install openocd
1
配置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创建该文件,重启系统让该文件生效。
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"
1
2
3
连接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
选择
OpenOCD
,
GDB 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的支持。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0