FPGA配置AS串行配置芯片方法(包括非EPCS系列芯片)
QQ:740194480
一、不含NIOS的FPGAEPCS配置方式
配置SPI FLASH 芯片EPCS系列,ALTERA有两种方式,还只能配置EPCS系列。
1、直接配置如图,需要AS的下载插座,在QUARTUS II软件下编程有:PS,JTAG,AS..选择AS模式,按提示操作。
2、间接配置用JTAG,其实和一般的下载方式相比, 这种下载方需要先把*.sof 文件转成*.jic 文件, 然后在 JTAG模式下选择*.jic 文件下载即可。这样FPGA的程序调试和配置SPIFLASH芯片只要一个座。网上可以找到图文并茂的文章。
《使用 JTAG 方式配置 EPCS芯片 》。
二、epcs系列存配置与程序
a) 在SOPC builder里添加EPCS Device Controller Core,修改cpu里Reset
Vector为epcs_flash_controller。
b) 编译后把sof文件格式转换成flash文件格式 sof2flash --epcs
--input=example.sof --output=sof.flash
c) 把elf文件格式转换成flash文件格式: elf2flash --epcs
--after=sof.flash --input=hello_word.elf
--output=hello_epcs4.flash --boot=boot_loader_epcs.srec
--after=sof.flash这是关键地方,必须把sof文件转换成的flash加上。 d) 最后把程序通过JTAG下载到配置芯片 Nios2-flash-programmer --epcs
--base=0x00001800 sof.flash Nios2-flash-programmer --epcs
--base=0x00001800 hello_epcs4.flash 其中0x00001800基地址取决于SOPC builder中的定义,在烧写flash文件之前可能需先烧写example.sof文件。
e) 或者通过nios2-flash-programmer同时下载elf、sof文件
三、非epcs系列只存配置或和程序(重点,有用)
Altera器件有EPCS系列配置器件成本很高,但通用的SPIFlash稳定性也不成问题。我正在使用一个普通SPIFlash,wiinband,打开nios II command shell窗口,使用nios2-flash-programmer命令下载***.flash文件时,会发生如下错误:
No EPCS layout data --- looking for section [EPCS-EF3011] 不同公司的SPIFlash有不同的ID,并且不同大小的Flash的Sector大小及个数都不一样,所以需要新建一个文档去说明这些数据:
1) 首先在nios2_eds/bin文件夹下面新建nios2-flash-override.txt文件; 2) 输入下述代码,下面描述的器件都是Altera的EPCS器件,sector_size表
示sector大小,sector_count表示sector个数; [EPCS-202011] # EPCS1N (lead-free) sector_size = 32768 sector_count = 4
[EPCS-202013] # EPCS4N (lead-free) sector_size = 65536 sector_count = 8
[EPCS-202015] # EPCS16N (lead-free) sector_size = 65536 sector_count = 32
[EPCS-202017] # EPCS64N (lead-free)
sector_size = 65536 sector_count = 128
3) 在上述代码中添加自己选择的通用SPIFlash,添加: [EPCS-EF3011] # EPCS4N (lead-free) sector_size = 65536 sector_count = 8
然后使用二、epcs系列存配置与程序的方法即可完成。
四、使用IDE操作也行
相关推荐: