"); //-->
5SXE04-0150一个或多个页面进行编程.
我的许多闪存控制器设计都使用一个小的启动脚本开始与闪存的交互 。此脚本对于首先将 闪存重置 为已知模式是必要的,然后向 闪存发出足够的命令 以将其置于最高速度模式——通常是具有高速时钟的 QSPI。
这在需要在选择闪存设备之前制造 ASIC的 ASIC设备 中变得更加困难 。更现代的协议允许 查询 闪存支持的模式,然后发出适当的命令将闪存置于选定的高速模式。这是一个足够复杂的交换,因此在软件中处理它是最有意义的。因此,小型 SwiC 可能对此有用。
不过,在这里,我要指出,只有非片上系统 (SOC) ASIC 芯片才需要这样做。如果您的芯片上已经有可用的处理器,那么一个更简单的解决方案是使用处于默认状态(慢速 SPI)的闪存启动处理器,然后从闪存中读取必要的指令以 将其移入运行正常运行的较高速度状态。
闪存编程器
是的,我曾经想过使用ZipCPU 作为 FPGA 上的闪存编程器。这里的问题在于 闪存是如何操作的。基本上,闪存 分为扇区和页面。写入 闪存 设备意味着擦除一个扇区(64k 字节),从而将扇区中的所有位设置为 1,或者对页面(256 字节)进行编程,从而清除该页面中的一个或多个位。这意味着对闪存进行编程 需要首先 1) 读取整个扇区,2) 将其复制到某处,然后 3) 确定是否需要将扇区作为一个整体擦除,然后 4) 需要对其中的一个或多个页面进行编程.
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。