你好,
我们正在考虑BLE申请DA14680,然而,我们希望采取一些时间敏感的行动。关于flash管理的一些澄清将非常感激。
1)如果flash被擦除,我们还能执行蓝牙操作吗?数据表说明,当闪存正在擦除,芯片必须从RAM或缓存运行,但我理解蓝牙读取ROM,中断应该禁用时,闪存正在擦除。有办法绕过这些限制吗?
2) flash写/擦除时间和功耗的统计是什么?我在资料表中找不到它们。
3)如果一个进程试图访问flash,而它正在被擦除?
4)数据表指出,控制与Flash的QSPI通信的FSM需要初始化电源。它也必须在睡眠后初始化吗?还需要多长时间才能初始化?
谢谢
关键词:
设备:
嗨MThib,
如果闪光被擦除是什么意思?68x可以运行在闪存或镜像模式(直接从sysram),当然,当设备运行在镜像模式的内存数量是相当有限的,这就是为什么缓存模式是首选。正如你能理解的,如果flash被擦除,没有应用程序代码,ROM代码实现堆栈不能自己运行,所以你必须有一个应用程序在flash中,以便BLE操作。现在,如果你想知道,如果你能擦掉一部分flash和还有祝福操作然后NVMS适配器会照顾,还有选择的SDK时flash操作执行装置没有未决任务和闲置,所以在进入睡眠之前,flash操作将被执行(这将确保在很大程度上你不会在flash操作时丢失BLE事件)。
2)对于680上的flash,所使用的部件在功能上和电上都相当于W25Q80EW,所以你可以查看该flash数据表的信息。
3)如上所述,SDK提供适配器以访问闪光灯,因此如果任务删除闪存此源被保护,并且在另一个进程使用资源时,该源无法访问闪存。
4)是的,这是在每次唤醒后执行的,但需要的时间是几个周期的16MHz时钟,而且你也不必担心,因为SDK会照顾所有上述操作。
上面关于Flash的所有问题都知道,由于SDK以及Free RTOS OS一起提供适当的结构和功能,因此对用户透明地对用户透明,以便处理闪存操作。您可以检查UM-B-044-DA1468X软件平台参考文献.PDF是有关SDK如何在68倍SOC上运行的了解。
谢谢mt_dialog.
1)我正在谈论如何当闪存被擦除发送一个擦除命令,如擦除一个4kb的扇区,整个闪存将是不可访问的,直到擦除完成。这通常会构成45毫秒到最大400毫秒的时间,在这段时间中,我们必须要么暂停,要么依赖于从RAM操作。有些芯片的内存控制器只能在擦除过程中阻止对特定闪存块的访问,但我想验证我们唯一的选择是在擦除过程中缓冲数据并从RAM中运行。我知道SDK可以减少在擦除过程中导致flash发生的操作的可能性,但我们需要100%的保证它不会发生。
2-5)谢谢你的帮助,这些都充分回答了我的问题。非常感谢您的快速回复!
嗨MThib,
这是正确的,事实上你是擦除的flash将flash inaccesible 68 x,但由于flash操作在自动模式,在消除的情况下,如果你想从flash(获取代码或数据)读取设备将暂停擦除操作和执行读取、然后设备将继续删除操作(这个开关会自动完成在这两种情况下当flash操作下手动或自动模式,但在第二种情况下这样做是通过qspi控制器和从SDK)在第一种情况下,在任何情况下这是对最终用户透明。此外,正如上面提到的SDK是配备了一个机制,将执行所有的操作flash设备一直闲置,这是必须的,因为你想成为100%安全,flash操作不会影响和造成任何延迟设备的functionallity。
谢谢mt_dialog.
暂停擦除以读取数据的限制是什么?例如,设备可以暂停页面擦除以读取数据,还是它必须等待页面删除以在它读取之前完成?暂停在页面中间擦除将非常令人印象深刻。如果它删除了多个页面,我怀疑它可以暂停页面擦除,但其他必须等待。如果不是这种情况,我将非常有兴趣了解。
再次感谢,
MThib
嗨MThib,
是的,如上所述,在擦除擦除的情况下,将暂停擦除才能从闪光灯读取数据,在读取完成之后,它将继续擦除闪光灯,现在如果在擦除是流程时读取的读取设备将发送暂停命令,擦除将被暂停(闪光灯可以暂停的次数和每个闪存设备之间的次数不同),一旦删除暂停,设备将开始执行读取命令一旦读取命令结束,它就会使用擦除命令恢复。此功能也是闪光灯应该支持的东西。Datasheet,12.1.6删除暂停/恢复,在数据表中解释了整个功能
谢谢mt_dialog.