2268337_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2268337_zh-CN

2268337_zh-CN

mk64 从闪存 0xE5FF8 读取数据会导致总线故障

你好,
我有一款运行 MK64FN01M 的板,与 frdm_K64 的板类似。

我确实在存储CRC的最后一个字节上存储了闪存中的设置。
对于板上的一个扇区,我在阅读该部分时出现总线故障

该代码调用了从 0xE5FF8 到 RAM 的简单 memcpy,长度为 8 字节。
该代码中的该函数之前被不同的内存部分调用过。
只有在这些位置上,代码才会崩溃。
当我把这个扇区移到其他位置时,它就能正常工作了。


是否知道为什么特定内存会出现问题?

谢谢,阿迪布

Re: mk64 read from flash 0xE5FF8 causes busfault

你好@theadib

请先擦除整个扇区,然后写入与 8 字节边界对齐的设置数据(包括 CRC)。不要对同一 8 字节短语执行部分更新。然后,继续进行读取操作。
 

BR

爱丽丝

Re: mk64 read from flash 0xE5FF8 causes busfault你好,爱丽丝,感谢您的回复。
总线故障发生在读取操作期间(来自闪存位置的 memcpy)使用常规闪存地址会导致总线故障的原因
是什么?
之前没有写入操作。
是否有可能持续"阻止/保护" 闪存的读取。
我的程序在其他设备上运行正常。
有什么想法吗?
谢谢,阿迪布
Re: mk64 read from flash 0xE5FF8 causes busfault

你好@theadib

有 FSEC 寄存器。FSEC 中的高效密码学标准(SEC) 位决定了 MCU 处于安全还是不安全状态。虽然它可以控制整个 MCU,但在你的情况中,只有部分内存无法读取,所以我认为这不是原因。
有可能是上一次写入操作过程中发生了错误,因此我建议先擦除内存,然后再次读取以检查是否正常工作。
 
谢谢!
 
BR
爱丽丝
 
Re: mk64 read from flash 0xE5FF8 causes busfault

你好@Alice_Yang,

也许这个问题与我使用世纪佳缘 JLink 时发现的一些奇怪行为有关。

当我在 JLink 中使用 MK64FN1M0XXX12 连接到我的 MK64FN1MOVLQ12 时:

设备 mk64fn1moxxx12

如果 SWD

速度 1000

connect

erase
loadbin imagefile.bin 0

通常 jLink 会声称设备在擦除后受到保护。
并提出了所附的对话。

我本以为在执行擦除命令后设备不受保护且不安全。

使用 JLink 完全擦除闪存并加载新映像的首选顺序是什么?


。 预先致谢

Re: mk64 read from flash 0xE5FF8 causes busfault

您好@Alice_Yang

很抱歉打扰您......
,我现在已经找到了根本原因,即向同一地址重复写入相同数据。
这种情况不应该发生在没有错误的代码中
但是,
,第二次写入会返回错误代码
,但随后即使读取该扇区也会导致 BUS_FAULT 陷阱。

有没有可能在一次访问导致整个程序崩溃之前检查扇区状态?
这样,我就可以再次正确擦除扇区,并将扇区置于正确的状态。
??
我已经查看了参考手册第 29.4.10.2 节中的 FSFE 描述闪存命令。
但我没有看到一条命令可以"测试" 程序存储器中的一个扇区。
我是不是漏掉了什么?

这样,我就能制作出更具弹性的应用程序,在重启后检查闪存状态。


预先致谢,

Adib


Re: mk64 read from flash 0xE5FF8 causes busfault

你好@theadib

使用 J-Link 擦除时,同一芯片有两种选择。请选择没有 “允许网络安全” 的设备名称;这样,擦除后将无法保护设备名称。

Alice_Yang_0-1767951588914.png

谢谢。


BR

爱丽丝

Re: mk64 read from flash 0xE5FF8 causes busfault

你好@theadib

用上市 “擦除闪存扇区” 命令后,FRFE 会擦除所选闪存,然后验证其是否已擦除。如果擦除验证失败,则 FSTAT[MGSTAT0] 位被置位。 在擦除闪存扇区操作
完成后,CCIF 标志被置位。擦除闪存扇区命令可挂起(参见 FCNFG[ERSSUSP] 位和图 29-11)。

Alice_Yang_0-1767953891145.png


BR

爱丽丝

Tags (1)
No ratings
Version history
Last update:
‎01-10-2026 02:23 AM
Updated by: