[STM8] STM8de奇怪问题,专家和高手进来看看,帮帮我

[复制链接]
1442|13
 楼主| rouse520 发表于 2015-8-16 12:07 | 显示全部楼层 |阅读模式
用STM8S003F3 做了一个产品,里面用到了STM8自带的EEPROM保存数据,下次上电要读这些数据的,用到了tim1的4个通道的PWM ,8s003默认的tim1_ch1和tim1_ch2没有启用,通过选项字映射了该功能,正常情况下产品一切OK,如果多插拔一次产品的插头(不停的快速断电和上电),有时候会死机,重新上电都不行,处于死机状态,这是产品的芯片通过IAR就不能调试烧录了(报错:选项字错误),一定要用STVP清除后才可,然后重新烧录,功能又OK了,这个问题是在不确定的情况下就会出现,有时特意去找又一直是好的,反正只要死机了,重新上电还是不行,IAR也不能调试烧录,大家帮忙分析看看是什么原因造成的
mmuuss586 发表于 2015-8-16 12:13 | 显示全部楼层

估计是丢程序了吧;
读写EEPROM的时候就不要去插拔了;
 楼主| rouse520 发表于 2015-8-16 12:23 | 显示全部楼层
mmuuss586 发表于 2015-8-16 12:13
估计是丢程序了吧;
读写EEPROM的时候就不要去插拔了;

关键是谁也不知道啥时候回断电呀,如果读写eeprom时断电,会怎样呢
 楼主| rouse520 发表于 2015-8-16 12:26 | 显示全部楼层
rouse520 发表于 2015-8-16 12:23
关键是谁也不知道啥时候回断电呀,如果读写eeprom时断电,会怎样呢

数据没有保存也没有关系,不应该再次上电处于死机状态呀,啥功能都没有
aundry 发表于 2015-8-16 14:50 | 显示全部楼层
“通过选项字映射了该功能”
是不是每次上电都设置,还是先读取,不是映射功能再写
感觉最大可能是发生在操作Flash上面,EEPROM理论上读取不会引起这种问题
还有可以通过STVP把芯片的Flash EEPROM读出来,看是不是哪里被修改了
643757107 发表于 2015-8-16 22:42 | 显示全部楼层
根据动作,来确认死机的原因。
 楼主| rouse520 发表于 2015-8-17 08:20 | 显示全部楼层
aundry 发表于 2015-8-16 14:50
“通过选项字映射了该功能”
是不是每次上电都设置,还是先读取,不是映射功能再写
感觉最大可能是发生在操 ...

上电初始化,每次都设置映射功能,
是不是先读取,不是映射功能,在写为映射功能呢
Xflyan 发表于 2015-8-17 09:11 | 显示全部楼层
rouse520 发表于 2015-8-17 08:20
上电初始化,每次都设置映射功能,
是不是先读取,不是映射功能,在写为映射功能呢 ...

写EEPROM不会有这个错误,这个一般是写选项字节时出错导致的(只写了一半,补码还没有写进去,导致重启时检查选项字节出错,直接死机,需要重新编程到正常状态),选项字节只需要写一次就行了的,可以直接用STVP写入,如果在软件中判断再写入而电源可能不稳定的话,极有可能出现意外死机
 楼主| rouse520 发表于 2015-8-17 09:27 | 显示全部楼层
Xflyan 发表于 2015-8-17 09:11
写EEPROM不会有这个错误,这个一般是写选项字节时出错导致的(只写了一半,补码还没有写进去,导致重启时 ...

有道理,一定是写选项字出错的,之前我其他产品也有用到内部eeprom,也没有发现这个问题
popeye021 发表于 2015-8-17 10:05 | 显示全部楼层
也许是因为你的程序每次上电都去修改选型字节导致的。
捉虫天师 发表于 2015-8-17 12:40 | 显示全部楼层
这样就需要个做备用电源啊,弄个纽扣电池,这个可以作为时钟的电源,也可以作为备用的,防止你写的时候突然断电
aundry 发表于 2015-8-17 12:42 | 显示全部楼层
rouse520 发表于 2015-8-17 08:20
上电初始化,每次都设置映射功能,
是不是先读取,不是映射功能,在写为映射功能呢 ...

当然要先读取再判断是否要写
而且你每次都写还隐藏一个寿命的问题
Option也是Flash,也有寿命
 楼主| rouse520 发表于 2015-8-17 15:39 | 显示全部楼层
popeye021 发表于 2015-8-17 10:05
也许是因为你的程序每次上电都去修改选型字节导致的。

恩,我改了,加了判断,快速断电很多次暂时没有发现问题
 楼主| rouse520 发表于 2015-8-17 15:41 | 显示全部楼层
捉虫天师 发表于 2015-8-17 12:40
这样就需要个做备用电源啊,弄个纽扣电池,这个可以作为时钟的电源,也可以作为备用的,防止你写的时候突然 ...

很便宜的产品,用不到那么负责,程序加了判断,选项字其实只用写一次就行了,之前我搞错了,每次上次都写选项字
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部