[Quartus II] 解決 Ubuntu 12.04 無法正常使用 Nios II EDS Shell - sof2flash 功能

       Ubuntu 12.04 LTS使用Quartus II 12.0 SP2將.sof檔轉成.flash檔以便於燒錄至FPGA板,此轉檔功能是使用Nios II EDS Shell所提供,經指令sof2flash功能來產生可供燒錄的.flash檔案。

       不過在Ubuntu或是Debain等相關的系統中,只要使用sof2flash功能就會出現錯誤,導致.flash檔無法順利產生,以下是解決方法只適用於Ubuntu或相關系統中。

A. 錯誤訊息部份:
     執行nios2_command_shell 後,使用sof2flash功能出現以下錯誤訊息

    /opt/altera/12.0/nios2eds/bin/sh_jar.sh: 2: Bad substitution

    追蹤問題後發現是在/opt/altera/12.0/nios2eds/bin/pl_jar.pl中的變數nios2sh_JRE,因為不明原因被設定為"/linux/jre/bin/java"

B.解決方法:
Step 1. 開啟檔案pl_jar.pl,檔案位置 /<你的安裝路徑>/altera/12.0/nios2eds/bin/pl_jar.pl
             在檔案第2行中加入以下scripts,不要加再exit system 該行後面

              $nios2sh_JRE = "/<你的安裝路徑>/altera/12.0/quartus/linux/jre/bin/java";

Step 2. 開啟檔案sh_jar.sh,檔案位置 /<你的安裝路徑>/altera/12.0/nios2eds/bin/sh_jar.sh
             加入以下scripts,將第1行#!/bin/sh替換掉,存檔後離開

              #!/bin/bash

Step 3. 開啟檔案sof2flash,檔案位置 /<你的安裝路徑>/altera/12.0/nios2eds/bin/sof2flash
             同Step 2.加入以下scripts,將第1行#!/bin/sh替換掉,存檔後離開

              #!/bin/bash

C.使用方法:
    完成後,輸入以下指令即可使用sof2flash

     sof2flash --input=<file_name>.sof --output=<file_name>.flash --offset=<offset_addr>

    同樣的可輸入指令查詢用法

     sof2flash --help


**參考資料:
http://www.alteraforum.com/forum/archive/index.php/t-32760.html

留言

這個網誌中的熱門文章

[Ubuntu] 幫 Ubuntu 更換 Kernel

[Ubuntu] ModelSim Linux 安裝