FC2ブログ

[VEEK]Application Selector用HW(.sof -> .flash -> .bin), SW(.elf -> .bin)ファイル作成方法

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=670&PartNo=4

どんなファイルを用意すればApplication Selectorで読めるのか?を調べた。

◆pdfのpage44のCreating Your Own Loadable Applications説明和訳
・必要な物は、HWイメージ(.sof)と、それ上で動くSWイメージ(NIOS II .elf)のみ。

・制約は以下だけ。
  - HWデザインはCFI Flash controllerを含む事。
  - .SOFがNios IIを含むなら、リセットアドレス=CFI Flash、offset 0x0 にする。
  - プログラムメモリ (.text section)はフラッシュメモリへセット。

・.SOFと.ELFは以下ステップで変換。
  - Nios II Command Shell起動(Start ->Programs -> Altera -> Nios II EDS -> Nios II Command Shell)
  - sof2flash --epcs --input=*.sof --output=*_HW.flash
  - nios2-elf-objcopy –I srec –O binary *_HW.flash *_HW.bin
  - nios2-elf-objcopy –O binary *.elf *_SW.bin
  - SDカード内Dir構成: Application_Selector\<表示アプリ名>\*_SW.bin & *_HW.bin



・今やってる「Linux with MMU on VEEK/t-Pad」を参考にやってみる。
 ちなみに、Cygwinではエラーが出て出来なかった。

x230: sof2flash --epcs --input= DE2_115_NIOS_HOST_MOUSE_VGA_time_limited.sof --output= DE2_115_NIOS_HOST_MOUS
E_VGA_time_limited_HW.flash
: No such file or directorys2eds/bin/sof2flash: line 4: /cygdrive/c/altera/13.1/nios2eds/bin/sh_jar.sh



・さらに、この記事によると、ふつーに実行してもダメらしい。
http://shopaltera.com/support/kdb/solutions/rd11112013_614.html
確かに、記事にあるQUARTUS_BINDIR変数を設定しなかったら、実行してもエラーは出ないが何も生成されなかった。
なので、ちゃんとNios Command Shellをスタートメニューのプログラムから起動して、さらに記事に従い変数も設定して実行してみた。しかしエラー。

bob@x230 /cygdrive/c/user/work/veek/Linux_with_MMU_on_VEEK_t-Pad/DE2_115_NIOS_HOST_MOUSE_VGA_restored
$ export QUARTUS_BINDIR=${QUARTUS_ROOTDIR}/bin

bob@x230 /cygdrive/c/user/work/veek/Linux_with_MMU_on_VEEK_t-Pad/DE2_115_NIOS_HOST_MOUSE_VGA_restored
$ sof2flash --epcs --input=DE2_115_NIOS_HOST_MOUSE_VGA_time_limited.sof --output=DE2_115_NIOS_HOST_MOUSE_VGA_time_
limited_HW.flash
Info: *******************************************************************
Info: Running Quartus II 32-bit Convert_programming_file
Info: Command: quartus_cpf --no_banner --convert --device=EPCS128 --option=DE2_115_NIOS_HOST_MOUSE_VGA_time_limited
_HW.opt DE2_115_NIOS_HOST_MOUSE_VGA_time_limited.sof DE2_115_NIOS_HOST_MOUSE_VGA_time_limited_HW.pof
File DE2_115_NIOS_HOST_MOUSE_VGA_time_limited.sof contains one or more time-limited megafunctions that support the
OpenCore Plus feature that will not work after the hardware evaluation time expires. Refer to the Messages window f
or evaluation time details.
Info (210040): SRAM Object File DE2_115_NIOS_HOST_MOUSE_VGA_time_limited.sof contains time-limited megafunction tha
t supports OpenCore Plus feature -- Vendor: 0x6AF7, Product: 0x00A2
Error: Quartus II 32-bit Convert_programming_file was unsuccessful. 0 errors, 0 warnings
Error: Peak virtual memory: 199 megabytes
Error: Processing ended: Sun Jan 05 02:43:54 2014
Error: Elapsed time: 00:00:03
Error: Total CPU time (on all processors): 00:00:03
Info: *******************************************************************
Info: Running Quartus II 32-bit Convert_programming_file
Info: Command: quartus_cpf --no_banner --convert DE2_115_NIOS_HOST_MOUSE_VGA_time_limited_HW.pof DE2_115_NIOS_HOST_
MOUSE_VGA_time_limited_HW.rpd
Error (213009): File name "DE2_115_NIOS_HOST_MOUSE_VGA_time_limited_HW.pof" does not exist
Error: Quartus II 32-bit Convert_programming_file was unsuccessful. 1 error, 0 warnings
Error: Peak virtual memory: 183 megabytes
Error: Processing ended: Sun Jan 05 02:43:57 2014
Error: Elapsed time: 00:00:01
Error: Total CPU time (on all processors): 00:00:01
2014/01/05 2:43:57 - (致命的) sof2flash: Read error: File: DE2_115_NIOS_HOST_MOUSE_VGA_time_limited_HW.rpd not foun
d, exiting
2014/01/05 2:43:57 - (致命的) sof2flash: Error retrieving data from DE2_115_NIOS_HOST_MOUSE_VGA_time_limited_HW.rpd

スポンサーサイト



コメントの投稿

非公開コメント

No title

time_limited.sof はライセンス上 pof ファイルを作れないので、結果的にflashは生成できません。

No title

KASUYASU様

度々コメント頂きありがとうございます。
「Linux with MMU on VEEK/t-Pad」ページの作成者からコメント頂けるとは感激です。
(仕事始まってしまい先日のコメントに対する確認がまだ出来てません・・・すみません)

