zoukankan      html  css  js  c++  java
  • 利用批处理文件(.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信息等可以通过终端显示

  • 相关阅读:
    001-快速排序(C++实现)
    NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法
    jenkins数据迁移方案
    gitlab仓库迁移方案
    rancher中搭建elk,部分配置文件
    Spring事务传播行为详解
    Linux下安装配置启动RabbitMQ
    Nginx做代理路由时,不转发http的header问题
    @Validated @RequestBody @RequestParam配合使用校验参数
    jenkins环境搭建
  • 原文地址:https://www.cnblogs.com/garylee/p/2662626.html
Copyright © 2011-2022 走看看