0

EEPROMのSPIバスと8051の内部ROMを使用してファームウェアのアップグレードを行っており、基本的にこれらの両方のメモリデバイスに.hexファイルを書き込んでいます。そこに書き込まれた.hexファイルを見ることができます。スレーブとマスターを見ることができます。正しく通信していますが、メモリデバイスに何も書き込めません。

提案があり、同様の問題に直面した場合は、実際の問題がどこにあるかをお知らせください。

どんな入力でも歓迎されます。

よろしく、ラヴィ

4

1 に答える 1

1

より多くの情報が必要になる可能性が高いと思います。いずれにせよ、ここに私が見ることができるいくつかの落とし穴があります:

  • 16 進数ファイルは必ずしもメモリ イメージではありません。私が使用した 8051 は通常、メモリを記述する ASCII 形式である Intel Hex を使用します。形式については、ここで詳しく説明されています。

  • 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 には、ファイナライズ後の偶発的な書き込みを防ぐためのロック メカニズムがあります。ロックが設定されている場合は、ロック解除方法を記述する必要があります (データ シートがある場合は、これについて詳しく説明します)。

さらに役立つように、部品番号と、できればデータシートを参照してください。

于 2012-12-13T22:36:19.433 に答える