ubuntu系统中搭建Arduino for STM32开发环境

一、主机环境

主机:Ubuntu 14.04.5 64bit

集成开发工具:Arduino IDE 1.8.8

MCU 型号:STM32F103C8T6

二、概述

最近因为项目上有一些bug需要复现和测试,想用个自动测试的工具,看到公司有几个STM32的最小系统板,想着就用这个来进行测试,无奈自己的电脑是ubuntu系统,不能用keil(其实是可以用wine来安装的,个人不太喜欢这种的方式来使用windows软件,而且wine安装的软件并不是所有软件都能正常使用;主要是电脑配置不高,有点卡,嘿嘿)。想着用最简单快捷的方式去做完这个,并且代码改动最容易,于是乎就想到了Arduino,之前听说可以在STM32上面跑,一直没试过,看了看网上的教程很多都是windows上的,其实Arduino IDE是有linux版本的,于是乎就有了这篇文章的诞生,下面进入正题。

个人觉得在项目中可以做的一些不错应用,用于辅助调试,当然不仅限于以下:

  1. 上电掉电测试,捕获系统控制台的关键log来控制,调查一些重启和死机的问题。
  2. UART 、I2C、SPI通讯的一些峰值和容量测试

三、环境搭建步骤和方法

(1)去官方下载linux版本的Arduino IDE,下载地址:https://www.arduino.cc/en/Main/Software?setlang=cn , 如下图所示,选择对应的版本即可。

ubuntu系统中搭建Arduino for STM32开发环境_第1张图片

(2)下载完成后解压arduino-1.8.8-linux64.tar.xz, 直接运行目录中的install.sh,命令如下:

$ sudo ./install.sh

(3)安装完成之后打开Arduino IDE,IDE 是不带 32bit ARM编译器的,需要安装,安装方式: 点击菜单 Tools -> Board -> Board Manager ,然后在打开的界面搜索框输入 SAMD ,选择Arduino SAMD Boards(32 Bit ARM Cortex-M0) 这个板子, 点击 “install” ,等待安装完成即可。

ubuntu系统中搭建Arduino for STM32开发环境_第2张图片

(4)然后下载 Arduino_STM32的库,国外大牛写的库,github地址: https://github.com/rogerclarkmelbourne/Arduino_STM32 , 点击下载zip即可,如下图所示:

ubuntu系统中搭建Arduino for STM32开发环境_第3张图片

(5)下载完成后解压,我这里将解压出来的文件夹Arduino_STM32_master重命名为Arduino_STM32了,也可以不用重命名,直接放到home目录的Arduino/hardware文件夹下,若Arduino文件夹下没有hardware文件夹,就新建一个hardware文件夹。如下图所示:

ubuntu系统中搭建Arduino for STM32开发环境_第4张图片

ubuntu系统中搭建Arduino for STM32开发环境_第5张图片

(6)然后去安装STM32相关的tools(USB驱动),用于下载程序。

ubuntu系统中搭建Arduino for STM32开发环境_第6张图片

(7)Arduino IDE的开发环境准备好了,接下来就是准备板子了,如下图这种STM32的板子,淘宝到处都是。

ubuntu系统中搭建Arduino for STM32开发环境_第7张图片

(8)拿到板子,首先去下载STM32的Arduino固件,下载地址:https://github.com/rogerclarkmelbourne/STM32duino-bootloader , 下载解压后,在binaries文件夹中选择对应LED灯对应的管脚的 bootloader bin文件下载,我这里是LED的驱动管脚是PC13,所以选择generic_boot20_pc13.bin

ubuntu系统中搭建Arduino for STM32开发环境_第8张图片

(9)我这里串口使用下载程序,也可以使用ST-Link或者J-Link等工具下载,将BOOT0和BOOT1拨到对应的模式。使用ST官方的Flash_Loader_Demonstrator软件去烧录。

ubuntu系统中搭建Arduino for STM32开发环境_第9张图片

ubuntu系统中搭建Arduino for STM32开发环境_第10张图片

(10)bottloader下载完成后,通过USB连接到电脑时,在Arduino IDE的菜单栏 Tools ->Port 会出现 /dev/ttyACM0相关的项说明已经连接上。在Tools -> Board 选择STM32对应的型号和系列。

(11)在Arduino IDE 的菜单栏打开例程,操作步骤 File -> Example -> 01.Basics -> Blink ;然后去点击Upload按钮。

提示下载完成即可,程序自动运行之后,板载LED以1S的频率闪烁。

四、错误和问题总结

1.安装好后,编译STM32板子的程序,出现如下错误:

dfu-util: Invalid DFU suffix signature

dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!

dfu-util: Cannot open DFU device 1eaf:0003

dfu-util: No DFU capable USB device available

错误原因:没有安装Arduino_STM32的dfu-util tools,导致缺少相关的规则文件。

解决办法: 安装dfu-util tools及相关的规则文件

你可能感兴趣的:(MCU开发)