历史上的今天
返回首页

历史上的今天

今天是:2024年09月22日(星期日)

正在发生

2021年09月22日 | STM8单片机常见问题及解决方案

2021-09-22 来源:eefocus

仿真报错  error30220


在用STVD软件仿真程序的时候,有时候报错。弹出一个error30220的警告窗口。

引起这个问题原因有可能是烧写软件STVP软件刚烧写过程序,STLINK 被烧写软件占用了,这时可以把烧写软件STVP关掉,然后重新仿真,就能正常使用了。如果还不行就拔掉STLINK烧写器,关掉软件。重新打开软件,连接烧写器。


烧写程序时报错


有时候在烧写程序的时候会提示RAM中已经存了一个文件

这是因为片子里面已经烧写过程序,而这次烧写程序的时候,有可能点到了第三个按钮上(方块圈起来的),烧写时用第二个文件夹图标的按钮。另外在烧写的时候要注意芯片型号是否选择正确。

烧不进去程序


有时在烧写程序的时候会提示程序烧写不进去。


首先看芯片型号和烧写器是否选择正确,在configure中选择 configure ST Visual Programmer.

然后在Hardware中选择ST-LINK,Port中选阵USB,Programming mode中选择SWIM,Device中选择单片机型号。

如果设置都正确,但是还不能成功烧写程序。

这时候可以在烧写软件中选择 OPTION BYTE选项,然后将ROP后面的选项设置为ON,然后点击烧写按钮烧一次程序,然后在将ROP的选项设置为OFF,在烧写一次程序。这时候就可以正常烧写程序了。


程序仿真时正常运行,但是烧写到单片机后不能正常运行。


首先检查程序烧写步骤是否正常,如果烧写程序步骤都正确,但是程序不能正常执行,这时候需要检查程序中是否用到了具有复用功能的引脚,如果程序中用到了复用功能的引脚,那么就要通过选项字节来设置复用功能。通过程序设置复用功能的方法为:

主要是给0x4803和0x4804这两个地址赋值。具体可以看数据手册

将要设置的值写入OPT选项字节中,并且将需要设置的值取反写入到互补选项字节中。


只有将当前值和它的反码同时写入到选项字节中后,复用功能才能正常开启。



通过设置OPT2中的AFR位,设置需要复用的引脚。


在实际调试的过程中发现,程序中设置的复用功能在仿真的时候可以正常执行,但是程序烧写到芯片内后,复用功能就不能正常执行。经过检查发现在烧写程序的时候,烧写软件在OPTION BYTE中对AFR的设置就会发生改变,所以在烧写程序的时候要对软件进行复用功能设置。

一般情况下,只要在烧写软件中将复用功能设置正确。程序就能正常执行。


如果经过上述方法后,烧写的程序还不能正常执行。这时候检查烧写软件STVP和仿真软件STVD是否同时打开。如果先用仿真软件仿真过后,然后直接用烧写软件烧程序的时候就会出现程序烧写进去之后,程序不能正常执行。要将仿真软件STVD关闭,只打开烧写软件STVP,这时候按照正常步骤烧写,程序就能正常执行了。经测试发现通过仿真软件仿真后,程序会被直接下载到单片机中,不用烧写芯片,程序也能正常执行。

推荐阅读

史海拾趣

台湾町洋(dinkle)公司的发展小趣事

随着电子行业的快速发展,町洋不断投入研发资源,致力于技术创新和产品升级。公司成功开发出了一系列具有高性能、高可靠性和高安全性的接线端子产品,满足了不同客户的需求。同时,町洋还积极引进国际先进技术和管理经验,不断提升自身的竞争力和市场占有率。

EPIC公司的发展小趣事

Epic Games一直关注并支持独立游戏开发者的发展。过去,独立开发者有机会与Epic Store签订协议以获得财务支持或提高游戏的知名度。然而,随着市场环境的变化和金融合约结构的转变,独立开发者面临着越来越多的挑战。尽管如此,Epic Games仍然致力于提供支持和资源来帮助独立开发者克服障碍、实现创新并推动整个游戏行业的进步。通过与独立开发者的紧密合作和持续支持,Epic Games不仅促进了游戏行业的多样性发展,也为自己赢得了广泛的好评和声誉。

BOSER公司的发展小趣事

