使用SPI总线将.hex文件写入8051微控制器的内部FlashROM

时间:2012-12-13 13:41:59

标签: embedded 8051

我正在使用EEPROM上的SPI总线以及8051的内部ROM进行固件升级,基本上在这两个内存设备上都写了一个.hex文件。我能看到那里写的.hex文件。我能看到slave和master正在正常通信,但无法在我的内存设备上写任何内容。

如果您有任何建议,如果遇到类似问题,请告诉我实际问题在哪里。

欢迎任何投入。

此致 拉维

1 个答案:

答案 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
    
    • 大多数EEPROM都有锁定机制,以防止一旦完成意外写入。如果已设置锁定,则需要编写解锁方法(如果有解锁方法,将在数据表中详细说明)

为了进一步为您提供帮助,如果可以,请参考部件号和更好的数据表。