開發環境:
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信息等可以通過終端顯示