2016-07-20 3 views
-4

私の質問は:マイクロコントローラでメモリをどのように整理して管理するのですか? (これにはOSがないため、つまりMMUが存在しません)。マイクロコントローラにはプライマリメモリがどのように編成されていますか?

私はzynq 7000(ZC702)FPGAを使って作業しています。これには、独立したアームコアと別々のDDRメモリがaxiインターコネクトと一緒に接続されています。

私は11 1111 1111をDDR(10 1)に10進数で書きましたが、読んだ後に私に同じことを与えています。 私は111 1111 1111をDDR(11 1)に10進数で書くと、-1となります。

ここでは物理メモリ全体が消費されます。これは私がマイクロコントローラを使用する場合には当てはまりません。 誰がマイクロコントローラのメモリを管理しますか?

+1

MMUとOSは異なる概念です。あなたはもう一方を持たないかもしれません。 – Matthias

+2

SoCとマイクロコントローラは今日では異なる用語です。あなたの質問は非常に不明です。 1つのSoCタイプも1つのマイクロコントローラでもありません。また、FPGAベースのSoCはさらに柔軟性があります。あなたは基本についての詳細を学ぶべきです、あなたは非常に混乱しているようです(違反はありません)。 – Olaf

+2

マイクロコントローラの多くは、マニュアルを読む必要があります。私はあなたが異なるアーキテクチャーを世話するOSを持っていないので、自分でそれをやらなければならないということです。メーカーがいくつかの開発キットを提供しているかどうかを確認してください。 – Aus

答えて

1

これは皮質-A9であり、形状や形は決してマイクロコントローラではありません。

そのアーキテクチャのアームのドキュメントを読むと、そこにmmuがあります。予想通り、Cortex-Aコアの一部です。

who/how/when ddrはいつ初期化されますか?誰かが書き込む前にそれを初期化して読み返す必要があります。 10ビットの10進数は32ビットの書込み/読込みで、11は33ビットで、どのサイズの書込み/読取りを使用しましたか?どのくらいのddr持っていますか?私はあなたがddrと話す準備ができていないと考えています

256KのオンチップRAMがあります。

これはすべて、ザイリンクスおよびアームのマニュアルに記載されています。経験豊富なブートローダの開発者はDDRを初期化するには何ヶ月もかかりますが、それがいつどのように行われたのですか?それを初期化することができなかった場合、起動していることを確認するドラムテストがありますか?あなたのコードが実行される前に、あなたのddrがどのように初期化されたのですか(あなたのコード、あなたの前のいくつかのコード、ロジックなど)、いつ実行されたのですか?たぶんそれはあなたの仕事を初期化することです。

MMUでは、そのコアに関するすべてのものと同じようにarm docsを読んだだけです。その後、ザイリンクスのドキュメントと一緒に作業してください。そして、もちろん、アームコアとドラムを接続するためにFPGAデザインの残りの部分を担当したのは誰ですか?使用しているアドレス空間、デコーディング、サポートするアライメント、サポートされているaxi転送などは何ですか?それはあなたの特定のデザインのためのFPGAのロジックデザイナーと話をしなければならないここに誰かができる何かではありません。

オペレーティングシステムがない場合は、ベアメタルを実行しています。あなたはプログラマがメモリ管理を担当しています。必ずしもmmuを必要としない場合があります。プログラミングタスクとソフトウェアとシステムの全体的な設計に完全に依存します。 mmuはハードウェア、オペレーティングシステムはハードウェア上で動作するソフトウェアです。あるものはもう一方を使用するかもしれませんが、割り込みコントローラやドラムコントローラー、またはuartなどがオペレーティングシステムに結びついている以上に、互いに結びついているわけではありません。オペレーティングシステムやその他のソフトウェアは、そのハードウェアを使用することができますが、他のソフトウェアと一緒に使用することもできます。

関連する問題