ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:880.09KB ,
资源ID:2809158      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2809158.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Nios II 学习札记.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Nios II 学习札记.docx

1、Nios II 学习札记Nios II 学习札记1 学习平台1.1 软件平台 Quartus II: V4.0 Build 214, SP 1 SOPC Builder: V4.01 Build 214 Nios II: V1.0.0 Build 3931.2 硬件平台Nios Development Board, Cyclone Edition EP1C20F400C72 参考文献: Nios II Development Kit Getting Started User Guide 文档版本: May 2004三种类型的CPU核: Nios II/e, Nios II/s, Nios II

2、/f。 根据文档的指示,上电以后没有所述的现象。不知是不是有地方出现损坏。 根据文档的指示,把standard.sof通过ByteBlasterII下载到Cyclone中,七段数码管出现“8.8.”。“Loading”、“Error”、“User”和“Safe”指示灯全部熄灭。 根据文档的指示,生成“Hello World”C/C+应用程序,将其运行(使用ByteBlasterII电缆下载)。出现如图1的对话框。这个对话框,有两个很奇怪的地方: 提示说,所使用的JTAG下载电缆不为Nios II所支持。奇怪! 按理应该显示“Hello from Nios II!”,但奇怪的是什么都没有显示!在

3、“Nios II terminal communication device”选项中,无论是选“Jtag UART”,还是“uart1”;或者是以“Run As . Nios II hardware”方式运行,都不能显示正确的字符串。3 参考文献: Nios Development Board Reference Manual, Cyclone Edition 文档版本: May 20043.1 Flash存储器 8MB = 1M x 8,AM29LV065DU-120REI,与SRAM和网卡共享数据和地址总线。 主要有两个作用: 作为通用可读存储器以及不可挥发存储 容纳Cyclone配置数据

4、实现Nios参考设计的硬件配置数据预先存储在该Flash存储器中。这个预先装载的Nios参考设计,一旦装载,可以识别该Flash存储器;并包含可以下载文件(新的Cyclone配置数据,或者嵌入式处理器软件,或兼而有之)到Flash存储器的监控软件。嵌入式处理器软件包含对特定AMD Flash存储器的写和擦除的子程序。3.2 同步动态存储器(SDRAM)16MB = 4M x32,MT48LC4M32B2,具备PC100和自刷新功能。 SDRAM控制器外设包含在Nios开发板中,使得处理器可将SDRAM器件当作一个大容量的、可线性寻址的存储器设备。3.3 异步静态存储器(SRAM) 1MB =

5、2 x 256K x 16,IDT71V416S10PH,被Nios当作通用存储器。可实现32位宽的存储器子系统。预装载的Nios参考设计将这些存储器当作连续的1MB、32位宽、零等待主存储器。3.4 UART串口 标识为“Console”,包括UART的所有的信号(DB-9) 标识为“Debug”,仅包含TXD、RXD和GND信号3.6 串行配置器件(EPCS4) 串行的配置器件是一种Flash存储器,具备串行接口,为Cyclone器件存储配置数据。当上电或需重新配置时重新装载配置数据。 SOPC Builder包含串行存储器接口部件,允许处理器来访问串行配置存储器。3.7 配置控制器(EP

6、M7128AE)3.7.1 复位电路 从上电复位芯片LT1326获取上电复位信号,并通过内部逻辑分配给其他的板上外设: 网卡、Flash存储器以及连接插座。3.7.2 开始配置 有四种方式来开始对Cyclone器件进行配置: 上电 按下“复位按钮(SW10)”- 复位芯片的手动复位 Cyclone将reconfigreq_n驱动为低 按下“Force Safe”按钮(SW9)4 生成nios_small处理器以及软件编程、调试4.1 建立工程【1】在d:NiosIIDesign目录下,建立子目录nios_small。【2】在Quartus中选择菜单“File - New Project Wiz

7、ard.”,设置工程路径为 d:NiosIIDesignnios_small,设置工程名为nios_small,设置顶层模块名为nios_small。【3】暂时不加入任何文件。【4】对EDA工具不作任何的设置。【5】选择实现器件为Cyclone系列,并将要指定具体型号。【6】选择器件封装为FBGA-400,速度等级为7,具体信号为EP1C20F400C7。【7】工程设置情况概览。【8】按照下表进行管脚定义。管脚K5C4E14E13C14D14E12F12B3B14信号clkrst_nled0led1led2led3led4led5led6led7 注意: 所有未使用的管脚必须设置成“三态输入”

