私は現在、Atmel SAML21Jマイクロコントローラに組み込みアプリケーションを開発しています。私は256KBのフラッシュメモリと40KBのSRAMメモリを持っています。マイコンはいつ私のフラッシュメモリまたは私のRAMを使用しますか?
Program Memory Usage 66428 bytes 24,6 % Full
Data Memory Usage 29112 bytes 71,1 % Full
私が私のコードを実行するために開始する前であっても、私はすでに71%の完全なRAMを持っていることを意味するようだ:私はMCUに私のアプリをプログラミングするとき、私は次のメッセージを持っています。
私は次のことを知っているしたいと思います:RAMで定義されているもの
、そしてどのようなフラッシュで定義されているの?
私はSRAMのスペースを節約するために、もっと多くのフラッシュを使用することができますか?
- 私のスタックのサイズを指定する ".ld"ファイルが見えました。それを高くすれば、RAMにはもっと多くの領域が残っていますか?
- この.ldファイルでは、メモリ(Flash + SRAM)は1つの一意のメモリエンティティと見なされますか? (例えば、SRAMのアドレスが始まり、フラッシュが終了することを意味します)
このテーマで多くのことを読んでも、これはまだ私にとっては陰影です。本当にありがとうもしあなたがそれについて私を拡大させたら。おかげさまで
わかりません。埋め込みアプリケーション用にビルドするので、メモリマップ内のセグメントとセクションの配置を完全に制御できます。あなたはすでにあなたが求めるすべてを知っているはずです!詳細を知りたい場合は、リンカーマップファイルを見てください。 –
..そしてもちろん、あなたのユーザーマニュアル。 –
Martin James、私は知っていますが、これはすべて私にとって日陰です。これらの質問に答えることは、メモリマップの管理に役立ちます。私はすでにそれをしていない、それは私に理解することがちょっと難しいので。 – user1943797