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