8、,如下所示。4.2 使用SOPC Builder生成nios_small处理器【1】在Quartus中选择菜单“Tools - SOPC Builder.”,打开SOPC Builder。将系统名设置为“nios_small”,HDL语言选择“Verilog”。【2】将目标板设置为“Unspecified Board”,器件为Cyclone系列,系统时钟频率为50MHz。【3】双击左侧“Avalon Modules - Nios II Processor Altera Coporation”,出现如下的对话框。选择CPU类型为Nios II/e(经济型),可以看到该CPU为32位的RISC的C

9、PU,速度可达6DMIPS,需要600700个LE,存储器需要2个M4K。在上面的对话框中选择“JTAG Debug Module”,或直接按“Next”。出现下面的对话框。选择“Level 1”调试功能,具备“JTAG目标连接”、“软件下载”和“软件断点”的调试功能。若选择“No Debugger”,将不能下载和调试软件。 在上面的对话框中选择“Custom Instructions”,或直接按“Next”。由于没有任何的客户定制指令需要添加,不作任何更改。 最后选择“Finish”,结束对Nios CPU的设置。并将“cpu_0”改名为“cpu”。【4】双击左侧“Avalon Module

10、s - Memory - On-Chip Memory(RAM or ROM)”,出现如下的对话框。存储器类型选择“RAM(writeable)”,32位位宽,2K字节。注意在上面的对话框中说到,存储器将用onchip_memory_0.hex进行初始化。实际上该hex文件存储的就是运行于nios_small的软件执行代码。最后选择“Finish”,并将“onchip_memory_0”改名为“onchip_memory”。【5】双击左侧“Avalon Modules - Other - PIO(Parellel I/O)”,出现如下的对话框。8位位宽,仅作为输出端口。最后选择“Finish”

11、,并将“pio_0”改名为“led_pio”。结束完上述设置以后,选择菜单“System - Auto-Assign Base Addresses”自动分配基地址;再选择菜单“System - Auto-Assign IRQs”自动分配中断号。最后,右侧将出现如下的设置概览。 再选择“More “cpu” Settings”,出现下面的对话框。从中可以看到CPU复位以后,将从onchip_memory的地址为0x00000800处执行软件代码。另外还可以看出异常向量位于onchip_memory的地址为0x00000820处。 选择“System Generation”,最后点击按钮“Gene

12、rate”生成nios_small处理器。注意: 生成的CPU代码为加密的Verilog代码,不能列出其内容。 当看到下面的对话框时,就表明你已经接近成功了。4.2 生成的nios_small CPU在Quartus中的使用【1】SOPC Builder将自动生成nios_small.bsf,如下图所示。 若在上面的CPU的生成设置中选择的是“No Debugger”,上图将变成下面的样子。 差别在于信号管脚“E_en_to_the_cpu”,没有看到文档中提到该信号,但从信号名可以猜测该信号的功能为CPU的使能的信号。实际连接时,可以固定接高,一直使能。 实际上,SOPC Builder不但

13、生成了原理图的文件,也生成基于Verilog或VHDL的源代码文件(如nios_small.v)。设计人员可以根据自己的喜好,选择原理图的方式,还是Verilog的方式,或是VHDL的方式,都是可以的。作者偏爱Verilog这种方式,这仅仅是跟人喜好的问题。【2】生成顶层设计文件nios_small_top.v,其文件内容如下:module nios_small_top(input clk,input rst_n,output reg 7:0 led);nios_small h_nios_small( .clk (clk ), / 系统时钟 .reset_n (rst_n ), / 系统复位

14、.E_en_to_the_cpu_0 (1b1 ), / 使能 .out_port_from_the_pio_0 (led ) / LED端口);endmodule4.3 在NiosII IDE中生成软件代码【1】在SOPC Builder的最后的对话框中按下“Run Nios II IDE”,将进入NiosII IDE。【2】选择菜单“File - New - C/C+ Application”,将出现下面的对话框。请参照该对话框内容进行设置。 注意上图右下角中“Details”的描述:This is a simple freestanding application that will r

15、un on any Nios II system with an LED PIO named led_pio such as the standard or full-featured hardware example designs. It does not use main() as its entry point. Instead, it uses alt_main(), an alternative entry point which bypasses all initialization, a technique that can reduce overall code size. Be warned however. If you modify this example and try to call C library functions such as printf, t

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1