下面就开始新的尝试与实验:
第一步:安装Arduino IDE
arduino官网[https://www.arduino.cc](https://www.arduino.cc/) ,下载Arduino IDE页面 [https://www.arduino.cc/en/Main/Software](https://www.arduino.cc/en/Main/Software)
安装版本是1.8.10,兼容各大平台,有安装版和免安装版二种。
第二步:下载安装Arduino SAM开发板
不安装这个开发板后编译会出现arm-none-eabi-g++错误
打开Arduino——工具——开发板管理器
然后搜索——SAM开发板并下载安装
![15--- (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/baddb180836334a6a7064232d4bbbda1.jpg)
安装成功是这样的
![17 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/19a01a85fae70502d104992df08da5d5.jpg)
第三步:下载STM32F103RCT6用的Arduino开发板库
下载地址:<u style="overflow-wrap: break-word;">[https://github.com/rogerclarkmelbourne/Arduino_STM32](https://github.com/rogerclarkmelbourne/Arduino_STM32) </u>
下载后解压,将文件夹Arduino_STM32_master重命名为Arduino_STM32后复制到C:\Users\用户名\Documents\Arduino\hardware文件夹,如果没有hardware文件夹就新建一个(由于这个压缩包体积偏大,我下载好多次都失败了,后来在21ic下载站上用2元兑换了一个,呵呵,要解决问题,链接:[http://dl.21ic.com/download/code/arduino_stm32-210074.html](http://dl.21ic.com/download/code/arduino_stm32-210074.html))。这个Arduino_STM32的库有40多M,包括文件:
有了这个库我们就可以让arduino IDE支持ufun学习板了。由于是第三方的库,所以需要自己手动安装。
![19.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/b995c10c0994e12d574a8759288d1ac5.jpg)
第四步:打开Arduino IDE,选择工具——开发板——选择如下开发板
![20 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/1d2a81ab7707e22f8b45ab064a395154.jpg)
选择STM32F103RCT6,256KB Flash + 48kB SRAM
![21 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/1ed109260b09368c5a54eff051486dcf.jpg)
第五步:安装UFUN2.0的串口驱动(串口芯片CH340),打开Arduino IDE,要能识别板子
![23 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/a9a760e51703e61ed3a075200ac7c7d8.jpg)
设置端口
![24 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/d177275cc7379e2fe675cceb875ae83a.jpg)
第六步:下载安装flash_loader_demo_v2.8.0
flash loader demo是一款ST官方的flash下载软件,用于STM32F103,STM32F407,STM32F446单片机的串口下载程序。
支持Windows 98SE, 2000, XP, Vista, 7, 8, 8.1, 10系统。
如何安装:首先删除之前版本,从开始-设置-控制面板中-添加或删除程序,移除之前的版本后,再运行安装程序。目前版本是2.8.0,下载之后默认安装。
下载链接:https://www.st.com/en/development-tools/flasher-stm32.html
链接2:https://pan.baidu.com/s/1jpwH-NU8_Y31hPPDKDuVwA
提取码:2qkb
![25.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/17b0d7e32a21ac8b5a474f6b4775ec78.jpg)
第七步:更改ufun板子启动配置
STM32三种启动模式对应的存储介质均是芯片内置的,如下图:
![28.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/cb54804c7bf481e78f087b8877779931.jpg)
(1)用户闪存 : 芯片内置的Flash。正常的工作模式。
(2)SRAM: 芯片内置的RAM区,就是内存。可以用于调试。
(3)系统存储器: 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。启动的程序功能由厂家设置。
我们把ufun的BOOT0引脚拉高,进入系统存储器启动模式,这样就可以用ST的flash_loader进行程序的下载。如上图所示把ufun最右边的两个引脚短接在一起,就是拉高了BOOT0引脚。
![29.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/60d945091dac08b364f8b42be02ea25e.jpg)
第八步:使用flash_loader_demo_v2.8.0烧录bin文件
接上板子,打开软件,选择USB串口线的串口号(这里是COM5)
![26 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/25d87aa48d87e8e3c66e607aa41d8e6e.jpg)
按开发板上重置键后按Next进入下一步(已能识别256K)
![30 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/81616ba830559bd2720e91cc4d6b9876.jpg)
按Next进入下面界面,选择Download to device
![31.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/70a4671f6ce11e506f16d5033e174b18.jpg)
下载下面文件,解压为bin后缀名文件
[generic_boot20_pc13.rar](http://generic_boot20_pc13.rar/)
然后选择上图的Download from file按钮,选择上面解压的文件
![33.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/cb2b6fc4a92ca80fc5736fe290f8ce19.jpg)
**第九步:从Git上([https://github.com/rogerclarkmelbourne](https://github.com/rogerclarkmelbourne))下载大佬的项目文件“STM32duino-bootloader-master”**
如下页面中第二个文件,如果不导入安装这个库文件的话就无法编译生成STM32 对应的hex文件。
![27 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/e5a5375ea80a0551ad95264fe3f8f873.jpg)
找到上图中圈着红线的BIN文件,下载到桌面,一会我们将用工具下载到ufun学习板中。
![35.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/6b2b689c9bbb9df78d86717918ce5cda.jpg)
下载链接: [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries](https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries)
解压后放入C:\Users\用户\Documents\Arduino\hardware\Arduino_STM32中,并烧录成功见下图
![39 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/b3037e4d56bb8db9d361120e7720c8ac.jpg)
第十步:打开Arduino IDE,烧录LED闪灯程序
先确认烧录UFUN2.0开发板的6个配置
![36 (1).jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/afa7e7511b8184e15bff177b367b2bc5.jpg)
烧录的Blink程序如下(把UFUN板子的boot引脚继续拉高,按一下复位按键,然后放开)
void setup() {
pinMode(PA1, OUTPUT);
}
void loop() {
digitalWrite(PA1, HIGH);
delay(1000);
digitalWrite(PA1, LOW);
delay(1000);
}
烧录成功是这样的
![37.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/befdc39bc464f1feca29cda2592fcb88.jpg)
![38.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/31adb990b5172c4698d104e336f977cd.jpg)
忙乎一天,终于点亮板载蓝色LED
视频地址 https://v.youku.com/v_show/id_XNDQ0NjkxMTA0NA==.html?spm=a2h3j.8428770.3416059.1
![40.jpg](https://makelogimg.dfrobot.com.cn/makelog/5ab819e19e087152393ebf1f/3a1ebbc3f686f52021090aa0f2d8bfac.jpg)
hacker_2023.08.02
666