1.软件安装视频教程:
(b站还在审核,视频链接估计在9月25号放上来)
1.1Windows安装:
1.2MacOS安装:
1.3Linux(Ubuntu)安装:
2.资料购买链接:
2.1CMSIS-DAP Debugger(调试&下载程序用)
商品链接CMSIS DAP/DAPLink仿真器STM32调试器下载器JTAG/SWD/串口开源
注意,上课时说的St-Link v2也是一种下载器,他们共同实现了SWD协议,也就是说一个程序既可以用Stlink烧录,也可以用CMSIS-DAP烧录,但现在文章里推荐购买CMSIS-DAP,是因为它开源并且比较便宜,受到的支持比较好。
2.2野火STM32F103Mini开发板
链接:野火stm32f103开发板
野火STM32F103Mini
搭载了一颗STM32F103RCT6单片机,R代表了它有64根脚,C代表它有256K的flash(用来存储烧录的程序)
野火只是设计了PCB电路并组装了STM32F103芯片和其他外设芯片
光买一个主板就够了,当然如果你想玩屏幕的话可以买带屏幕的(当然可能没时间单独教你们),需要自己学怎么去驱动屏幕)
2.2.1补充知识
RoboMaster官方开发板A型采用了STM32F427IIH6作为主控mcu,但为什么我们一开始要学习F103呢?
因为F103系列比较便宜,并且F103和F4XX(F407/F427/429)差别不是很大,只是在主频和FLASH,RAM上有一定差别,也就是F103学好了,F427上手也会很快,所以不用担心。
2.3面包板/杜邦线/电阻/电容等元件(可不买)
这些材料是方便你自己搭电路用的,因为野火的开发板上已经有很多外设(比如LED,蜂鸣器,按钮,flash,sd卡槽等等),但是如果你想用stm32f103最小系统板(最小系统板就是板子上只有一颗stm32f103芯片,和基本的5V转3.3V电路给芯片供电,其他引脚全部引出,没有任何外设),那么就需要用面包板自己搭建外设电路。
当然你也可以用立创EDA自己设计外设电路,然后进行焊接,能达到同样的效果(其实就是自己手动做一遍野火开发板帮你已经做好的事情)。
3.学习资料
3.0 前言
因为目前我们ZJUI-Meta的仓库并不是用Keil进行开发的,而是用Clion
(集成开发环境)+arm-none-eabi-gcc
(编译器)+CMake
(元构建工具,用来调用构建工具(也就是Ninja,其中的一种))+Ninja
(构建工具,用来管理编译器编译的指令)+OpenOCD
(调用Stlink/CMSIS-DAP来下载/调试程序)开发的,所以一开始教大家配环境会非常枯燥。因此让新人一开始就加入我们项目的开发显然是不合适的。
我们是希望大家用野火的教程,先熟悉STM32F103
的开发流程,了解一些电路的基础知识,一些对STM32的基本了解,并且希望大家能够掌握一些自己制作有意思的电子电路,再来加入到RM项目的开发,这样整个过程可以充满乐趣并且平滑了学习的曲线。
野火stm32的教程是基于KeilMDK
这个软件,这个KeilIDE,集成了所有开发STM32的工具,包括调试,下载,编译器(armcc),虽然会和我们团队目前用的工具链有所出入,但是编译出来的机器码是基本一致的,都可以在STM32上面运行。可以简单理解为,有两套不同的软件可以用于开发STM32程序(事实上除了GCC(arm-none-eabi-gcc)
,Keil(armcc)
,还有IAR
,LLVM
等工具链),因此只要会其中一个就能触类旁通。
3.1 野火开发板配套的学习资料
3.1.1 文档
野火STM32F103_MINI开发板云盘资料下载链接
3.1.2 视频
野火F103-MINI视频学习-【入门篇】
野火F103-MINI视频学习-【中级篇】
野火F103-MINI视频学习-【高级篇】
野火F103-MINI视频学习-【大师篇】
其实入门篇/中级篇就够了,当然也可以继续深入
3.2 通用C/C++语言学习视频
菜鸟教程
3.3 一些学习方法
一定要多实践,不要只看代码不去自己尝试。
一开始可以先跟着视频穴多看STM32官方手册:芯片手册、Reference Manual(stm32片上外设,包括外设寄存器等信息)、Programming Manual(Cortex-m 内核机制,包括运行逻辑,内核寄存器等)