- 主题:有没有遇到stm32自己擦除flash的?
预留吧?
从后面开始用好了。。
【 在 wjie 的大作中提到: 】
: 时钟用了pll。现在是不是程序跑飞不太好判断,但是造成只有flash的前32字节无法读取
: 这个故障,似乎并不是程序跑飞可以造成的。手册里没看到什么操作能造成这样的问题。
: 10几个cpu已经有3个出现了这样的问题:-(
: ...................
--
修改:FLYBBS FROM 175.160.195.197
FROM 175.160.195.197
如果仅仅是前32个字节不能读取,感觉不像是nboot那边的毛病
看他配置,好像也不像自己有写bootloader的水平
我倾向于时钟配置错了,就是你说的没有加等待周期
或者,是它*.s文件里面地址偏移量写错了?
问题是他问题描述的也不是很全面,什么叫做跑飞但是不能读取。。。。
【 在 tom6bj 的大作中提到: 】
: 等待周期加了么?
: boot0是直接接地还是外部跳线或者别的什么方式控制?
: 有没有用自制bootloader?
: ...................
--
FROM 121.231.17.*
他既然说是10个u里面出问题了3个,就不是统一这个毛病,说明有的有有的没有
所以反而更像是时钟配置错了,根据flash性能的参差,有的可以有的不可以
【 在 FLYBBS 的大作中提到: 】
: 预留吧?
: 从后面开始用好了。。
:
--
FROM 121.231.17.*
嗷,我大概知道了
你手边有keil吗?
在project option里面,flash download选项卡,flash programming algorithm里面
要选full chip的一个
用cubeIDE我不是很熟悉要从哪里改,你就是想修改芯片的写保护对吗?在程序内部自己修改自己的写保护属性对吗?
【 在 wjie 的大作中提到: 】
: 仔细分析了问题,发现配置字没错,AA没有读保护。
: 但是st-link读flash提示Data read failed,最奇怪的是只有读0-31byte时提示错误,后面的内容是可以正常读的
: stm32的前32字节有什么特殊的?为什么莫名其妙的不能读了,不知有没有遇到过这种问题的。
: ...................
--
FROM 121.231.17.*
【 在 tom6bj 的大作中提到: 】
: 等待周期加了么?
: boot0是直接接地还是外部跳线或者别的什么方式控制?
: 有没有用自制bootloader?
: ...................
boot0是用跳线控制的,没有自己写bootloader。初始化代码都是cube生成的。同样的代
码在10几个板子上跑,大部分都运行正常,就是其中两三个在运行过程中突然就变砖了
。现象就是flash的前32字节无法读取,boot0=0时系统会从flash 0地址启动,这个地址
无法读取系统自然无法启动。在st官网也发帖问了,说可能是ECC错误导致的。具体原因
还需要继续查找。
--
FROM 114.214.197.*
程序里没有去修改配置选项,而且也不打算这样做。现在要解决的问题是CPU跑着跑着会
有一定的机率自己变砖。程序跑飞还可以加看门狗,但是变砖就只能拆出来上st-link才
行:-(
【 在 dismoon 的大作中提到: 】
: 嗷,我大概知道了
: 你手边有keil吗?
: 在project option里面,flash download选项卡,flash programming algorithm里面
: ...................
--
FROM 114.214.197.*
看你这么描述更像是硬件问题
你的H7是什么封装的?
你把那几块经常不正常工作的用热风枪吹一下看看会改善吗
【 在 wjie 的大作中提到: 】
: boot0是用跳线控制的,没有自己写bootloader。初始化代码都是cube生成的。同样的代
: 码在10几个板子上跑,大部分都运行正常,就是其中两三个在运行过程中突然就变砖了
: 。现象就是flash的前32字节无法读取,boot0=0时系统会从flash 0地址启动,这个地址
: ...................
--
FROM 121.231.17.*
以前用nxp的LPC11xx系列, 它的flash在高温下有概率掉code, 也是芯片release后过了
一段时间出的errata, 解决方法是要么降频, 要么对flash的操作改成3周期.
【 在 wjie 的大作中提到: 】
: stm32h750的处理器,遇到好几次程序运行不起来,通过cube软件看
: cpu读保护被设置了,通过下载串口还解锁不了,只能用编程器才能取消读保护重新编程
: 代码自己写的,都是在正常运行中发生的,没有进行flash擦写操作
: ...................
--
FROM 121.35.184.*