Linuxをコンパイルするときにカーネルのベースアドレスを変更する方法は?

Linuxをコンパイルするときにカーネルのベースアドレスを変更する方法は?

私はRedPitaya FPGAボードを開発しており、ここで非対称マルチプロセッシングを使用したいと思います。 CPU0はLinuxを実行し、CPU1はBarmetalまたはfreeRTOSを実行します。

これを行うには、CPU1で実行されているアプリケーション/ FreeRTOSがメモリにアクセスできるようにカーネルロードアドレスを変更する必要があります。カーネルロードアドレスを変更する方法を知っている人はいますか?

私はいくつかの設定ファイル、デバイスツリー、u-bootがカーネルをロードするアドレスを変更する必要があると思います(これはわかりません)。残りは分かりそうですが、カーネルの設定やソースから何を変えなければならないのかを把握するのに苦労しています。

PS:PetaLinux SDKの使用は以下の説明に従って完了できます。Zynqデバイス用のOpenAMPフレームワーク17ページ。 PetaLinuxを使用せずにこれを行う方法を理解してください。

乾杯。ワカル・ラシド

ベストアンサー1

私が使用しているredpitayaボードの場合、解決策は簡単です。あなたがする必要があるのは、カーネルのコンパイルに使用されるmakeコマンドにカーネルベースアドレスを提供することだけです。 redpitayaの場合、Makefile.x86 uImageターゲットにあります(私の言葉を信じないでください)。

RedPitayaで非対称マルチプロセッシングのビデオチュートリアルを作成しました。これについてのステップはここにあります。時間

おすすめ記事