用户闪存页面地址
User Flash Memory Page Address
我在我的项目中使用 max10 FPGA 用户闪存。它在一个扇区中有 4 页,每页大小为 64kbits。现在如何识别内存中每一页的起始地址和结束地址,以便从闪存写入或读取数据。
您可以在此处找到设计示例:
用户指南在这里:
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_ufm.pdf
UFM 和 CFM 阵列大小取决于您选择的设备,如下所示table:
此外,您可以访问的扇区取决于您使用的配置模式。这些显示在以下 table 中:
因此,我的最新设计使用了具有双重压缩图像的闪存 10M08。这意味着我只能访问扇区 0 和 1,每个扇区有 8 页,每页大小为 16 Kb。请注意,数据表以 Kibibits 为单位说明大小,其中 Kb 是 1024 位,而不是 1000。转换为字节后,页面大小为 2048 字节。 Avalon 接口要求您使用引用实际字节数的十六进制地址进行访问。这意味着,在我的示例中,每个页面的大小为 0x0800 字节。因此,每个页面将从 + 0x0800 开始,例如
Sector 0 Page 0 Start Addr = 0x0000
Sector 0 Page 1 Start Addr = 0x0800
Sector 0 Page 2 Start Addr = 0x1000
...
Sector 1 Page 7 Start Addr = 0x7800
另一种识别地址的方法是查看 IP 参数编辑器中报告的内容:
如你所见,它给出了每个扇区的开始和结束地址。要找到页面大小,只需将给定地址 space 除以 8,然后就可以计算出每个页面的起始地址。
为什么 Intel/Altera 在他们的数据表中必须使用 Kibibit 而不仅仅是字节,这让我无法理解。
我在我的项目中使用 max10 FPGA 用户闪存。它在一个扇区中有 4 页,每页大小为 64kbits。现在如何识别内存中每一页的起始地址和结束地址,以便从闪存写入或读取数据。
您可以在此处找到设计示例:
用户指南在这里:
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_ufm.pdf
UFM 和 CFM 阵列大小取决于您选择的设备,如下所示table:
此外,您可以访问的扇区取决于您使用的配置模式。这些显示在以下 table 中:
因此,我的最新设计使用了具有双重压缩图像的闪存 10M08。这意味着我只能访问扇区 0 和 1,每个扇区有 8 页,每页大小为 16 Kb。请注意,数据表以 Kibibits 为单位说明大小,其中 Kb 是 1024 位,而不是 1000。转换为字节后,页面大小为 2048 字节。 Avalon 接口要求您使用引用实际字节数的十六进制地址进行访问。这意味着,在我的示例中,每个页面的大小为 0x0800 字节。因此,每个页面将从 + 0x0800 开始,例如
Sector 0 Page 0 Start Addr = 0x0000
Sector 0 Page 1 Start Addr = 0x0800
Sector 0 Page 2 Start Addr = 0x1000
...
Sector 1 Page 7 Start Addr = 0x7800
另一种识别地址的方法是查看 IP 参数编辑器中报告的内容:
如你所见,它给出了每个扇区的开始和结束地址。要找到页面大小,只需将给定地址 space 除以 8,然后就可以计算出每个页面的起始地址。
为什么 Intel/Altera 在他们的数据表中必须使用 Kibibit 而不仅仅是字节,这让我无法理解。