- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nios2C编程方法nios2系列
最小的Nios2系统
前言2003年Altera推出了第一代32位Nios系统,开创了FPGA内构建高性能单片机的先河。随之2004年,Nios系统升级为Nios2系统,解决了软硬件开发中一些不方便的问题,软件开发环境从命令行编译转移到Eclips的IDE集成开放环境。Nios2开发环境从1.0、1.1到1.2逐步升级。后来为了和QuartusII软件升级同步,从QuartusII5.0版本开始Nios2的版本号正式和QuartusII统一。? ?? ? 作者我亲身经历过整个Nios2发展历程,深知Nios2的不同版本发生的巨大变化。目前网上流行的Nios2教程针对的版本相对较老,已经对初学者学习Nios2起不到指导作用,并且应广大爱好者的强烈要求,我在此使用QuartusII和Nios2的8.0版本详细叙述Nios2的开发流程。构建一个Nios2最小系统需要什么? ?? ? 构建一个Nios2最小系统需要具备以下资源:? ?? ? ★ Nios2软核处理器? ?? ? ★ 内存? ?? ? ★ Jtag_uart调试接口? ?? ???1. Nios2软核处理器:这就是Nios2处理器的核心CPU,所有的外设都是和这个CPU通过Avalon总线连接到一起的。? ?? ? 2. 内存:编译后的程序代码需要通过下载线下载到该内存中,然后CPU的程序指针跳转到内存的首地址开始执行程序。? ?? ? 3. Jtag_uart调试接口:想要用单步调试等调试功能控制程序执行和查看程序变量,那么就需要这个调试接口。开始构建一个再简单不过的Nios2工程? ?? ? 整个步骤由2部分组成,第一部分建立Nios2硬件SOPC工程,第二部分建立Nios2软件工程。1.建立Nios2硬件SOPC工程? ?? ? 建立Nios2硬件SOPC工程就是设计一个软核CPU和它的外设,编译成硬件电路放到FPGA芯片里面。这时候可以认为FPGA就是一个32位的单片机了,下面的软件开发都是针对这个单片机的。? ? ? ?打开QuartusII软件,新建一个工程选择EP2C8Q208C8芯片。? ?打开Tools-SOPC Builder菜单,进入SOPC Builder界面,新建一个名为nios32的SOPC文件,语言可以选择VHDL或者VerilogHDL。我们一共要添加3个IP模块:Nios2处理器、片上内存和Jtag_uart调试接口。1.1在左边的IP导航栏里面双击选择NiosII Processor,然后选择Nios II/e型的处理器。这个处理器占用FPGA逻辑资源最小。此时CPU的Reset Vector和Exception Vector都是不可选的,因为还没有设置内存。在添加了内存后,还要回到这个CPU设置里面设置这两项信息。1.2在左边的IP导航栏里选择On-Chip Memory(RAM or ROM)使用默认设置就可以了,RAM类型,32位数据宽度,4KB字节容量。1.3在左边的IP导航栏里选择jtag_uart使用默认设置就可以了。1.4最后建成的Nios2系统见下面的连接关系图:Avalon总线的连接关系图下图:? ?? ?图中实心的圆圈代表连接,空心的圆圈代表不连接。cpu做为主设备Onchip_mem和jtag_uart作为从设备,从设备通过数据总线和指令总线连接到主设备上。Onchip_mem比较特殊,它既连接到cpu的指令总线上,又连接到数据总线上。这跟我们设计有关,我们是通过调试接口将程序下载到Onchip_mem中,程序然后从Onchip_mem开始执行指令。程序中产生的变量同时也是存放在Onchip_mem中的。1.5新建一个Block Diagram/Schematic File作为工程的顶层文件,将刚才制作的Nios32的symbol添加到bdf文件里。添加时钟和复位信号管脚,定义管脚的管脚号。最后编译工程,这样Nios2硬件部分的开发就算完成了,可以看到生成的sof和pof下载文件。2.建立Nios2软件工程? ?? ? 建立Nios2软件工程和开发51单片机程序差不多,但是具体细节设置的地方有很多差异的地方。2.1新建工程打开Nios2软件IDE开发环境,新建一个NiosII C/C++ Application的工程。Nios2开发环境还自带了很多模版例子工程,我们这里选择Hello World Small工程。和51开发不同的是,Nios2可以自定义很多外设。因此不同的Nios2工程添加的外设可能都不同,需要在新建工程的时候指定你所要开发的那个Nios2硬件工程。这点很关键,这就是软件工程和硬件工程结合的地方。?
您可能关注的文档
- linux下的mp3播放器的实现.doc
- Linksys 54M无线路由器新wrt54g2配置细节.doc
- Linux下的C++编程入门.ppt
- Linux ALSA声卡驱动程序的详细分析.doc
- linux下的硬盘驱动器.ppt
- linux下shell编程的介绍.doc
- Linux命令(文件目录操作).ppt
- Linux填补了这个话题。.doc
- lesson一扇.ppt
- Linux机器操作重置答案.doc
- 初中语文经典古文教学的有效性分析教学研究开题报告教学研究课题报告.docx
- 初中语文筛选与分析课文的方法探讨教学研究课题报告.docx
- 高中生物课程改革的挑战与对策教学研究课题报告.docx
- 高中生创造性思维训练的途径教学研究课题报告.docx
- 高中生科学实验报告写作的指导方法教学研究课题报告.docx
- 高中物理教学中概念图的应用实证研究教学研究课题报告.docx
- 教师情绪管理对教学效果的影响研究教学研究课题报告.docx
- 教师在课堂观察中的有效反馈机制研究教学研究课题报告.docx
- 初中生学习方式的变迁与教育应对教学研究课题报告.docx
- 初中生自我管理能力培养的研究教学研究课题报告.docx
文档评论(0)