蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOCX文档下载
 

nios2c语言编程方法Nios2系列教程

  • 资源ID:53132569       资源大小:106.74KB        全文页数:19页
  • 资源格式: DOCX        下载权限:游客/注册会员    下载费用:15积分 【人民币15元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要15积分 【人民币15元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

nios2c语言编程方法Nios2系列教程

最小的Nios2系统 、八 、- 刖g 2003年Altera推出了第一代32位Nios系统,开创了 FPGA内构建高性 能单片机的先河。随之2004年,Nios系统升级为Nios2系统,解决了 软硬件开发中一些不方便的问题,软件开发环境从命令行编译转移到 Eclips的IDE集成开放环境。Nios2开发环境从1.0、1.1至U 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-S0PC Builder 菜单,进入 SOPC Builder 界面,新建 一个名为nios32的SOPC文件,语言可以选择VHDL或者VerilogHDL。 我们一共要添加3个IP模块Nios2处理器、片上内存和Jtag_uart 调试接口。 1.1在左边的IP导航栏里面双击选择NiosII Processor,然后选择Nios n/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 I程。和51开发不同的是,Nios2可以自定义很多 外设。因此不同的Nios2I程添加的外设可能都不同,需要在新建工程 的时候指定你所要开发的那个Nios2硬件工程。这点很关键,这就是软 件工程和硬件工程结合的地方。 一般新建一个工程时,系统会同时建立一个和该应用程序对应的 库工程。库工程里面编译了指定Nios2硬件的外设驱动程序等api函数。 这样就将应用程序和驱动库分离开来,方便用户管理。开发不同的应用 程序时,可以共享一个驱动库。 2. 2编译工程 建立工程后我们会在导航栏里面看到又两个新建的工程 hello_wor1d_smal1_0 和 he1lo_world_small_0_sys1ibo 点击编译按钮直接编译工程,最后查看编译结果。 最终生成hello_world_small_0. elf二进制文件,程序代码大小为560 个直接,内存剩余3536个字节。 2. 3软件在线调试工程 工程编译成功后就可以用下载线调试你的程序了。在Run-Debug菜单 里设置下载线和需要调试的软件工程。 Main页面和Target Connection页面里的设置完成后可以点击 Debug按钮进行调试。此时Nios2的开发环境将刚才编译的二进制代码 通过USB Blaster下载电缆,下载到FPGA片内的onchip-memory中, 然后将Nios2的指令指针指向程序的第一条语句。注意,在调试程序前 必须将硬件开发过程中生成的sof文件下载到FPGA里,否则FPGA里面 是没有Nios2的CPU软核,程序将无法下载。 这时程序会停在man函数的第一条语句,点击全速运行按键,我 们会在控制台里面看到程序运行的结果。程序在控制台里打出一段字符 串,这就是整个程序的运行结果。 总结 上面我们通过建立一个Nios2的最小系统,带领大家走过了从硬 件到软件整个开发流程,看到了 Nios2运行的结果。通过这个简单的例 子,我们劈开了很多复杂繁琐的设置过程,让Nios2清晰的展现在大家 面前。Nios2的开发不是想象中那么神秘,我们只要循序渐进的学习才 能真正领会Nios2的强大和灵活。 上面的例子只是展示了一个可以运行的Nios2,它的功能非常简 单,简单到只能完成打印一行字符串。由于受到FPGA片内存储器资源 的限制,我们不能构建功能更加强大的代码,因此需要片外扩展Sdram 来存储更大的程序代码。另外,我们的程序是在线下载到内存里面的, 断电后程序代码也会消失,我们需要一个外部非易失的存储器如Flash 来存储CPU的软件代码。 下一篇教程,我们将介绍如何扩展外部存储器Sdram和Flash。 程序代码 nios2

注意事项

本文(nios2c语言编程方法Nios2系列教程)为本站会员(aaakkpc)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开