随着科技的不断发展,BOSER公司意识到只有不断创新才能在激烈的竞争中立于不败之地。因此,公司投入大量研发资源,致力于开发具有自主知识产权的新技术。经过不懈努力,BOSER成功推出了一系列创新产品,引领了电子行业的技术发展潮流。

EA Elektro-Automatik公司的发展小趣事

随着产品的不断优化和市场的不断扩大,EA Elektro-Automatik开始将目光投向国际市场。公司积极寻求与全球知名企业的合作机会,建立长期且稳定的战略合作关系。通过参与各类国际展会和交流活动,EA Elektro-Automatik的产品和技术得到了更广泛的推广和应用。如今,EA Elektro-Automatik的产品已经出口到全球多个国家和地区,为当地的市场和客户提供了优质的解决方案。

Dongguan Jingyue Electronics Co Ltd公司的发展小趣事

Dongguan Jingyue Electronics Co Ltd深知市场拓展的重要性。在立足本土市场的基础上,公司积极开拓国际市场,通过参加国际展会、建立海外销售渠道等方式,不断提升品牌知名度和市场份额。同时,公司还注重品牌建设,通过提升产品质量、优化售后服务等方式,增强消费者对品牌的信任感和忠诚度。

ACL staticide公司的发展小趣事

Dongguan Jingyue Electronics Co Ltd始终将社会责任和可持续发展作为公司发展的重要组成部分。公司积极参与公益事业,关注环境保护和员工福利。通过捐赠教育基金、支持环保项目、改善员工待遇等方式,公司履行了社会责任,也为公司的可持续发展奠定了基础。

请注意,以上故事均为虚构内容,仅用于展示电子行业公司可能的发展故事框架。

问答坊 | AI 解惑

wince设备被识别为U盘问题(续)

我的WINCE设备现在已经可以识别为U盘. 还有个问题,当我把USB线插上的时候,WINCE上NAND FLASH的盘符消失,同时PC上显示U盘盘符;但是当我拔掉USB线时,PC上的盘符消失,而WINCE上的盘符却没有显示出来,怎么让FLASH重新MOUNT一次?这个问题怎么解决啊?…

查看全部问答>

把4的ascii码用加偶校验的10位串行帧表示

把4的ascii码用加偶校验的10位串行帧表示…

查看全部问答>

高分帖 GPRS拨号连接 打电话怎么跟发送数据共存

RT 我现在在实现GPRS的功能,现在可以建立拨号连接,并且RasDial拨上号了。但是领导要求发数据和打电话的功能都有。 很明显这两个功能是有冲突的,打电话时GPRS数据发送肯定得停止。 问题: 1. 优先考虑使用wince提供的API,什么TAPI,RAS等等之 ...…

查看全部问答>

初学者的问题:MAX7219

我用MAX7219 怎么LED不显示,我用的单片机是C8051F360,是不是和SPI的初始化频率有什么关系啊?请高手指点迷津!!!…

查看全部问答>

vxworks缺省网关设置和修改的问题

问题是这样的: vxWorks下,我用routeAdd \"0.0.0.0\",\"192.168.1.1\"添加了一条路由,但是用routeDelete \"0.0.0.0\",\"192.168.1.1\"删除不掉。其实我是想修改网关的地址(先删再重新加),但是现在删不掉先前设置的。 请各位大大帮帮忙! …

查看全部问答>

请问为什么要这样处理Chache

在使用s3c44b0的时候,看到有这么一条语句 rNCACHBE0=(((Non_Cache_End)>>12)12); 为什么这样就可以设置非cache区的起始和结束地址了? 另外为什么要写成((Non_Cache_End)>>12)…

查看全部问答>

关于UART接收FIFO中断

 当我接收到数据 进入中断处理程序后,没有取出FIFO的数据,当FIFO装满后 还能响应接收中断吗?…

查看全部问答>

ICD2.5 仿真 编程问题

PIC16F676和USB-ICD2.5 的ICSP 接口怎么连? 原来一直用的16F877,但是16F676没有PGD和PGC,只有 ICSPDAT和ICSPCLK, 是不是把ICSPDAT当成PGD,ICSPCLK当成PGC就可以了?…

查看全部问答>

新手问个问题

串口发送数据和它选择的时钟源有什么关系? 比如我选择ACLK 我把cpu SMCLK MCLK都关了 串口还能发数据不?新手不懂说的详细一点—-—…

查看全部问答>