从使用内存芯片AT45DB081D(1MB)迁移到AT45DB641E(8MB)以获得更大的空间的过程中,我陷入了困境。
我使用的数据闪存驱动程序与AT45DB081D完美配合。与AT45DB641E(配置为其尺寸的一半)一起使用时,即使它们工作良好。
在使用外部数据闪存时,应使用少数几个配置参数进行初始化,其中“页数”是一个参数。
AT45DB641E确实包含32768页。配置为16000页时,系统运行正常。但是,当配置为大于16000的任何值时,它将不起作用。
所以我试图从数据闪存中读取垃圾箱,
1.当配置为16000时,能够获取写入的内容。
2.配置为32768(任何值>16000),可以观察到.bin文件的几个字节被占用并重复写入该bin文件所占的区域。
请建议我可能是什么问题。
提前致谢
#阿特梅尔#闪光#阿德斯托
[-]
回覆者 ● 2020年7月17日

你好,哥瑟姆,
我建议您编写小代码以查看是否可以编写所有页面并阅读它们。就两个闪光灯的数据表而言,应该相应地缩放。如果您的程序正常运行,则说明驱动程序存在问题,您可以寻找更新的驱动程序或编写驱动程序。如果您的程序无法访问,则Flash可能存在问题。
[-]
回覆者 ● 2020年7月17日

您正在使用什么处理器?
什么驱动程序?
谁写的?一种
您是否在使用命令集:3字节正确寻址。
没有足够的信息继续进行。
[-]
回覆者 ● 2020年7月17日

处理器:AT91SAM9260
驱动程序:来自Atmel,日期为2012
是的,我使用的是dataflash数据表中提供的命令集。
[-]
回覆者 ● 2020年7月17日

我将研究驱动程序源代码。 16000是一个非常人性的数字,而不是计算机。因此,它不太可能被切碎或类似的东西;更有可能的是,无论是谁写的驱动程序,都凭空想出了一个常量,认为它足够大,可以满足产品系列的预期寿命。
您知道,“每个人都应该有640KB” ...
[-]
回覆者 ● 2020年7月17日

你好,
我记得我将SAM7X微控制器与AT45DB321一起使用,并且在读取和写入时遇到很多问题。您确定所有互连和PCB均已正确设置吗? SPI时钟和寻址也必须正确设置。您是否正在使用ATMEL SDK进行9260编程?