我正在使用EEPROM上的SPI总线以及8051的内部ROM进行固件升级,基本上在这两个内存设备上都写了一个.hex文件。我能看到那里写的.hex文件。我能看到slave和master正在正常通信,但无法在我的内存设备上写任何内容。
如果您有任何建议,如果遇到类似问题,请告诉我实际问题在哪里。
欢迎任何投入。
此致 拉维
答案 0 :(得分:1)
我认为可能需要更多信息。无论如何,我可以看到一些陷阱:
Hex文件不一定是内存图像。我曾经使用的8051通常使用Intel Hex,这是一种描述内存的ASCII格式。该格式已有详细记录here.
如果您在写入EEPROM时遇到问题,可能无法编写正确的指令。通常,SPI EEPROM将进行字节寻址,但内部仍有寻呼。您应该在页面边界上开始写入并编写整个页面,然后发出另一个写入命令等。按照惯例,如果您超出页面,或者从页面中间开始它将循环。因此,如果您的页面长度为8个字节,并且从索引4开始编写0-7,那么您将获得:
Page Start: Index 0 = 4
Index 1 = 5
Index 2 = 6
Index 3 = 7
Index 4 = 0
Index 5 = 1
Index 6 = 2
Index 7 = 3
为了进一步为您提供帮助,如果可以,请参考部件号和更好的数据表。