0、友情提示
《零死角玩转 STM32》系列教程由初级篇、中级篇、高级篇、系统篇、
四个部分组成,根据野火 STM32 开发板旧版教程升级而来,且经过重新深入编
写,重新排版,更适合初学者,步步为营,从入门到精通,从裸奔到系统,让
您零死角玩转 STM32。M3 的世界,于野火同行,乐意惬无边。
另外,野火团队历时一年精心打造的《STM32 库开发实战指南》将于今
年 10 月份由机械工业出版社出版,该书的排版更适于纸质书本阅读以及更有利
于查阅资料。内容上会给你带来更多的惊喜。是一本学习 STM32 必备的工具
书。敬请期待!
野火淘宝店:http://firestm32.taobao.com (点我) -第 2 页-
有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
1、如何编译和下载程序
在拿到开发板之后,很多朋友都想先尝尝鲜,想自己烧写个程序到开发板
上,看看效果。下面将演示如何将光盘里面自带的程序烧写到野火 STM32 开发
板上。前提是你的电脑上已经安装了 JLINK 驱动和 MDK 开发环境,如果这一部没
有完成,请参考《2、JLINK 驱动安装与 MDK 环境搭建》。野火 STM32 开发板光
盘上提供的代码都是已经编译好的,直接下载即可。
1.1 编译程序
首先打开一个 MDK 工程,在野火 STM32 开发板光盘目录下:2-程序+教程\
第一部分-库开发初级篇\5-野火M3-流水灯\USER,点击 STM32-
DEMO.uvproj,打开流水灯这个工程。在弹出的 MDK 界面中,我们可以看到左边
的工具栏中有三个按钮,现在我们从左往右来介绍下这三个按钮的功能。
第一个按钮:Translate 就是翻译当下修改过的文件,说明白点就是检查
下有没有语法错误,并不会去链接库文件,也不会生成可执行文件。
第二个按钮:Build 就是编译当下修改过的文件,它包含了语法检查,链
接动态库文件,生成可执行文件。
野火淘宝店:http://firestm32.taobao.com (点我) -第 3 页-
有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
第三个按钮:Rebuild 重新编译整个工程,跟 Build 这个按钮实现的功能
是一样的,但有所不同的是它编译的是整个工程的所有文件,耗时巨
大。
综上:当我们编辑好我们的程序之后,只需要用第二个 Build 按钮就可以,
即方便又省时。第一个跟第三个按钮用的比较少。
1.2 下载程序
野火 STM32 开发板有两种下载方式,JLINKV8 下载和串口下载。要注意的
是:1、JLINK 下载的时候,开发板中的拨动开关 BOOT0(在开发板边缘,靠近网
口)即可以拨到 VCC 也可拨到 GND,但在 JLINK 下载完程序后,必须将 BOOT0 拨到
GND,好让程序从内部的存储器开始运行程序,所以在 JLINK 下载时最保险的方法
就是将 BOOT0 拨到 GND 那端。2、在用串口下载程序的时候,必须将 BOOT0 开发拨
到 VCC,在程序下载完后,然后将 BOOT0 开关拨到 GND。
1.2.1 JLINK 下载
插上 DC-5V 电源给开发板供电,再插上 JLINK。
点击 MDK 工具栏中的 Load 按钮就可将编译好的程序下载到开发板中。
下载成功之后,程序就会自动运行。如果发现程序没有运行,则可按下开
发板中的复位按键。
野火淘宝店:http://firestm32.taobao.com (点我) -第 4 页-
有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
这里要注意的是:程序在烧写到开发板后是否自动运行,是可以在 MDK 开发
环境:Target Options…->Debug->Setting->Falash DownLoad 中设置的:
如果没有设置为自动运行的话,我们需要在程序下载完毕之后进行手动复
位,手动复位可以是按键复位和上电复位。
还有一点要注意的是:在程序下载到开发板之后,开发板要供电,JLINK 一
端连开发板,另一端连 PC,这样程序才能运行。有些用户在下载程序之后,第
二次用的时候只是给开发板供电,JLNK 的一端只连了开发板而没有连 PC,这样
野火淘宝店:http://firestm32.taobao.com (点我) -第 5 页-
有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
程序是不能工作的。要想只在供电的情况下要程序运行,只需把 JLNK 从开发板
中拔掉即可,即只连电源,不接 JLINK 即可。
1.2.2 串口下载
插上 DC-5V 电源给开发板供电,插上 JLINK,插上自带的串口线(注意是两头
都是母的交叉串口线)。
将 BOOT0 开关拨到 VCC。
在这里我们用的串口下载软件是 mcuisp,这个一个绿色的软件,可从网上
自由下载,野火 M3 光盘目录下:3-安装软件\3-串口下载软件找到。
点击 mcuisp.exe,打开 mcuisp,mcuisp 是很智能的,只要开发板上电且连接
好了串口,它就会自动搜索串口,野火 STM32 开发板用的是电脑主板
后面的串口,这个串口都会被默认为是串口 1。假如你是笔记本用户,
用的是 USB 转串口,那么端口号可能就不是 COM1,需要到我的电脑\管理\设
备管理器\端口中查找,然后再修改。
设置波特率为 115200,选择要下载的程序。在开发板自带的例程中,可执
行文件(hex 文件)都在工程目录下的 Output 这个文件下。
野火淘宝店:http://firestm32.taobao.com (点我) -第 6 页-
有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
野火淘宝店:http://firestm32.taobao.com (点我) -第 7 页-
有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
然后点击 开始编程 按钮,如果程序下载成功后则会打印出下面红色框中的
信息。
程序下载成功之后,可是在开发板上看不到实验现象呀,怎么办?是不是
出什么问题了呀?这是因为我们是通过串口将我们的程序烧写到 flash 里面
去了,而我们想要从 flash 里面执行我们的程序的话,则需要将 BOOT0 开关拨
到 GND,然后按下我们的复位按键就可以看到实验想象了。
野火淘宝店:http://firestm32.taobao.com (点我) -第 8 页-
有疑问就到:www.amobbs.com/forum-1008-1.html (点我)