利用批處理文件(.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信息等可以通過終端顯示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM