本文采用的是STM8S-Discovery开发板,开发板上半部分为ST Link调试器,芯片采用的是STM32F103C8,下半部分是STM8S105C6的开发板。
对于STM8的开发环境,主要采用两种,一种是IAR For STM8,另一种是官方的ST Toolset。ST Toolset中包含了两个工具STVD(ST Visual Develop)和STVP(ST Visual Programmer)。STVD是一款开发工具,它自身并没集成编译器,因此需要安装第三方编译器Cosmic。STVP是一款烧录工具,它支持.hex .s19 .sx三种文件的烧录,对IAR编译出的.hex文件的烧录我们就不用太担心了。
下载IAR For STM8 1.3.1(IAR Embedded Workbench for STMicroelectronics STM8 1.31)并安装。
下载ST Toolset 4.3.2并安装(在这里安装它,只为了使用它的STVP烧录工具)。
如果想采用官方的开发环境,可以下载Cosmic并安装。
环境安装完毕后,就可以连接开发板到你的PC机了,如果连接OK的话,那么你的电脑会多出一个盘符,30M左右的大小,里面包含几个网址,想了解更多的同学可以去逛一逛。
打开STVP烧录工具,按照图中的方法来配置。
打开一个.hex文件。
点击Program à Current tab,如果出现下面的状况,那么很不幸,有麻烦出现了。 针对上面的情况可能有两种情况:
1.ST Link的Firmware未被当前版本的STVP支持,在开始 -> 所有程序 -> ST Toolset -> Setup下找到Upgrade ST Link,运行它之后,我们需要将开发板重新连接到PC机,否则将会显示不能进入DFU模式。 在重新连接开发板之后,点击Device Connect。在这里我们可以找到ST Link现在的固件版本和将要升级的固件版本。点击Yes升级就自动完成了。
升级完成后,还是出现上面的情况,那么就说明ST Link已经连接成功,下面的STM8S开发板未被识别。为此我找到了STM8S-Discovery的用户手册,发现在板子中间有个焊接桥,这两个焊接桥是RESET和SWIN,因为ST Link可以应用到其它系列的开发板上,所以默认是断开的。那么就连接上吧,如果你不想焊接就用两根杜邦线在排阵之间连接。
再次打开.hex文件,点击Program all tabs。
程序烧录成功。
打开IAR集成开发环境,建立工作空间和工程的过程在这里不加以赘述。重要的是对IAR的配置完成对开发板的调试。建立工程后,工作区会有几行代码,我们可以编写一个小程序,控制开发板的LED。那么开始吧,一显身手的时候到了。编译通过后,接下来就要开始调试工作了。可是我们的IAR还没有配置,那么点击Project -> Options出现一个配置对话框,就根据下图进行配置吧。
2.配置完成后,点击Debug按键,如果出现了无法连接到ST Link的情况,可能原因就是当前IAR版本并不支持该ST Link的固件版本。在下图所示这个几个路径下都有STLinkUSBDriver.dll这个文件,这个文件就是咱们升级ST Link所用到的文件,它在Program Files\STMicroelectronics\st_toolset\stlink路径下,既然ST Link升级成功了并且STVP烧录工具正常工作,那么就用这个文件替换其他文件夹下的该文件。OK,让我们再试着Debug一次。
如果未出现上面所说的错误,OK,开始调试吧。
在调试通过后,我们还要注意一点,调试用的是.out文件,烧录到芯片中要用.hex文件,但是编译的代码并没有生成我们期待的.hex文件出现,点击Project -> Options出现一个配置对话框。按照下图中的方法配置。
配置完成后再次编译,OK,这回看看是不是有.hex文件格式生成。需要注意的是,集成开发环境在编译代码时需要区分在Debug模式还是在Release模式。Debug模式下生成的.hex文件的大小一般大于Release模式下生成的,因为前者的.hex文件中包含了很多调试信息。
根据上面学习到STVP烧录程序的方式,开始你快乐的编程吧。
|