STM8调试笔记

参考文献:

https://blog.csdn.net/dongganxiao_maidou/article/details/73775533

https://jingyan.baidu.com/article/af9f5a2d18b67b43140a459e.html

https://blog.csdn.net/chen244798611/article/details/51334394

https://wenku.baidu.com/view/db98efd0910ef12d2af9e74c.html

 

http://blog.sina.com.cn/s/blog_14a80c5500102x1pd.html


Sun Jun 02, 2019 01:43:41: Failed to initialize communcation with hardware: SWIM error [3]: Detected hardware not compatible with software 


https://blog.csdn.net/luoyir1997/article/details/81185414

stvp下载程序之后无法运行,需要拔掉RST才能运行

compile 和make

make (常用)
编译,连接当前工程。(编译只编译有改动文件,或者设置变动的文件,工程窗口文件右边会有个*号) 

compile 
只编译当前源文件。 (不管文件是否改动,或者设置是否变动) 

rebuild all 
编译,连接当前工程。 (不管文件是否改动,或者设置是否变动)

一、STVP(ST Visual Programmer)下载程序其实很简单,

①打开文件,*.s19或者*.hex
②选择对应的芯片型号
③点击Program -> All tabs(on active sectors if any)即可完成下载

STM8调试笔记

 

STM8调试笔记

关于*.s19和*.hex以及*.bin的区别:

bin文件是我们最常见的二进制文件,它是纯数据文件,也即是“所见即所得”,所以如果我们想看看需要下载到单片机flash的数据的大小,最简单的方法就是查看我们编译连接后生成的bin文件大小;

hex文件则是Intel很早就推出的一种文件格式,它除了有效数据信息之外还包含了一些多余信息(包括地址信息,校验码之类的等等信息),所以hex文件是很大的,而最终下到单片机的flash里的仍是其中的有效数据段,而其他的信息段则是作为flash编程软件的辅助信息的(包括地址信息)。因此我们常见的问题就来了,如果烧写或者下载Bin文件时,软件会弹出首地址框输入相应地址信息,而在烧写Hex文件的时候则不必再输入地址信息了,因为Hex里面已经包含了。

至于S19文件则是飞思卡尔提出的文件格式,与Hex原理类似,只不过格式不一样罢了。

二、重新编译之后stvp会提示文件已经更新,是否重载,点击yes

STM8调试笔记

三、关于SWIM接线的问题。

只是连接SWIM、VCC、GND这三根线,使用STVP是可以下载的,应该就不能仿真了。

四、PB4、PB5无法输出高电平

pb4、和pb5作为IIC通信,没有内部上拉电阻,因而无法输出高电平,若要输出高电平,需要外接上拉电阻