将Quartus程序和Nios程序同时烧写到FPGA的FLASH中.docVIP

将Quartus程序和Nios程序同时烧写到FPGA的FLASH中.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
笔者使用的FPGA硬件平台: 康芯公司 KX3C10F+ 核心板 FPGA EP3C10E144 FLASH EPCS16SI16N SDRAM HY57V641620F Quartus II 9.1 sp2 SOPC Builder 9.1 sp2 Nios II IDE 9.1 sp2 操作系统 Win 7 旗舰版 不同的平台,只是某些步骤的顺序或者软件的界面不一样罢了,笔者也是看着网络中的各种各样资料走过来的,究其本质所有的设置参数都是通用的,好了不多说,开始介绍怎样把Quartus的程序和Nios的程序同时都下载到FLASH中达到掉电不失,上电自动运行。 首先是创建一个工程,选好器件型号,不多说。(注:工程的路径不要包含 中文 和 空格,同时工程不要创建在 桌面 后面的flash programmer 不识别桌面工程) 新建一个 block 文件,并立即 save as ,文件名不需要改。 Tools - SOPC Builder ,选好型号并设置CPU的工作时钟(输入时钟)。 Processor - Nios II Processor,创建自己的一个 Nios II 核。 Nios II/e 经济型 最慢 最省空间 Nios II/s 标准型 标准 标准 Nios II/f 快速性 最快 最费空间 (如果选择此类,需将cache关闭) 选好类型之后,即可直接finish 程序运行都需要memory,而笔者使用的为核心板上的外部ram,且一般情况下on_chip_memory的大小太小不足以跑中大型Nios系统。 Memories and Memory Controllers - SDRAM - SDRAM Controller,将数据线改为16,其余不变。 因为我们下载程序的过程是,先在FPGA上烧写一个Nios核,然后通过Nios核将quartus和nios工程一次性烧写到flash中去。所以我们构造的Nios核必然要包含一个CFI控制器。 Memories and Memory Controllers - Flash - EPCS Serial Flash Controller,直接finish。 为了让程序便于调试,我们再添加一个JTAG串口。 Interface Protocols - Serial - JTAG UART,直接finish。 当程序断电之后,我们让一排LED灯以二进制形式闪烁,便于我们观察程序上电运行。 Peripherals - Microcontroller Peripherals - PIO(Parallel I/O),8位输出,finish。 为系统创建一个ID,用于下载识别。(必要) Peripherals - Debug and Performance - System ID Peripheral,直接finish。 用户可通过 右击 - rename 对器件进行重命名,其中 sysid_0 只能命名为 sysid。 笔者在此只更改了 sysid_0 - sysid 。 设置中断向量。双击cpu将reset向量设置为epcs控制器的地址,而exception向量设置为sdram控制器的地址。 让软件自动配置地址和中断号。 System - Auto-Assign Base Addresses System - Auto-Assign IRQs 点击generate,生成Nios核。(等待生成完成、、要去洗手间的,打电话的,吃饭的,喝水的,赶紧去、、、、、) 双击 block 文件,调出刚刚生成的Nios核,由于笔者的型号属于 Cyclone III ,所以会多出下面框框中的引脚。(坑爹的 Cyclone III ,尼玛其他型号就不会这样,害老子还有自己去配控制器的引脚、、、) 拖出一个PLL,c0做系统时钟,c1做SDRAM的时钟,c1与c0相差75(deg)相位。 Inclk0为晶振输入。 连接c0和clk_0,全选PLL和Nios核,右击 - Generate Pins for Symbol Ports 可以双击修改所有引脚的名称,笔者采用默认名称。 Assignments - Pins,按以下说明配置引脚。 Inclk0 外部晶振的输入引脚 C1 SDRAM CLK 引脚 Reset_n 接一个按键即可,注意此引脚为低电平有效 data0_to_the_epcs_flash_controller_0 EPCS 的 DATA0 引脚 dclk_from_the_epcs_flash_controller_0 EPCS 的 DCLK 引脚 ds_MISO_from

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档