単純な「Hello World」アプリケーションを作成し、アルテラのSoCのオンチップRAMをダウン ロードとデバッグするプロセスを完了した後、次のステップでは、オンチップRAMの代わりに
SDRAMで実行する同じプロジェクトを設定することです。
任意のSDRAMを使用するには、SDRAMコントローラを構成する必要があります。これは、プ
リローダーをロードして実行することによって行われます。
ロードとプリローダーの実行の詳細については、「Preloader」を参照してください。
関連情報
22ページのプリローダー
新しいスキャッタ・ファイルを作成するSDRAMへのベア・メタル・アプリケーションの検索
DS-5 ARMコンパイラのプロジェクトでは、メモリ・マップの必要な部分のコードを検索するた
めに使用されるアドレスを指定するスキャッタ・ファイルです。
このステップにおいて、同じ「Hello World」アプリケーションを使用しますが、オンチップの RAMの代わりにそれをSDRAMメモリに配置してください。
SDRAMを使用するには、SDRAMメモリ・コントローラを設定するには、プリローダーを実行
する必要があります。SDRAMからのプロジェクトの実行を開始する前に、SDRAMが設定され ていない場合、次のエラー・メッセージが表示されます。
ERROR(CMD16-TAD274-NAL22):
! Failed to load "bare metal-hello-world-01.axf"
! Failed to write 4,896 bytes to address S:0x02000000 while writing block of 4,096 bytes to address S:0x02000000
! General error on memory or register access.
1. SDRAMのスキャッタ・ファイルを作成します。 File > New > Others...の下にScatter File Editor > Scatter Fileを選択します。
2. Nextをクリックし、scatter_SDRAM.scatで新しいスキャッタ・ファイルのファイル名を入力
し、Finishをクリックします。
3. scatter_SDRAM.scatエディタ・ビューで、次のように入力します。
SDRAM 0x02000000 0x02000000 ; 32M SDRAM {
APP_CODE + 0 {
* (+ RO , + RW , + ZI ) }
ARM_LIB_STACKHEAP 0x03000000 EMPTY 0x0x01000000 ; Application heap and stack
{ } }
注意: HWLibsプロジェクトが割り込みサポートが必要な場合、 スキャッタ・ファイルの先 頭に「VECTOR」セクションを追加する必要があります。例えば:
SDRAM 0x00100000 0x40000000 {
す。
Altera Corporation ベア・メタルのユーザー・ガイド
フィードバック
VECTORS +0 {
* (VECTORS, +FIRST) }
APP_CODE +0 {
* (+RO, +RW, +ZI) }
ARM_LIB_STACKHEAP +0 EMPTY (0x40000000 - ImageLimit(APP_CODE)) ; Application heap and stack
{ } }
これは、 "<SoC EDS installation path>\embedded\examples\software」にHWLibs例のほと
んどでSDRAMから実行プロジェクトのための標準的なスキャッタ・ファイルです。
プロジェクトで「alt_interrupt_armcc.s」をコンパイルとリンクしなければならないこ とに注意してください。 ARMCCツール・チェインが自動的にプログラムの開始時に ベクトルを提供しないため、これが必要とされています。
注意: 単純な「Hello World」のプロジェクトを実行しているので、このセクションで は、ベクタ・セクションが含まれていません。
図42: SDRAM Scatter File Code Snippet
4. 新しいスキャッタ・ファイルは、Project Explorerビューに表示されていることを確認します。
ョンの検索
図43: Project ExplorerでのSDRAM Scatterファイル
5. プロジェクトで新しいスキャッタ・ファイルを関連付けます。プロジェクトを右クリックし、
Properties > C/C++ Build > Settings > ARM Linker 5 > Image Layoutを選択します。
6. 新しいスキャッタ・ファイルを参照します。
7. あるいは、閲覧の代わりに、次のようなパスを入力します: ${workspace_loc}\bare-metal-hello-world-01\scatter_SDRAM.scat)。また、ApplyとOKを選択します。
ョンの検索
Altera Corporation ベア・メタルのユーザー・ガイド
フィードバック
図44: SDRAMスキャッタ・ファイルの場所の設定
8. プロジェクトを右クリックし、新しいスキャッタ・ファイルで再構築するには、 Build Project を選択します。アプリケーションをダウンロードして実行する前に作成した同じデバッグ設 定を使用します。
プログラムは、メインで停止し、そこに待機します。 Commandsビューで、エントリ・ポイ
ントは0x02000000、ある注目してください。これは、SDRAMのスキャッタ・ファイルで指定
された開始アドレスです。
ョンの検索
図45: SDRAMの開始アドレスで停止するプログラム