stm32移植到arduino上开发


 

 引脚图

 

 

 

 

 

 

下载和烧写Bootloder

 

首先我们要下载Bootloader,进入刚刚那个人的另一个开源项目,地址如下:
https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries

选择你的STM32最小系统板的除电源指示灯外的另一个LED所对应的接口名字的文件下载(一定要选择对应的),我的板子为PC13,所以下载这个:

 

 

 

 自己下载的地址

C:\Program Files (x86)\STMicroelectronics\Software\Flash Loader Demo

 

开始烧录bootler

然后使用USB转串口线连接开发板和电脑USB,其中串口线的TX RX分布连接开发板PA10 PA9,然后将BOOT0短接3.3V BOOT1短接GND进入烧写状态,串口线的VCC GND分布连接开发板的5V 即可无需另外供电。

 

烧录固件接线

RX-PA9

TX-PA10

BOOT0-3.3v     程序使用的时候要回归GND

BOOT1-GND

 

 

 

 

 

 

 

 

所需工具:flash_loader_demo_v2.8.0

ST官方下载地址:http://www.st.com/en/development-tools/flasher-stm32.html

下载有些费劲,不知道是网的问题还是电脑的问题,好不容易才下完,为避免麻烦,这里提供网盘下载:

https://pan.baidu.com/s/1SfAn2l6k6tWdIS_jWSzVsg

 

 

 

 

 选择USB串口线的串口号,注意需要boot0 为1,boot1 为0(默认全是0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 选择6kb烧录

 

 

 

 注意这里的参数,后续烧录影响

 

 

 

 

 

 

 

 

 在下列红色框内添加下载的bin文件,next,即可完成下载(bootloder的烧写)

 

 

 

 

 

 

 

 

 

 

 长时间红色,back重新来一下,成功。

 

 

 注意参数

 

 

 

 

 烧写代码 

 

 

软件下载
版本Arduino IDE1.8.7 https://www.arduino.cc/en/Main/Software

安装过程一路next就可以,但需要知道安装目录,默认C盘,本人安装在D盘。

 

 

 

安装完之后,界面非常简单。

 

 

 

 Arduino_STM32下载

 

然后去github上下载代码

Arduino_STM32:https://github.com/rogerclarkmelbourne/Arduino_STM32

 

 

 

 下载压缩文件并解压,并重命名复制到你的Arduino IDE的安装目录里的hardware下,

 

 

 

 

 现在你就可以在工具-开发板里找到STM32系列的板子了

 

 

 

 

 

 下载安装Arduino SAM开发板

接下来打开Arduino IDE然后选项栏工具-开发板-开发板管理器,下载安装Arduino SAM开发板,不安装这个开发板后编译会出现arm-none-eabi-g++错误(这个应该是交叉编译器);

下载编译工具链

安装SAMD Boards

 

 

 

烧写程序

 

 

 

 

 

 

 

 

 

修改引脚pc13

 

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin PB1 as an output.
  pinMode(PC13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PC13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(PC13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

  

 

成功后 ,讲boot1-gnd  不然开机会进入烧写模式。这个方法有一个小缺点,再次下载程序时需要重启板,且boot1-gnd 。

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM