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

4
フラッシュメモリまたはSRAMが不足した場合はどうすればよいですか?
Arduinoの資料によると、ATmega328にはブートローダー+アップロードされたスケッチ用に32KBのフラッシュメモリがあり、ランタイムデータ用に2KBのSRAMしかありません。ATmega2560にはかなり多く、それぞれ合計256KBと8KBがあります。 どちらの場合でも、特にスマートフォンなどの同様のサイズの民生用デバイスと比較すると、これらの制限はかなり小さいように見えます。 使い果たしたら何ができますか?たとえば、スケッチが大きすぎる場合、または実行時に大量のデータ(文字列など)を処理する必要がある場合 フラッシュまたはSRAMを拡張する方法はありますか?

6
Arduino Unoのメモリを消去するにはどうすればよいですか?
私は息子と一緒にArduinoを勉強しているだけで、USBコードをArduinoに差し込んだときにプログラムがまだ実行されていることに驚いたアップ。" だから、これらのことで人々がそれを一日と呼ぶ通常の方法は何ですか?あなたは通常、裸の骨をロードしてスケッチを何もしませんか、それとも単にすべてを抜きますか?

3
PROGMEM:読み取りのためにフラッシュからRAMにデータをコピーする必要がありますか?
メモリ管理を理解するのが難しいです。 Arduinoのドキュメントによれば、文字列などの定数や、実行時に変更したくないものはプログラムメモリに保持することが可能です。私はそれをコードセグメントのどこかに埋め込んでいると考えています。これは、フォンノイマンアーキテクチャ内でかなり可能でなければなりません。そこからLCDのUIメニューを可能にしたい。 しかし、プログラムメモリからデータを読み取って出力するだけの命令には戸惑っています。 strcpy_P(buffer, (char*)pgm_read_word(&(string_table[i]))); // Necessary casts and dereferencing, just copy. Serial.println( buffer ); アクセスする前に、どうしてコンテンツをRAMにコピーする必要があるのですか?そして、これが本当なら、すべてのコードはどうなりますか?実行前にRAMに読み込まれますか?コード(32kiB)は2kiB RAMだけでどのように処理されますか?フロッピーディスクを運ぶ小さなゴブリンはどこにいますか? そしてさらに興味深い:この式のようにリテラル定数に何が起こるか: a = 5*(10+7) 5、10、7をレジスタにロードする前に実際にRAMにコピーするのですか?信じられません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.