利用批处理文件(.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信息等可以通过终端显示