> time_limited.sof はライセンス上 pof ファイルを作れないので、結果的にflashは生成できません。

なるほど、そういう事ですか。勉強になりました。
目的は、WikiにUp頂いたHWデータを使って、Application Selectorで扱える.binを作成する事でした。
HWとSWを自分で自由に作れるようになれば、それをいじってLinuxが動作する構成を勉強出来るかと思ったのですが。
KASUYASUさんは、有償版NiosII /fをお使いだからtime_limitedにならないって事ですよね?
個人でNiosII /fを購入するのはツライので、NiosII /eを使う事で先に進めないかと期待して試してますが・・・

No title

 こんにちは。

>目的は、WikiにUp頂いたHWデータを使って、Application Selectorで扱える.binを作成する事でした。
>HWとSWを自分で自由に作れるようになれば、それをいじってLinuxが動作する構成を勉強出来るかと思ったのですが。

 DE2_115_NIOS_HOST_MOUSE_VGA_time_limited.sof 自体は、QuartusからJTAG経由でダウンロードできますし、作成したkernelもnios2-downloadを使えばダウンロードできますので、VEEK単独で長時間動かしたいと言うことでなければ、有償版を使う必要性はないかと。と言うか、私、開発中は(ライセンスがあるパソコンは職場にしかないので)家でずっとtime_limited.版でやっていました。結構頻繁に修正したり、SignalTapIIで信号を見たりしなければならないので、flashを作って・・・の方がかえって手間です。

>NiosII /eを使う事で先に進めないかと期待して試してますが・・・

 今のところMMUはNiosII/fにしか組み込めませんし、同じLinuxといってもMMUありとなしでは、別物といって良いほど色々細部が異なってきます(MMUありでないと実行できないアプリも多数存在します。代表的なのがbashです)。また、NiosII /eは/fの速度の3分の1も出ませんので、MMUなしを組み込めたとしても相当期待はずれな性能になると思います。

No title

おはようございます。
度々ありがとうございます。返信遅れてすみません。

> DE2_115_NIOS_HOST_MOUSE_VGA_time_limited.sof 自体は、QuartusからJTAG経由でダウンロードできますし、作成したkernelもnios2-downloadを使えばダウンロードできますので、VEEK単独で長時間動かしたいと言うことでなければ、有償版を使う必要性はないかと。

そうでした。Wikiと同じ環境構築したくてApplication Selectorで読める.bin形式を目標にして
ましたが、よくよく考えるとご指摘の通りですね。これは悩む必要なかったです。


> 今のところMMUはNiosII/fにしか組み込めませんし、同じLinuxといってもMMUありとなしでは、別物といって良いほど色々細部が異なってきます(MMUありでないと実行できないアプリも多数存在します。代表的なのがbashです)。

uClinuxだとMMU不要だと思ったため、/eでもOKかと思ってました。
bashがMMUを使うとは知らなかったです。勉強になりました。

あと教えて頂きたいのですが「Linux with MMU on VEEK/t-Pad」で使われたuClinuxの
ソフトウェアソースは、Wikiに置いてあるのでしょうか?(見つからなかったので)
もしくは構築する上で参考になるサイトなどありますでしょうか?
ハードウェアの方はWikiにデータあり、コンパイルして.sof作成まで行けたので、
これをいじっていけば遊べると思ってます。
ソフトの方もカーネルのビルドから出来れば、いろいろ遊べるかと思ったので。

No title

>あと教えて頂きたいのですが「Linux with MMU on VEEK/t-Pad」で使われたuClinuxの
ソフトウェアソースは、Wikiに置いてあるのでしょうか?(見つからなかったので)

全部のソースをアップするのはとてつもなくシンドイので、一応/nios2-linux/linux-2.6/arch/nios2/に入るソースのみ、SMPのページにアップしています。

http://www.alterawiki.com/wiki/File:Nios2.tar.gz

シングル・コア、マルチ・コアとも共通のソースですが、使用バージョンが一寸古くVer.2.6.30なのと、gccなどtool側にもバグがあるので色々イジッっていたりで、ここからkernelを再構築するのは少々大変かもしれません。バグに関する話は

http://www.alteraforum.com/forum/showthread.php?t=18802

あたりで長々とやっていますので、よろしければこちらも参照して下さい。
 構築する上で参考になるサイトで最新のものは

http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual

あたりのようです。

No title

おはようございます。
情報ありがとうございます。

> 全部のソースをアップするのはとてつもなくシンドイので、一応/nios2-linux/linux-2.6/arch/nios2/に入る
> ソースのみ、SMPのページにアップしています。
>http://www.alterawiki.com/wiki/File:Nios2.tar.gz

SWのソースありかなんて安易に聞いてしまって申し訳ありません。


> シングル・コア、マルチ・コアとも共通のソースですが、使用バージョンが一寸古くVer.2.6.30なのと、
> gccなどtool側にもバグがあるので色々イジッっていたりで、ここからkernelを再構築するのは
> 少々大変かもしれません。バグに関する話は
> http://www.alteraforum.com/forum/showthread.php?t=18802
> あたりで長々とやっていますので、よろしければこちらも参照して下さい。

ちょっと覗いたら、hippoさんとやり取りされてました。
Altera FPGA関連で調べるとhippoさんのコメントが非常に多く目についたので覚えてました。
しかもKazuyasuさん「Altera Teacher」とかなってるし。。。
バグ修正のやり取りなんて、私にはまだまだ早い情報のようです。


> 構築する上で参考になるサイトで最新のものは
> http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual
> あたりのようです。

ありがとうございます!
非常に詳しくまとめられているようで、参考なります。
カレンダー
01 | 2020/02 | 03
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード