Linux环境下ARM开发工具TrueSTUDIO初体验
来源:互联网 发布:dvp 14ss2端口接线图 编辑:程序博客网 时间:2024/05/16 07:45
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。
http://blog.csdn.net/zoomdy/article/details/54728479
mingdu.zheng at gmail dot com
下载TrueSTUDIO for Linux
官方下载页面:https://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
解压下载到压缩包
$ 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关闭广告窗口,该窗口会通过网络获取显示内容,有时候会比较慢。关掉该窗口后才能操作主窗口的其它部分。
使用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
配置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"
连接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的支持。
- Linux环境下ARM开发工具TrueSTUDIO初体验
- centos7.2中搭建ARM开发环境所需工具初体验
- Linux 下开发环境工具
- LINUX下QT For ARM开发环境
- Linux下ARM开发环境搭建
- Linux下ARM开发搭建环境
- Linux下arm开发环境搭建
- linux下arm驱动开发环境配置
- Linux环境下arm嵌入式开发基础
- Linux 系统下ARM Linux交叉编译环境----crosstool工具
- ARM-linux开发工具
- Linux环境下的Java开发:体验Eclipse
- Linux环境下的Java开发:体验Eclipse
- linux下搭建基于Eclipse的arm的开发环境
- Linux下arm裸机开发环境搭建与实例
- linux 与arm下 log4cplus 安装配置,qtcreator 开发环境
- Linux下arm开发板学习环境配置
- Linux下arm裸机开发环境搭建与实例
- javascript 网页中实现一个计算当年还剩多少时间的倒数计时程序
- iTextSharp 使用详解(转)
- 三星回应 Note7爆炸事件,再次敲响安全警钟
- 用深度学习网络搭建一个聊天机器人(一)
- 初识Java虚拟机(7)类加载器
- Linux环境下ARM开发工具TrueSTUDIO初体验
- Laravel v5.4 已发布
- java企业网站源码,模版,有前后台,springmvcSSM,生成静态化
- Linux下缓冲区溢出攻击的原理及对策
- 30个可视化拖拽页面构建起WordPress插件下载
- C语言10个基础代码(三重for循环)
- python实现监控磁盘情况,并邮件报警
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
- HDU 2068 RPG的错排