搜索
查看: 5238|回复: 18

[求助] STM32F103RCT6自动擦除FLASH问题

[复制链接]

该用户从未签到

2

主题

15

帖子

0

蝴蝶豆

初级会员

最后登录
2019-10-15
发表于 2018-12-13 11:35:54 | 显示全部楼层 |阅读模式
本人最近在使用STM32F103RCT6这款芯片做产品,但是发现有个别芯片出现在掉点瞬间有上电时,MCU自动擦除了第一个FLASH扇区现象,导致产品变砖.而且这个现象是可以复现的.而恰巧这个又是发个顾客的样品....我将出现问题的产品更换过MCU, 此现象没有复现.  把更换下来的MCU换到另一个正常的产品上, 此现象复现.由此推测此问题是跟随MCU的.

请问有人遇到过这个现象吗?怎么破?

回复

使用道具 举报

该用户从未签到

74

主题

3420

帖子

82

蝴蝶豆

社区小助手

最后登录
2023-11-12
发表于 2018-12-13 11:59:49 | 显示全部楼层
代码应该避开意外掉电时去执行写flash的操作

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2018-12-17 09:16:12 | 显示全部楼层
    从上下文推测,你说的Flash应该是MCU内部Flash,而不是外挂Flash。
    以前从没出现过Flash内容丢失问题,那么你的Flash内容丢失大概是多大机率?
    原理图、程序工程请附上。一般是不按套路出牌导致的。

    评分

    参与人数 1蝴蝶豆 +2 收起 理由
    STMCU + 2

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    399

    帖子

    43

    蝴蝶豆

    金牌会员

    最后登录
    2021-3-5
    发表于 2018-12-17 09:31:50 | 显示全部楼层
    这一段话错字有点多啊,你程序有写flash的地方看一下,有什么意外事件

    评分

    参与人数 1蝴蝶豆 +1 收起 理由
    STMCU + 1

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22

    主题

    1351

    帖子

    62

    蝴蝶豆

    论坛元老

    最后登录
    2021-9-26
    发表于 2018-12-17 09:55:30 | 显示全部楼层
    wenyangzeng 发表于 2018-12-13 11:59
    代码应该避开意外掉电时去执行写flash的操作

    这个如何避免?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    74

    主题

    3420

    帖子

    82

    蝴蝶豆

    社区小助手

    最后登录
    2023-11-12
    发表于 2018-12-17 10:00:54 | 显示全部楼层
    本帖最后由 wenyangzeng 于 2018-12-17 10:09 编辑

    1、避免频繁对Flash写大量数据,2、双重数据备份
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22

    主题

    1351

    帖子

    62

    蝴蝶豆

    论坛元老

    最后登录
    2021-9-26
    发表于 2018-12-17 10:59:06 | 显示全部楼层
    wenyangzeng 发表于 2018-12-17 10:00
    1、避免频繁对Flash写大量数据,2、双重数据备份

    这只能降低风险,而不能避免。
    看来还是要从硬件上去解决。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    831

    帖子

    90

    蝴蝶豆

    金牌会员

    最后登录
    2021-10-27
    发表于 2018-12-17 11:08:25 | 显示全部楼层
    看一下程序区的代码量,如果用到了内部FLASH存储,查看一下是不是占用了程序的代码。

    评分

    参与人数 1蝴蝶豆 +2 收起 理由
    STMCU + 2

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    52

    主题

    1122

    帖子

    67

    蝴蝶豆

    论坛元老

    最后登录
    2021-4-24
    发表于 2018-12-17 12:26:07 | 显示全部楼层
    看别人的问题能提高经验。但是Flash被擦除的问题,还没有发现过。
    好了言归正传,因为不了解你的项目。下面的只是讲一些思路。
    1、你的程序中是否有擦除Flash的程序。或者说你的程序中是否有IAP和模拟EEPROM的程序?我认为MCU缺陷导致擦除Flash的情况可能性不大。
          如果里面有对Flash的擦除操作。那么问题很大一部分就出现在这里。基本上变砖的机理是:我擦除了旧的。新的写入故障。然后程序又是从故障那里执行的。
    2、想必你应该是用工具把Flash 读回比较了吧?确定是0X08000000的第一个片区错误了吗。这个扇区存储了中断向量表。我认为不可能删除的。请提供一下删除的位置。


    评分

    参与人数 1蝴蝶豆 +3 收起 理由
    STMCU + 3

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19

    主题

    1734

    帖子

    7

    蝴蝶豆

    论坛元老

    最后登录
    2021-5-10
    发表于 2018-12-17 12:40:40 | 显示全部楼层
    好吧,我来说下,凭良心说,每个大公司的产品应当是完美无缺,但是事实上每一批都和其他批次有小的差异,所有产品不可能是100%良好的,即使国家印刷的钞票,能用于流通的,都发现了有瑕疵的,你恰巧碰到了千年不遇的有瑕疵的产品,别扔了这个芯片,也许将来因为它的稀有性,而变得有价值。最后说下,希望你没有买到假的芯片,毕竟国产的相同内核,功能完全一样,引脚完全一致的芯片价格上是有差异的。现在技术在芯片上重新打个标,我也能做到。

    评分

    参与人数 1蝴蝶豆 +1 收起 理由
    STMCU + 1

    查看全部评分

    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-27 07:12 , Processed in 0.224491 second(s), 49 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表