|||
但是资料匮乏,好多创客朋友找不到学习入口,经常电话咨询,下面FAQ中拥有众多链接可搜询答案——
问:STM32系列芯片支持在Arduino IDE环境下开发吗?最新资讯在哪可找到?
答:支持!www.stm32duino.com
此论坛网专门针对STM32系列芯片板,即时更新相关Arduino
IDE 环境API。
问:我如何开始着手?
答:1. 在Arduino 1.6.12 环境下安装stm32duino 支持包视频:
https://www.youtube.com/watch?v=TePglhSkghg
stm32duino 支持包:
https://github.com/rogerclarkmelbourne/Arduino_STM32
2.如何上传代码到你的板上:
a. 通过串口适配器(TTL电平:3.3V):
http://stm32duino.com/viewtopic.php?f=36&p=295
b. ST-Link仿真下载器:连接到SWD仿真接口,其引脚有:GND,Clock(标记为DCLK或SWCLK),和Data(标记为DIO或SWDIO);
c. STM32duino bootloader:Arduino环境编程之前需要事先下载到STM32芯片的Flash当中;
d. BMP(Black Magic Probe)仿真下载器:可与ST-Link一样连SWD接口,也可连UART作为调试;
3. 在IDE环境工具菜单中通过开发板选择你对应的板件;
4. 选择板件所连串行端口。
问:支持哪种板件?
答:针对STM32F103的板件支持得最好。包含STM32F103C系列、STM32F103R系列、
STM32F103T系列、STM32F103V系列和STM32F103Z系列。
STM32F4系列扩展支持比较少,是基于F103代码改进而得。
GD32F103国产芯片也是支持的,因为跟STM32F103板很相似。
问:支持哪种Arduino IDE版本?
答:支持的版本有:1.6.9,1.6.10,1.6.11,1.6.12
问:开发环境支持什么操作系统?
答:Windows:Vista,7, 8, 8.1, 和10
问:我在哪可下载bootloader二进制源码?
答:https://github.com/rogerclarkmelbourne/STM32duino-bootloader
这里针对许多不同板件预编译了二进制码。
问:我如何将bootloader倒入我的板件中?
答:你需要一款USB转串口的适配器,或ST-Link适配器,也可使用其它基于SWD接口的编程器,比如JLink。
下面视频通过USB转串口适配器展示了如何上传固件:
https://www.youtube.com/watch?v=G_RF0a0hrak
问:我尝试上传了一次bootloader,再试一次就不工作了?
答:你可能针对板件忘记选择串口设备,因为IDE使用串口来复位板件,从而切回到上传模式。
问:我有其它的一种不同的板件,你能添加支持到这板子吗?
答:Sorry,不能!
问:我想使用bootloader通过ST-Link上传IDE编译的代码,为什么连接不上?
答:因为SWD引脚在bootloader情形作为GPIO模式,是不能仿真下载的。
问:我弹出一个"arm-none-eabi-g++: no such file or directory"这样的信息,为什么?
答:你不能持续进行指令安装,因为ARM编译器没有安装。你可通过事先安装下Arduino Due的板级支持包。
问:当我将板连上PC机的USB口,却说是器件识别不出来?
答:如果是块新板,不是Maple,也不是Maple mini板。那很可能是没刷bootloader程序或者没有安装其它固件,此种情况必须刷下Stm32duino bootloader程序。
问:我已经安装了bootloader程序,但PC机显示没找到板的驱动?
答:你需要在/drivers路径安装上Windows特定驱动,你可在GitHub上进行下载。
问:我运行了install_drivers.bat文件,但是Maple板没有创建虚拟串口,PC机设备管理器当中出现黄色感叹号,这是什么原因?
答:将板连上,运行下面链接的Zadig工具,在硬件下拉菜单中选择Maple,选择USB CDC驱动,安装……
http://zadig.akeo.ie/downloads/zadig_2.2.exe
问:我注意到PC机设备管理器显示要么是”Maple DFU”,要么是”Maple Serial”,什么意思?
答:”Maple DFU”是bootloader列表下的USB设备,允许操作系统使用DFU协议上传程序到板上;”Maple Serial”是IDE环境下的虚拟串口设备,运行时你可通过Serial.print和Serial.read来进行交互通讯。
相关链接:
主要的Github库:
https://github.com/rogerclarkmelbourne/Arduino_STM32
Bootloader Github库:
https://github.com/rogerclarkmelbourne/STM32duino-bootloader
ST-Link工具:
http://www.st.com/en/embedded-software/stsw-link004.html
ST 串口烧写工具:
http://www.st.com/en/development-tools/flasher-stm32.html
STM32F103系列主要编程参考手册: