STM8 仿真跑飞 swim comm timeout

STM8S003F3开发板 STLINK连接问题 STM8硬件排查故障 阅读详情

【转载注明出处:blog.youkuaiyun.com/lanmanck】

跑飞原因就很多了,我说说程序没问题,莫名其妙跑飞的情况。

为啥说程序没问题呢?首先是编译通过啦,其次我们也正确的配置寄存器了,但是还跑飞了,蛋疼。

特别是相对于STM8S103F3这些只有少的可怜的8K存储空间的单片机,真是蛋疼啊,好了不废话了,据我的经验总结一下:

用IAR平台,COSMIC的很烂,劝君莫用。

1、debug模式优化设置为none,此种情况下编译并运行还跑飞的话,可能是Option byte设置问题。比如你用了TIM2_CH1的PWM功能,但是你的Option byte没设置,那么跑起来会飞掉(我第一次遇到这么奇葩的单片机)

2、如果程序真的很大,要把优化设置为middle,那么就要小心了。IAR的优化有点小问题,虽然middle能编译通过,但是下载下去有可能是跑飞的,这个要特别小心。解决方法是优化代码,并尽可能在优化为none的情况下出来一个可用版本,然后再慢慢加其他代码,不然后面自己死的很难看!

STM8仿真调试快速入门 使用Cosmic C语言,软件仿真 使用STLink III仿真器,硬件仿真 立即下载

相关推荐

FPGA实战:基于Basys3的多功能数字钟设计与实现

本文详细介绍了基于Basys3开发板的多功能数字钟设计与实现过程,涵盖FPGA开发、SystemVerilog编程及7段数码管驱动等关键技术。通过模块化设计实现时钟分频、时间计数、按键处理等功能,并提供了优化显示驱动和调试技巧,帮助开发者快速掌握数字电路设计核心概念。

weixin_29186249的博客 659

STM8XX芯片用IAR软件仿真时报[30004] common timeout的错误

STM8XX芯片用IAR软件仿真时报[30004] common timeout的错误 当软件检查无误后进行硬件检查 对于硬件部分应该检查是否有虚焊、短路等情形; 对于STM8SF003F3芯片,在调试时SWIM的端口最好是分时复用(芯片手册上建议使用跳线)。PD1端口只做SWIM调试端口使用时,不会报30004错误(Failed read memory 0X3FE),问题解决。。。。。 ...

weixin_44094541的博客 817

ERA5数据驱动WRFV4.4实战:单层嵌套配置与关键报错排查指南

本文详细介绍了使用ERA5再分析数据驱动WRFV4.4模式进行单层嵌套模拟的完整实战流程。内容涵盖从数据精准下载、WPS前处理配置、WRF核心参数设置到高频报错的深度排查与解决方案,旨在帮助初学者在有限服务器资源下,高效完成WRF模拟并规避常见陷阱。

q5r6s7的博客 770

202211103-STM8S103F3P6无法下载程序报30200、30004、30006等错误的排查方案

本文记录并验证了STM8S103F3P6和STM8S003F3P6等MCU,使用STLINK-V2时,因各种原因,提示swim error[30004],swim error[30006],swim error[]30200,gdi-error[40409]等错误的可能原因。 本文所写内容,均通过本人验证!

2974786048的专栏 2121

从零开始,用MATLAB/Simulink手把手搭建一个无刷直流电机(BLDC)的控制模型

本文详细介绍了如何使用MATLAB/Simulink从零开始搭建无刷直流电机(BLDC)控制模型。通过可视化建模方法,避开繁琐的数学推导,直接构建三相逆变器、电机本体参数化模型、霍尔传感器与换相逻辑实现,以及速度闭环控制设计。文章还提供了PID控制器整定、抗饱和处理和系统调试的实用技巧,帮助工程师快速掌握BLDC控制系统的仿真与实现。

weixin_27741699的博客 254

从仿真到流片:手把手教你优化65nm CMOS电荷泵的电流匹配与稳定性

本文详细介绍了在65nm CMOS工艺下优化电荷泵电流匹配与稳定性的工程实践指南。通过蒙特卡洛仿真、运放反馈结构版图技巧和全差分结构设计,实现优于1%的电流匹配精度和±2%以内的电流稳定性,特别针对current mismatch问题提供了有效的解决方案。

weixin_42522320的博客 416

STM8S程序跑飞Failed to get execution status: SWIM error [30004]: Comm timeout

最近在用STM8S103开发一个段码屏的项目,首次往CPU里灌写程序的时候发现程序跑飞:Failed to get execution status: SWIM error [30004]: Comm timeout,经过测试发现,是因为仿真口VCC引脚没有供电所致,一开始以为只要接了RST,SWIM,GND三个引脚就够了,事实上使用这三个脚确实可以做到下载程序,但是程序跑着跑着就飞了,所以还是把...

Spartacus_epic的博客 3809

OKX 欧易 交易机器人开发基础

接口文档: https://www.okx.com/docs-v5/zh/#overview REST API 常用请求 查看账户余额 结果数据格式: 获取限价 结果格式: 获取指数行情 数据结构: 下单 结果数据: 获取未成交订单列表 返回结果: 撤单 结果结构:

Willin Wang 的全栈升级指南 2万+

STM8单片机常见问题及解决方案

仿真报错 error30220 在用STVD软件仿真程序的时候,有时候报错。弹出一个error30220的警告窗口。 引起这个问题原因有可能是烧写软件STVP软件刚烧写过程序,STLINK 被烧写软件占用了,这时可以把烧写软件STVP关掉,然后重新仿真,就能正常使用了。如果还不行就拔掉STLINK烧写器,关掉软件。重新打开软件,连接烧写器。 烧写程序时报错 有时候在烧写程序的时候会提示RAM中已经存了一个文件 这是因为片子里面已经烧写过程序,而这次烧写程序的...

HXYDJ的博客 3148

把开源 Skills 集成到 LangGraph 项目

1. 定义智能体状态(必须包含 messages,其他字段按需扩展)messages: List[HumanMessage | AIMessage | ToolMessage] # 消息流(核心)skill_output: Optional[str] # 存储 Skill 执行结果next_node: str # 控制流程跳转# 2. 定义智能体决策节点(决定是否调用 Skill)"""智能体决策逻辑:根据用户输入判断是否调用开源 Skill"""# 获取最后一条用户消息。

lpfasd123的博客 898

robosuite 入门教程(一)安装与基本用法

摘要:Robosuite是基于MuJoCo的模块化机器人仿真框架,提供标准化基准测试环境和多样化机器人控制功能。作为ARISE计划的一部分,该框架支持强化学习、模仿学习等算法研究,包含程序化环境生成、多模态传感器、多种控制器及遥操作设备。支持macOS/Linux系统,提供详细安装指南和功能演示脚本,包括随机动作测试、控制器验证、域随机化等。最新版本v1.5新增人形机器人支持、全身控制器和照片级渲染功能,旨在降低机器人学习研究门槛,促进算法开发与评估。

2506_90492529的博客 1267

搭建STM8S001开发环境

1、IAR。 由于keil不支持STM8,所以改用IAR。 IAR For STM8 3.10或以上版本才支持STM8S001,可以直接在官网免费下载,如下图所示。 破解工具用IAR Offline License Generator v1.4 by unis。如下图所示。 注意:v1.3是无法破解IAR For STM8 3.10及以上版本。 v1.4的破解工具可以在优快云上找到...

一个人要像一支队伍 4864

【制作100个Unity游戏之35】从零开始构建类《月圆之夜》《杀戮尖塔》的卡牌游戏(附带项目源码)

本文介绍了如何从零开始构建类似《月圆之夜》《杀戮尖塔》的卡牌游戏。主要内容包括:1)获取游戏素材资源;2)导入xyframe框架工具集;3)实现手牌弯曲排列效果,通过样条曲线控制卡牌位置和旋转;4)设计可扩展的MVD卡牌系统架构,分离数据层(ScriptableObject存储)、模型层(业务逻辑)和视图层(显示控制)。文中提供了完整的代码实现,并展示了卡牌动态排列的GIF效果演示。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1426

STM8xx swim comm timeout

STM8仿真出现swimerror[30004]:commtimeout:理解问题:选项字节(Option Byte)写操作之IO复用,选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的块内。除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和一个用来备份互补格式的(NOPTx)。选项字节可以通过应用程序在IAP模式下修改,...

qq_29986979的博客 3618

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IAR中出现 Failed to write memory at 0x866E: SWIM PROG error [42008]: Attempt to write to protected area

最近用ST-LINK在IAR编译器里下载STM8单片机的程序,总是出现SWIM PROG error [42008] Attempt to write to protected area这样的错误提示,后来无意间找到个主界面上的ST_LINK下拉框下选择了Option bytes,会出现一个提示窗口,大概内容就是需要解除写保护才能操作,我确定之后就好了。退出来后发现已经可以下载程序了,现将我的方法

闻香下马 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一个关于STM8中断应用异常的话题

转载:Miler Shao@ST MCU 信息交流  某日一工程师跟我反映,他在使用STM8S芯片开发产品,用到某ADC通道,使用连续采集模式,开启ADC转换结束中断。整个中断程序执行时间大概200多us,因为连续采集转换,在这个ISR处理过程中可能会有新的EOC标志产生。 他发现一个奇怪的现象,ADC中断服务程序能够不停的自己嵌套自己,仿佛进入了递归嵌套,最后导致堆栈溢出跑飞而令系统

qhdhotel的专栏 1787

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

