4

NXP LPC2478 で実行する uClinux システムを構築しています。このチップには、コードを直接実行できる 512k のオンボード高速フラッシュがあります。通常の外部 SDRAM からユーザー アプリをロードして実行したいと考えています。しかし、オンボード フラッシュから実行するためにプリロードしたい特別なグラフィックス ライブラリがあります。

グラフィックス ライブラリをコンパイルしてメモリ (フラッシュ) 内の固定位置で実行し、それを使用するアプリをコンパイル/リンクして、そのライブラリへのすべての参照をフラッシュ内の適切な位置に固定する方法はありますか?

修正を手動で行うカスタム アプリ ローダーを作成する必要がある場合は、それを行います。

4

1 に答える 1

1

GCCを使用していると思います。また、uCLinux、グラフィックライブラリ、アプリケーションを1つのフェーズでリンクして、実行可能ファイルを作成していると思います。すべてのコンポーネントのリンクは、リンカースクリプト(ldファイル)によって制御されます。必要なことを行うには、ldファイルを編集し、起動コードで適切な初期化を行う必要があります。

リンカスクリプトでは、データセクションを外部RAMに配置する必要があります。次に、グラフィックライブラリ用の特別なセクションを作成し、フラッシュに配置します。セクションを作成するときに、どのオブジェクトファイルを含めるかを指示できます。スタートアップコードでは、データセクションをフラッシュからRAMにコピーする必要があります。リンカは、RAM内のアプリケーションとフラッシュ内のグラフィックライブラリとのリンクを処理します。

これは、物事が一般的に行われる方法です。ツールチェーンとライブラリの要件に基づいて、さらに多くの手順が必要になる場合があります。

于 2008-12-24T08:23:27.527 に答える