在连续整了一个下午,一个晚上,又一个上午之后终于可以用STVD调试了!以此来纪念一下。
单片机时STM8AF5189,工程是人家编译好的,结果拿到手里编译后发现s19文件变大了不少,而且里面的地址出现了一些0x0000开始的地址,正常情况下应该是从0x8080开始才对,最开始的感觉就是编译器配置问题,在改了若干项配置,包括优化等等,还是不能仿真,debug时提示swim communication error,在排除了硬件问题之后,感觉是软件问题。经历了长时间折腾后打算用IAR,结果换用IAR问题又是一大堆。无奈又回头折腾STVD,偶然的发现,可能是c编译器的问题,也就是COSMIC的问题,当时用的是从网上下的一个,没注意有代码限制。后来从网上找到一款切实不错的COSMIC,安装完成后,打上补丁,可以debug了,s19文件里的地址也正常了。
下载地址:链接:http://pan.baidu.com/s/1hrK4iyw 密码:j5z8
在此继续杂记一些东西。
STM8AF5189,LQFP64封装有CAN,64K flash,4096B RAM,2048B EEPROM,供电3-5.5v。http://www.lierda.com/product/id/149/show.html
很多人选用STVD+COSMIC做为stm8 系列MCU产品开发的IDE,在编译调试过程中常常遇到些问题。这里我稍加整理,分享几个硬件线路和软件语法以外的话题。抛砖引玉,细节请自行研究相关手册。
一、零页内存区出界溢出的问题。
对于这个问题一般会提诸如bsct/ubsct size overflow……
这个提示告知默认的零页区放不下现有全局变量或静态变量,导致溢出。这里的RAM零页数据区,即00-0xff区域。至于BSCT/UBSCT是什么意思在COSMIC 编译手册里有讲。关于各STM8芯片的存储分配请看数据手册里的MEMORY MAP.
上面截图来自于