关于stm8不能在线 debug的问题总结

问题描述: 1.之前自己建立一个stm8的工程A,使用stm8的库函数,可以在线单步调试。 2.后面又多了一个工程B,忘记了是新建的还是从工程A拷贝过来的了,反正一在线调试就会程序跑跑飞,也不是一开始就跑非的,前面几步还是可以正常走,走着走着就会跑飞了。 3.工程A和工程B的代码基本功能一样。 4.我的怀疑有两点,一个是工程配置的问题,还有一点就是代码不一致,引出的在线debug跑飞的情况。 问题解决: 1.我新建一个工程C,使用可以在线debug的A工程的代码 ,结果是可以在线单步调试; 2

haiyanglideshi的专栏 688

STM8S003F3P6: Failed to get execution status: SWIM error [30004]: Comm timeout

STM8报错Failed to get execution status: SWIM error [30004]: Comm timeout

weixin_45683734的博客 858

stm8用什么软件编程?stm8开发环境搭建手把手教程!

STM8单片机开发环境的由3部分组成:电脑端开发环境、目标板、烧录仿真器。 我们要具备以上3个条件才能开始STM8单片机的开发,下面我们为大家详细讲解下STM8的开发环境搭建。 STM8目标板:STM8 单片机系统硬件,我们最终要编程的目标。 烧录仿真器:连接电脑和目标的编译连接器,主要作用:仿真、程序烧录、软件调试。 电脑端开发环境:单片机程序的开发是在电脑上完成的,我们需要在电脑端搭建单片机对应的开发环境。 接下来,我们就详细的给大家介绍一下STM8单片机开发环境搭建。 1.STM...

无际单片机编程 1万+

STM8S自学笔记-002 硬件上手和开发环境的建立

STM8开发板的上手,工程模板的的建立

爱莎女王的优快云博客 1万+

STM8 单片机调试笔记

1、休眠唤醒后串口异常问题 STM8L主要用来做低功耗产品,这里就有休眠前跟唤醒后有差异的情况,在调试的时候碰到如果使用串口,在休眠前都正常,当唤醒后,串口发送的数据会出现异常的情况,发送的数据感觉会有丢帧。后来发现跟系统时钟有关,如果系统时钟采用外部时钟就会有问题,内部时钟就OK。 /* 这里要用内部时钟 用外部时钟在进入halt之后会出现 串口发送异常 */ CLK...

笑傲江湖 2253

stm8s swim 脚的复用

由于 临时改跳线的原因,需要用到swim脚来做为按钮输入。 因为,swim是编程脚,还担心会有影响。 于是,看了手册,发现swim是附加功能。主要功能 还是PD1 作为GPIO脚用的。 于是 就直接 当 GPIO脚用。然后 烧写程序一切正常。 重复烧程序也都正常。 因此,说明 swim 做为GPIO脚用是 完全 没有问题的。也不影响 烧写程序。 用的芯片型号是:STM8S003F3

aijie099的专栏 7567

如何用STLINK+STVP+swim 下载stm8s003程序

写完stm8s003程序,将stlink的vcc,swim,nrst,gnd四根线连接到stm8s003的板子上,准备开始下载,点击后发现出现了cannot communicate with the device!主要原因在于stlink板子上的TVCC不是主动往外供电的端子,他也需要一个电源,所以需要在板子加电的情况下,也就是TVCC的线上有板子上传来的电源电压的时候,才可以对板子进行编程。或者你选用别的下载器,能提供电源电压的。

hitwind2015的博客 591

IAR FOR STM8S 调试信息

一般来说做嵌入式产品开发的,在产品早期都基本上会预留一个UART作为Debug调试,这个应该就是常说的串口调试. 但往往芯片并非有那么多串口出来,因此就有人想到用IO模拟串口的方式.其实这个是非常好的办法,前提是没有办法进行软件仿真打印的情况及硬件IO资源存在的情况. 言归正传,在我们在用STM8芯片开发时,可以采用IAR这个开发工具来做开发,就可以不用真实的物理串口或者用IO口模拟来打印调试...

冷饮 9150

STM32 中断向量表的位置 、重定向

【lanmanck原创】 这篇文章已经说了STM32的启动过程: http://blog.youkuaiyun.com/lanmanck/article/details/8252560 我们也知道怎么跳到main函数了,那么,中断发生后,又是怎么跑到中断入口地址的呢? 从stm32f10x.s可以看到,已经定义好了一大堆的中断响应函数,这就是中断向量表,标号__Vectors,表示中断向量表入口地

LYJ个人博客,记录技术、八卦、生活,分享各种心得,期待与朋友们一同进步 4万+
上一篇: UWP 入门系列资源集锦
下一篇: STM8 SPI 例程 通信出错
#Page#
博客等级 码龄23年 1691粉丝 360原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值