利用批处理文件(.bat)下载sof及elf文件至FPGA

开发环境:

FPGA: Cyclone II, Cyclone III, Altera Inc.

SDK: Quartus 10.0, Nios II IDE 10.0

 

使用FPGA器件的用户必定知道,在整个工程编译成功后,系统会生成.sof或者.pof文件。如果是利用Nios II软核进行SOPC开发的话,在sof文件下载后,还需要下载elf文件。不同软件的切换,繁复的操作是件痛苦的事,而且如果是为团队中算法人员开发的硬件环境,算法人员往往不会实际操作,因此,可以利用批处理文件(.bat)一次性下载sof及elf文件至FPGA中。

1. 确认你的环境变量

在Quartus及Nios IDE安装成功后,在用户的环境变量中,会生成如下两个环境变量:

%SOPC_KIT_NIOS2% D:\Nios\nios2eds
%QUARTUS_ROOTDIR% d:\altera\10.0sp1\quartus

这两个变量用于存放Quartus及Nios IDE的安装根目录路径信息,用于后面脚本中寻找相应程序,务必确认指向的是正确的安装路径。

2. 把sof文件及elf文件置于一文件夹内,新建两个脚本文件如下:

3. .bat文件编写代码如下:

%QUARTUS_ROOTDIR%\\bin\\quartus_pgm.exe -m jtag -c USB-Blaster[USB-0] -o "p;2D_Barcode_Platform.sof"
@ set SOPC_BUILDER_PATH_71=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_71%
@ set SOPC_BUILDER_PATH_72=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_72%
@ set SOPC_BUILDER_PATH_80=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_80%
@ set SOPC_BUILDER_PATH_81=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_81%
@ set SOPC_BUILDER_PATH_82=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_81%
@ set SOPC_BUILDER_PATH_90=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_90%
@ set SOPC_BUILDER_PATH_91=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_91%
@ set SOPC_BUILDER_PATH_92=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_92%
@ set SOPC_BUILDER_PATH_100=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_100%
@ set SOPC_BUILDER_PATH_101=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_101%
@ set SOPC_BUILDER_PATH_102=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_102%
@ set SOPC_BUILDER_PATH_100=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_110%
@ set SOPC_BUILDER_PATH_101=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_111%
@ set SOPC_BUILDER_PATH_102=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_112%
@ set SOPC_BUILDER_PATH_100=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_120%
@ set SOPC_BUILDER_PATH_101=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_121%
@ set SOPC_BUILDER_PATH_102=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_122%
@ "%QUARTUS_ROOTDIR%\bin\cygwin\bin\bash.exe" --rcfile ".\2D_Barcode_Platform_bashrc"
pause

 最后一段是指向脚本文件bashrc

4. bashrc文件编写代码如下:

 1 alias nb=nios2-build
 2 alias nios-build=nios2-build
 3 alias nr=nios2-run
 4 alias nios-run=nios2-run
 5 alias nd=nios2-debug
 6 alias nios-debug=nios2-debug
 7 alias nc=nios2-console
 8 alias nios-console=nios2-console
 9 
10 # richard add
11 nios2-download 2D_Barcode_Platform.elf -c USB-Blaster[USB-0] -r -g
12 nios2-terminal -c USB-Blaster[USB-0] 

 

然后直接运行bat文件便可以执行下载。注意文件名需要保持一致。


5. 另附nios常用指令说明

nios2-config-sof *.sof -c USB-Blaster[USB-0]

 下载相应sof文件至FPGA中,如果只有一条下载线,-c设置可以省略

nios2-download *.elf -c USB-Blaster[USB-0] -r -g

 下载相应elf文件至FPGA中,如果只有一条下载线,-c设置可以省略

nios2-terminal -c USB-Blaster[USB-0] 

 使得Bash界面可以作为调试终端,Debug信息等可以通过终端显示

posted on 2012-08-29 20:25  Gary.Lee  阅读(4305)  评论(2编辑  收藏  举报

导航