私の理解では、PC/組み込みシステムが起動した後、OS は RAM 領域全体を占有し、RAM は次のようになります。
つまり、私が書いたプログラムを実行している間、すべての変数、スタック、ヒープなどに割り当てられた動的メモリは領域内に残ります。Firefox、ペイント、gedit などを実行すると、それらもこのリージョンで実行されます。(この理解は正しいですか?)
ただし、OS リージョンを縮小したいと考えています。以下は、RAMを分割する方法の図です。
これを行う理由は、ドライバーを介して外部から受信したデータを固定された物理的な場所に保存したいため、をCustom Region
使用せずにユーザー空間から直接アクセスできるようにするためcopy_to_user()
です。
u-boot を構成することでそれを行うことは可能だと思いますが、私は u-boot の経験がありません。どこから始めればよいか、次のような指示を誰か教えてもらえますか?またはenvironment variables
u-boot の変更で十分でしょうか?
または、これを行う代替方法はありますか?
どんな助けでも大歓迎です。ありがとう!
p/s: 私は TI ARM プロセッサを使用しており、SD カードから起動していますが、問題があるかどうかはわかりません。