FPGA学习[1]——在SDRAM中运行NIOS II 超详细教程(一)

博主最近开始学习NIOS II,在以往的教程中,往往使用On Chip RAM/ROM存放程序,对于Memory比较稀缺的FPGA来说这个简直是个噩梦,因为很可能放不下一段Hello World代码T^T更别希望能跑一个OS或者GUI、LWIP之类的。不过解决方法倒也挺简单,把代码扔到SDRAM里跑就是了。
现在能买到的FPGA开发板通常都会带有一片SDRAM,容量在8Mbit~256Mbit不等,取决于客官的荷包是否充裕。博主手中的小板子包含一块32Mbit的SDRAM,这足够跑一个小型的操作系统加上一个轻量级的GUI程序了,博主希望做的就是能够让NIOS处理器从SDRAM启动运行代码,以下是实现。

博主使用的是EP4CE15F23C8N这款FPGA,开发环境选择了Quartus Prime 18.0 Standard版本。

首先:双击Quartus图标打开软件^ _ ^

这一步非常非常关键,为了SDRAM能够正常工作我们需要将时钟移相-63°,当然这个也不绝对,如果您的SOPC无法正常运行,或者下载不了ELF文件请检查这个设置是否正确!!!!

FPGA学习[1]——在SDRAM中运行NIOS II 超详细教程(一)
下载费尽千辛万苦生成的sof文件,到此可以休息一会了。

总结

  1. 添加NIOS II核与SDRAM控制器,正确设置Vector(SDRAM的总线),正确设置SDRAM的相关参数(位数,容量等),设置不正确NIOS II将跑不起来,或者在软件编写运行C语言代码的时候出现ELF文件下载错误。
  2. 引出SDRAM和PIO,不引出咋玩啊/li>
  3. 设置PLL移相-63°,否则SDRAM无法正常运行,出现ELF下载错误
  4. 将PLL出来的时钟接到SDRAM的时钟管脚上
  5. 细致分配管脚,不允许出错,否则将出现ELF文件下载错误
  6. !耐心,出现ELF文件下载错误以后一定要仔细回顾上述几个点,确保万无一失。
  7. 没了

博主看到这类教程 上是有的,但是不是非常详细,给初学NIOS的朋友一点小帮助吧。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月19日
下一篇 2019年8月20日

相关推荐