原创 JIC相关

2012-12-3 12:33 5371 7 7 分类: FPGA/CPLD 文集: ALTERA FPGA

        有人在altera论坛提出有关JIC产生的问题,有几个精彩的答复,在此提取以供学习。原始帖子链接在这里:http://www.alteraforum.com/forum/showthread.php?p=77416&posted=1#post77416


        1、jic文件怎么产生,以及什么情况下要用到jic和如何配置有很多文章进行了相关的介绍,网上搜索一大把,这里不介绍。


 


        2、进行NIOSII嵌入式系统开发的时候,用EPCS器件作为软硬件存储的时候,可以把硬件配置以及软件同时烧写到EPCS器件。烧写的方式有两种,一种是在NIOS IDE的flash programmer里实现,另外一种就是通过JIC来实现。具体方法就是将sof和elf文件合成一个jic文件,其步骤是:


1) Convert SOF to Flash
sof2flash --epcs --input=$sof --output=hw.flash --quiet

2) Convert ELF to Flash
elf2flash --epcs --after=hw.flash --input=$elf --output=sw.flash

3) Concatenate
cp hw.flash hw_sw.flash
cat sw.flash >> hw_sw.flash

4) Create HexFile
nios2-elf-objcopy --input-target srec --output-target ihex hw_sw.flash $hex


5)  Use Quartus -> File -> Convert Programming File ...
select output: *.jic , select your epsc, outputfilename,
select flash-loader for your device
remove sof-entry
add hex file (merge.hex, absolute)
Generate ...


 


        3、普通FPGA开发的时候需要通过jtag口加载的时候可以通过脚本来实现自动产生jic,下面是其步骤:


        1)、设置好jic转换所有设置选项,并保存到转换设置文件如jic_auto_gen.cof;如下图所示:


点击看大图


        2)、创建脚本文件generate_jic_programming_file.tcl,脚本内容如下:


set module [lindex $quartus(args) 0]
 
if [string match "quartus_asm" $module] {
 
  # Include commands here that are run after the assember
      post_message "Running after assembler"
      set cmd "quartus_cpf -c jic_auto_gen.cof"



      # If the command can't be run, return an error.
      if { [catch {open "|$cmd"} input] } {
            return -code error $input
  }
}


        3)、将脚本文件加入到qsf文件中,具体格式如下


set_global_assignment -name POST_MODULE_SCRIPT_FILE "quartus_sh:generate_jic_programming_file.tcl"


 


以上步骤完成后,Quartus II软件在Assembler后会自动产生jic文件。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条