問題タブ [eeprom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - GCC は EEPROM アドレスを逆順にコンパイルします
Cで書かれ、GCCコンパイラでコンパイルされたATmegaのコードがあります。
一部のデータは EEPROM に保存する必要があるため、次の宣言を追加します。
EEPROMを読んだ後、データが奇妙な方法で配置されていることがわかりました。いくつかの調査の後、.map ファイル (ツール チェーンによって生成された多くのファイルの 1 つ) で次のテキストを見つけました。
ご覧のとおり、コンパイラはデータを逆順に並べます。
もちろん、宣言を逆にしてさらにコーディングを楽しむこともできますが、これは予期しないことなので、コンパイラーがなぜそうなったのか理解できないまで、他の予期しない動作に直面することを恐れています.
何かご意見は?
c - コメント スタイルはバイナリ サイズに影響しますか?
組み込みシステムの世界に足を踏み入れています。この旅の中で、関数にコメントする「別の」方法に出くわしました。
私は特に次のようなものを好みます:
それは単なる「味」ですか、それともそのようにコメントすることで、ATMEGA168AのEEPROMスペースを「節約」できますか?
pic - EEPROM read and write Operation using SPI communication (PIC32MX350F1128L) (Checking EEPROM value using UART)
I am working on EEPROM read and write operation using SPI communication, and I am checking the recieved bytes using UART communication. The problem I am facing in this code is I am writing to EEPROM and reading the value from EEPROM and showing the read values in UART (putty). In this code I am able to get the output in UART, but not getting the exact value that I am writing into the EEPROM. I don't know what's the problem. I attached my code. I am using: PIC32MX350F1128L SST26VF032B EEPROM MPLAB X x32 compiler.
spi - SPI通信によるEEPROMの読み書き方法
SPI通信を使用してEEPROM(SST26VF032B)から読み書きするためにPIC32MX350F128Lマイクロコントローラを使用しています。このプログラムの SPI 通信は機能しています。SST26VF032B データシートで提供されている JEDEC コードを送信して確認しました。したがって、0x9F を送信すると、データシートに記載されているように 3 バイトのデータが取得されます。今実行すると、eeprom の特定のアドレスにデータの文字列が送信され、0xff が返されます。書き込む前にeepromを消去しています。だから私はeepromを消去した後に0xffを取得していると思います. 書き込み、読み取り操作が機能していません。値の文字列または BYTE を送信すると、0xff が返されます。だから、私が間違っているところを教えてください。デバッグ目的で UART を使用して、spi 通信で受信した値を読み取ります。完全なコードは以下のとおりです。私は MPLAB X を使用しています。
よろしくお願いします
サンデッシュ
memory - フラッシュ書き込み時のトラッキングアドレス
私のシステムでは、データを EEPROM フラッシュに保存する必要があります。バイト文字列は、一度に連続してではなく、一度に 1 つずつ EEPROM に書き込まれます。弦の長さは異なる場合があります。最後に書き込んだアドレスから続けて、スペースを無駄にせずに文字列を順番に保存したい。たとえば、最初のバイト文字列がアドレス 0x00 ~ 0x08 に書き込まれた場合、2 番目のバイト文字列をアドレス 0x09 から書き始める必要があります。
どうすれば達成できますか?一部の EEPROM の書き込みコマンドは、アドレスを指定する必要がなく、最後に書き込まれたポイントから続行するだけであることがわかりました。しかし、私が使用している EEPROM はそれをサポートしていません。(Spansion の S25FL1-K を使用しています)。アドレスを追跡するためにメモリの一部を割り当て、書き込むたびにアドレスを保存することを考えましたが、フラッシュの消耗が早くなる可能性があります。そのような場合を処理するために広く使用されている方法は何ですか?
ありがとう。
編集:私が求めているのは、次の書き込みが発生したときに開始するアドレスがわかるように、アドレスを不揮発性の方法で追跡/保存する方法です。
verilog - データを保存して FPGA に永続的にプログラムする方法は?
私が調べた限りでは、FPGA の電源がオフになると、再度プログラムする必要があります。しかし、Verilog を使用して FPGA ベースのセキュリティ システムを実装しようとしています。その中で、システムのパスワードを永続的に保存したいと考えています。つまり、電源がオフになってもパスワードを消去してはいけません。プログラムも保存できると良いですね。FPGA初心者です。ですから、これを行う方法を教えてください。デバイスは XC3S400 Spartan 3 ファミリです。
c - STM32L0 の IAR で Eeprom を初期化する
eeprom を特定の値で初期化したいのですが、意図したとおりに動作しません。私は何を間違っていますか:
IAR の .icf ファイルから
私のコードでは:
それでもeepromは正しく初期化されません.デバッグモードで得られるのは次のとおりです:
c - EEPROM、MICROCONTROLLERへのデータ保存
私は MCF51EM256 Freescale マイクロコントローラーを使用していますが、一部のデータを EEPROM に保存して永続化するのに問題があります。
この構造体を EEPROM に保存する必要があります。
どこ:
と:
これを行うために、次の関数を実装しました。
ここで「Flash_Burst」:
と:
}
関数をテストするために、小さなテスト プログラムを作成しました。
EEPROM に 1 回だけ書き込むと動作しますが、例のように EEPROM に複数回書き込むと動作せず、常に 0x1000000 が出力されます。
誰かが私を助けることができますか?なぜ機能しないのですか?1回書けるなら、どうしてもっと書けないの?
皆さん、ありがとうございました!