タグ付けされた質問 「sram」


5
RAMを使いすぎています。これはどのように測定できますか?
私がプロジェクトで使用しているRAMの量を知りたいのですが、私が知る限り、実際にそれを実行する方法はありません(自分で計算して計算する以外に)。私はRAMが不足していると判断したかなり大きなプロジェクトの段階に到達しました。 セクションを追加すると、明確な理由もなく、コードのどこかですべての地獄が崩れるため、これを決定しました。私が#ifndef何か他のものを出したら、それは再び機能する。新しいコードにはプログラム的に問題はありません。 しばらくの間、使用可能なRAMの限界に近づいているのではないかと疑っていました。スタックを使いすぎているとは思いませんが(可能ですが)、実際に使用しているRAMの量を判断する最良の方法は何ですか? 調べて解決しようとすると、列挙型と構造体を取得するときに問題が発生します。どのくらいのメモリがかかりますか? 最初の編集:また、私は開始以来スケッチを非常に編集しました、これらは私が最初に得た実際の結果ではありませんが、私が今得ているものです。 text data bss dec hex filename 17554 844 449 18847 499f HA15_20140317w.cpp.elf 16316 694 409 17419 440b HA15_20140317w.cpp.elf 17346 790 426 18562 4882 HA15_20140317w.cpp.elf 最初の行(テキスト17554を含む)は多くの編集の後、機能していませんでしたが、2番目の行(テキスト16316を含む)は正常に機能しています。 編集:3行目には、すべての機能、シリアル読み取り、私の新しい関数などがあります。本質的にいくつかのグローバル変数を削除し、コードを複製しました。私はこれを言及しています(疑わしいとして)それはsaeごとのこのコードに関するものではなく、RAMの使用量に関するものでなければならないからです。これで元の質問「どのように最適に測定するか」に戻りますが、まだいくつかの答えをチェックしています。ありがとう。 上記の情報を実際にどのように解釈しますか? これまでのところ、私の理解は次のとおりです。 `TEXT` is program instruction memory `DATA` is variables (unitialised?) in program memory `BSS` is variables occupying RAM …
19 sram 

5
どのくらい再帰できますか?どのくらい再帰できますか?どのくらいca!@#QFSD @ $ RFW
Arduino UnoボードのRAMは限られているため、使用可能なコールスタックは限られています。特定のアルゴリズムを実装するための唯一の迅速なオプションが再帰である場合があります。だから、コールスタックが厳しく制限されていることを考えると、ボード上で実行されている特定のプログラムを考えると、スタックオーバーフローが発生する前に(そして悪いことが起こる)正確にいくつの再帰呼び出しを許容できるかを知る方法は何でしょうか?
19 programming  sram 

5
スタックメモリは関数とローカル変数にどのように使用されますか?
一部の値をEEPROMに保存し、いくつかの変数宣言を回避してSRAMを解放したかったのですが、EEPROMメモリはバイト単位です。 int値を格納する場合は、いくつかの式を繰り返し使用する必要があります。それらのためにいくつかの機能を作りたいと思いました。しかし、関数を作成してもSRAMメモリを占有するのではないかと心配しています。EEPROMを使用する代わりにint変数を宣言した方がよいでしょう。 関数とローカル変数はSRAMにどのように保存されますか?フラッシュメモリーからの関数ポインターのアドレスのみを保存しますか、それともすべての変数とコマンドがスタックに保存されますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.