[NiosII]IDEからSBT(Software Build Tools) for Eclipseへの移行
Windows 7が入ったノートが夏前に買ったきり、ほったらかしになっている。
ソフト開発環境には、Legacy IDEと、SBT for Eclipseと2つあるようだ。
Eclipseの方はWindows 7で動くのでは?と期待して、ちょっといじってみた。
■ソフトのビルド
・SBT起動時に出てくるプロジェクト場所指定で適当な場所にして、
サンプルプロジェクトをhello_worldで決定すると、何やら実行されて
指定したPRJ名
指定したPRJ名 + _bsp
のフォルダができる。
IDEでビルド成功してるデータ一式をそのままコピーしてSBTでビルド
すると、いろいろエラー。IDEでは読んでくれたincludeファイルのパス
の解釈が違う?ようで、「not found」的なエラー発生。
ファイル移動して対処。
■シミュレーション
・SBTでビルドしただけでは、hexやdatが生成されなかった。
IDEではビルドすると、SOPC Builderプロジェクト場所に、
PRJ名 + _sim
というフォルダへdatとhexが生成される仕組み。
これを読み込んでシミュレーション成功していた。
・何となく以下手順でやってみたら、hexが生成された。
SBTでビルド > 左側のProject Explorer内のelf上右クリック > Run As
> Run Configurations > NiosII ModelSimでダブルクリック
> 最上段のNameにテキトーな名前入力(今回はPRJ名+_conf)
> ModelSim Pathにツールexeまでのパス名入力。
> RUNで実行。
すると以下エラーでSTOPしたがem_init内にhexが生成された。
mem_init/hdl_simというフォルダもあるがこちらは空。
**** Build of configuration Nios II for project hoge_eclipse ****
make mem_init_install
Info: Building ../hoge_eclipse_bsp
make --no-print-directory -C ../hoge_eclipse_bsp
[BSP build complete]
Post-processing to create mem_init/prog_mem.hex...
elf2hex hoge_eclipse.elf 0x02008000 0x02008fff --width=32 \
--create-lanes=0 mem_init/prog_mem.hex
Post-processing to create mem_init/sgdma_desc.hex...
elf2hex hoge_eclipse.elf 0x02014000 0x02014fff --width=32 \
--create-lanes=0 mem_init/sgdma_desc.hex
Post-processing to create mem_init/sgdma_mmc_desc.hex...
elf2hex hoge_eclipse.elf 0x00002000 0x00002fff --width=32 \
--create-lanes=0 mem_init/sgdma_mmc_desc.hex
Post-processing to create cfi_flash.flash...
elf2flash --input=hoge_eclipse.elf --outfile=cfi_flash.flash --sim_optimize=0 --base=0x06000000 --end=0x06ffffff --reset=0x06000000 --boot="C:\altera\91\nios2eds/components/altera_nios2/boot_loader_cfi.srec"
2010/11/30 21:57:10 - (致命的) elf2flash: Boot copier overlaps data in flash
2010/11/30 21:57:10 - (致命的) elf2flash: Error generating Flash file, exiting
make: *** [cfi_flash.flash] Error 5
現構成では外付Flashへプログラム格納していて、IDEだと「cfi_flash.dat」が生成されて、
シミュレーションに使っているが、Flashに関するデータが生成されない。
まだ何かやる事があるのかな?
ちなみにIDEの方のシミュレーション用ファイル作成については以下に書いてあるみたい。
Simulating Nios II Embedded Processor Designs
http://www.altera.co.jp/literature/an/an351.pdf
(2010/12/1追記)
■Flash Programmer
参考資料
http://www.altera.com/literature/ug/ug_nios2_flash_programmer.pdf
・SBT起動 > NiosII > Flash Programmer > File > New
> BSP or SOPC INFOを選択。
> Flash Programmer画面起動後 > Hardware Connectionsボタン
> 以下2つにチェック。
そうしないと、回路内に2つ共入ってないためエラーMSG出て、焼き込み出来ない。
Ignore mismatched System ID
Ignore mismatched System timestamp
> Files for Flash conversionの欄へ、sofとelfを追加。
> 右下のStartで焼き込み開始。すると以下エラーで失敗。
Error code: 8 for command: $SOPC_KIT_NIOS2/bin/nios2-flash-programmer
"C:/user/work/neek ..../_cfi_flash.flash" --base=0x4000000
--accept-bad-sysid --device=1 --instance=0 '--cable=USB-Blaster [USB-0]'
--program --verbose
何が悪いのか・・・もう少し参考資料を熟読する必要ありそうだ。