FPGA上でソフトコアCPUを動かす手引き : MAX 10 FPGAで学ぶFPGA開発入門(6) (4/7 ページ)
さて、ここまでの作業でMAX 10上にて動作するプロセッサが構築され、さらにメモリとADC(A/D Converter)、GPIOがこのプロセッサから利用可能な状態になっている。ただし、プログラムを何も書き込んでいないので、この時点ではまだ何も動かない。そこでここからはNios II上で動作するプログラムを記述し、Nios IIにロードしてやる必要がある。
まずQuartus IIの「Tool」→「Nios II Software Build Tools for Eclipse」を選択し、Eclipseを立ち上げる(Photo21)。このEclipseで「New」→「Nios II Application and BSP from Template」を選択してTemplateファイルの選択画面を表示させる(Photo22)。
Photo21:初回はこんな具合にブランクだが、基本的には直前の作業状態を記憶しているので、次回からは直前の状況から再開できる。正直なトコロ、このバージョンはちょくちょくEclipseそのものが落ちるのだが、再起動すると直前の状況から作業を再開できるので大きなハンディにはならないだろう(ただしSaveは小まめに)。
Photo22:簡単なプログラムのテンプレートも用意されている
この画面で
SOPC Information File name:プロジェクトディレクトリのトップに、nios_setup.sopcinfoというファイルが生成されているので、これを指定する
CPU name: nios_gen_2_0(自動的にこれが選択される)
Project name:適当に自分でつける
Project template:"Hello World Small"を選択
と作業する。
完了すると、こんな具合になるはずだ(Photo23)。
Photo23:Hello Worldを選ばない理由は、printf()を含むCのライブラリが結構メモリを専有する(40KB以上)ので、SRAMを大容量に設定しないと、そもそも動作しないため
設定が終わったら右下の「Finish」ボタンを押すとしばらくの後、今回の例なら「TempSensor」と「TempSensor_bsp」の2つのプロジェクトが自動生成されている(Photo24)。ここでいきなりビルドをする前に、設定が1つ必要である。
Photo24:TempSensorはプログラムそのもの、TempSensor_bspはBSP(Board Support Package)で、要するにランタイムである
左ペインのプロジェクト名(TempSensor)を右クリックし、プロパティを表示させる(Photo25)。ここで「Nios II Application Properties」を選ぶと、標準ではOptimization levelが「Size」になっているので、これを「Off」にする(Photo26)。同様に、TempSensor_bspの方もやはりOptimization levelを「Off」にする。
Photo25:これは最適化の設定のためであるが、なぜか最適化オプションは"Nios II Application Properties"に用意されている
Photo26:この目的はAlteraによれば"compiler optimization may cause some problems while running the program."との事。
FPGAのLED制御プログラムを深く理解する
FPGA開発に必要なHDLへの理解を深めるため、MAX 10に用意されているArduino I/Oを利用してのLチカを行い、多灯LEDの制御を含めたプログラミングも解説する。今回も連載で使う「MAX 10 FPGA 評価キット」の読者プレゼントをご用意。
「MAX 10 FPGA」のテスト環境を構築する
今回から実際に「MAX 10 FPGA評価キット」を利用しての開発に着手する。まずは環境構築だ。キット以外に必要なモノもあるので注意して欲しい。今回も連載で使う「MAX 10 FPGA 評価キット」の読者プレゼントをご用意。
なぜFPGAが注目されるのか、開発ボードに触れて確認する
最近では「FPGAの重要性」について語られる機会が増え、適用事例も増加している。ではなぜ今FPGAなのか。実際の開発ボードでFPGAを学びながら、FPGAへの理解を深めよう。連載で使う「MAX 10 FPGA 評価キット」の読者プレゼントもご用意。
なぜFPGAが注目されるのか、開発ボードに触れて確認する
最近では「FPGAの重要性」について語られる機会が増え、適用事例も増加している。ではなぜ今FPGAなのか。実際の開発ボードでFPGAを学びながら、FPGAへの理解を深めよう。連載で使う「MAX 10 FPGA 評価キット」の読者プレゼントもご用意。
いまさら聞けない FPGA入門
あなたは、人に「FPGA」を正しく説明できるだろうか? いまや常識となりつつあるFPGAについて、あらためてその概念から仕組み、最新動向までを解説する。(編集部)
Copyright © ITmedia, Inc. All Rights Reserved.