問題タブ [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.

0 投票する
2 に答える
1258 参照

c - C の関数引数としての eeprom 空間の変数アドレス

PIC24f16ka102 と xc16 コンパイラの C に関する簡単で迅速な問題があります。

関数に変数参照を渡したい。変数は eeprom 空間にあります。

このシーケンスで、いくつかのデータを eeprom メモリに保存できます。

このようにして、値 0x9876 を eeprom の最初の 16 ビットに書き込みます。しかし、私はそれを持っている必要があります &eeData

私は自分の関数を書きたい:

しかし、私のアドレスを関数の引数として渡して、私の関数がまだeeprom空間のアドレスであることを確認するにはどうすればよいですか? エラーが発生するため、アドレスだけではいけません。__組み込み関数は、eeprom メモリであるという属性を持つアドレスを必要とします。

属性を持つ eeprom アドレスを関数に渡す方法は? 助けてください

編集:

アドバイスありがとうございますが、それでも同じエラーが発生します。

関数 __builtin_tbloffset には、何かのアドレスだけでなく、eeprom メモリのアドレスが必要です。関数ではなくシーケンス全体を使用するとうまく機能します(最初の投稿のシーケンスを意味します)。

今私はあなたが言ったように試しました:

または「*」記号なしでも:

結果はまだ同じです。__builtin_tblpage およびその他の __builtin_(...) 関数は、xc16 コンパイラに組み込まれている関数です。

0 投票する
1 に答える
967 参照

algorithm - チェックサム アルゴリズムのリバース エンジニアリング

私はいくつかの SPI EEPROM メモリを分析しており、どのチェックサム アルゴリズムが使用されているかを調べようとしました。

たとえば、データがあります: 14567D9h とチェックサム187h。通常の 16 ビット チェックサムであると仮定すると、 86hになりました - 一致しませんが、 101hを追加すると魔法のように 391h に変わります

別の例: 8ADhとチェック サムB5hはこれで正常です - 16 ビット チェックサムの結果は正確な数値: B5h (完全一致)

傍受できた 28 個のサンプルで確認しました。一部の値では、チェックサムに 101h を追加する必要があり、一部の値では合計するだけで済みます。

パリティ チェックが適合しません。必要に応じて、さらにデータを共有できます。すべてが 1 つの Excel ファイルにまとめられ、計算されます。友人と数日間ブレインストーミングを行った後、何も思いつきませんでした:/

アルゴリズムには、まだわかっていない追加の部分があるのではないでしょうか? CRC およびその他の多数のアルゴリズムがチェックされました - 16 ビットのチェックサムのみが有望な結果をもたらしていました 事前に助けてくれてありがとう!

私のスプレッドシートのコピー: https://drive.google.com/file/d/0B2FO0-Y1n-ySMUZ2VTVkME9tdm8/view?usp=sharing

0 投票する
2 に答える
1196 参照

embedded - コンパイラはどのようにして組み込みシステムの ROM にデータを配置できますか?

私が知っているように、定数値、変数の初期化されたデータは、組み込みシステムのコンパイラによって ROM (Read Only Momory) に配置されます。しかし、ROMは読み取り専用です。つまり、書き込みできないため、プログラミング時にコンパイラーがこれらのデータをどのように書き込むことができますか?

この組み込みシステムの場合の ROM は、主に EEPROM またはフラッシュ メモリの書き込み許可の意味だと思います。

OS を使用する組み込みシステムと OS を使用しない組み込みシステムの両方で、私の理解は正しいですか?

0 投票する
3 に答える
526 参照

c - EEPROM に格納されたデータ構造のシャドウ コピー

STM32F105RC プロセッサに ARM GCC を使用しています。
私のアプリケーションでは、次のようなものになりました。

最初の問題は、予約されている FFU (上に X でマークされている) のバイト数を正しく決定する方法です。
X = 128 - (10 x 3 + 5 x 4 + 2) = 76 と言ったら、これは正しくありません。
X の正しい値は 66です。これは、コンパイラが (少なくともコンパイラの既定の設定で) 構造体のフィールドを整列させるためです。
EEPROM に保存/復元されるため、全体の構造は 128 バイトである必要があります。この構造は、EEPROM にあるもののシャドウ コピーとして使用されます...

私の質問: APPLICATION_CONFIG 構造体に新しいフィールドを追加する (または何かを変更する) たびに、reservedFFU サイズを台無しにすることなく (EEPROM 用に) シャドウ コピーを作成する (より適切で柔軟な) 方法はありますか?

0 投票する
0 に答える
382 参照

device - at25 spi eeprom デバイス ツリー

ここで新しい。at25 eeprom ドライバーをカーネル モジュールとしてインストールしましたが、デバイス ツリー エントリを作成するためのポインターが必要です。SPI デバイス ツリー オーバーレイをロードしてテストしました。どんな助けでも感謝します。ティア