nios ii小实验——第一个demo指导书

1.新建工程:打开Quartus II 13.0,点击File->New Project Wizard,点击Next后可以看到如图2所示的对话框,选择工程路径给工程命名(注意:工程名必须和顶层模块名一致,否则编译会报错)。这里我们将工程名命名为lights


2.选择器件:这里我们选择Cyclone II里头的EP2C35F672C6这个芯片。直接点击finish。至此我们完成了quartus II工程的建立。


3.添加nios II 处理器:点击Tool->QsysQsys综合了之前的SOPCbuilder,打开后自动有时钟模块在里面了。在左上角的搜索栏中输入nios,点击Add(或双击)将nios II处理器添加到系统中,如图4所示,这里我们选择Nios II/eNios Ⅱ系列包括3种产品,分别是:Nios /f(快速)——最高的系统性能,中等FPGA使用量;Nios /s(标准)——高性能,低FPGA使用量;Nios /e(经济)——低性能,最低的FPGA使用量。


4.添加on-chip memory:在左上角的搜索栏输入on-chip memory,点击Add添加,如图5所示,将Total memory size修改为8192Bytes。点击finish完成设置。On-chip memory用来跑软核程序的,太小的话可能会出现各种error,比如程序放不下了。


5.添加PIO:与上两步类似,加两组PIO,一组为output,一组为input,如图6所示。PIO负责这个软核的输入输出管脚。


6.添加JTAG UART:步骤同上,使用默认设置。负责烧录软件程序到单片机里。


7.连线,这地方比较复杂

clk与所有添加的组件都连上;

clk_reset和所有的resetreset_n相互连接到一起;

data_masteron-chip memorypio0pio1jtag都连上;

instruction_masteron-chip memory连上;

此处连线规则:如果是存储器这类的IP核,需要将其Slave端口同Nios IIdata_masterinstruction_master相连,而其他非存储器IP核则只需连接到Nios IIdata_master即可

再将IRQ连上IRQ应该是中断等级;

pio0(输入)重命名为Switches(右键rename)pio1改为LEDs(输出)双击SwitchesLEDsexternal_connection,将其接到片外

连线完成后如下图。此时下面会报一堆错,不用急。


8.双击nios2,将reset vector和exception vector指向onchip_memory,这样程序复位从RAM中走,便于调试,若是添加了epcs模块,则从flash中重启,最终程序完成后选择则可。


9.分配地址:点击system->assignbase addresses给各个接口及组件分配地址。


10.保存并生成系统(.v文件)

点击file->save,命名为nios

保证messages里头没有错误后,点击工具栏里头的generation生成搭建的系统。至此,我们完成了NIOSS II系统的搭建。



11.将系统添加到工程中:选择project navigator中的Files,右键添加上一节中的文件到工程中。将nios\sythesis下的所有文件添加入工程中(或者只添加.Qsys经过试验也是可以的)。


12.实例化:点击file->new,如图11所示,新建顶层模块对系统实例化。点击保存。



13.导入管脚配置文件:点击assignment->importassignment将管脚配置文件导入。


14.编译和配置:编译工程,通过后就可以将其配置到DE2开发板上了。至此,我们完成了硬件设计部分。



15.打开Nios II Eclips:tools->Nios II software build tools for Eclipse,workspace选择你建立的quartus project的路径。


16.新建工程:点击files->new->Nios IIApplication and BSP from Template,如图15所示。选择quartus II工程目录下的nios.sopcinfo文件。命名工程名为lights,使用默认设置点击finish。


17.添加C代码:选择lights目录下的hello_world.c下的主函数main():int,将其内容修改为如图16所示,其中宏定义Switches和LEDs的地址到Qsys的system contents里头的base查找。



18.修改设置:选中lights_bsp,右键选择properties->Nios II BSPProperties,将Reduced device drivers和Small C library选中,取消Support C++。点击OK。


19.生成BSP:点击工具栏里头的NIOS II->BSPEditor->generate完成BSP的生成。


20.建立工程:右击lights->Build Project,完成工程建立。

21.运行:选择RUN->run as->Nios IIHardware。













转载于:https://www.cnblogs.com/mingmingruyue99/p/7202011.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js动态时间(转)

html代码 <span id"timeShow" show_cur_times()></span>js代码 $(function(){//设置1秒调用一次show_cur_times函数setInterval("show_cur_times()",100); });function show_cur_times(){ //获取当前日期var date_time new Date();//定义星期…

shell设计精髓_交互设计精髓

了解数字产品的设计过程工业设计师 Victor Papanek 认为&#xff0c;设计是“为赋予有意义的秩序&#xff0c;作出有意识或直觉的努力”。“All men are designers. All that we do, almost all the time is design, for design is basic to all human activity. The planning …

谈谈我对Javascript中This对象的理解

this 指针的隐式赋值 this总是指向调用该方法的对象&#xff1b; 在事件中&#xff0c;this指向触发这个事件的对象&#xff0c;特殊的是&#xff0c;IE中的attachEvent中的this总是指向全局对象Window&#xff1b; 显示操纵 this 指针 Javascript引擎通过以下两种方式允许我们…

mysql获取下一条自增的id_mysql获取一个表中的下一个自增(id)值的方法

mysql获取一个表中的下一个自增(id)值的方法MySQL: Get next AUTO_INCREMENT value from/for tableNote to self: To get the next auto_increment value from a table run this query: SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA $dbName AND…

WebStorm 快捷键整理

我用的是WebStorm11 2016的版本&#xff0c;个人感觉非常不错&#xff0c;现在整理下快捷键。  Ctrl/ 或 CtrlShift/注释&#xff08;// 或者/*…*/ &#xff09;ShiftF6重构-重命名CtrlX剪切行CtrlD复制并粘贴行CtrlG查找行CtrlShiftUp/Down代码快向上/下移动。F2 或ShiftF2高…

mysql云数据库 磁盘利用率_云数据库MySQL参数的那些事儿

MySQL数据库参数是数据库系统运行的关键配置信息&#xff0c;设置不合适的参数值可能会影响业务。本文列举了一些重要参数说明&#xff0c;更多参数详细说明&#xff0c;请参见MySQL官网。修改敏感参数若干参数相关说明如下&#xff1a;“lower_case_table_names;”:云数据库默…

Swift3 Scanner用法之判断是否数字、提取字符串里的数字

1、判断是否数字 /// 判断是否是数字////// - Parameter string: <#string description#>/// - Returns: <#return value description#>class func isPurnInt(string: String) -> Bool {let scan: Scanner Scanner(string: string)var val:Int 0return scan.s…

mysql客户端查询_MySQL数据库之利用mysql客户端查询UCSC数据库

本文主要向大家介绍了MySQL数据库之利用mysql客户端查询UCSC数据库 &#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习MySQL数据库有所帮助。UCSC Genome Browser是由University of California Santa Cruz (UCSC) 创立和维护的&#xff0c;该站点包含有人类、小…

算法交易系列研究之一

一、算法交易的概念 &#xff08;一&#xff09;什么是算法交易 算法交易&#xff08;Algorithmic Trading&#xff09;是一种程序化交易方式&#xff0c;它将交易者和市场有机地联系起来。算法交易通常可以减少这两者之间的摩擦&#xff0c;或者说在一定程度上可以降低交易对市…

mysql支持的时区列表_mysql按天分组支持时区

时区问题总是个比较麻烦的问题&#xff0c;客户端与服务器的时区不一致自然是理所当然的事情&#xff0c;而对于多台服务器或者分布式再或者炙手可热的云&#xff0c;时区不统一也很正常&#xff0c;而且也不需要统一&#xff0c;还好有个时间戳的概念&#xff0c;通过时间戳就…

IOS多线程之Block编程

1 什么是block iOS SDK 4.0開始&#xff0c;Apple引入了block这一特性。字面上说&#xff0c;block就是一个代码块。可是它的奇妙之处在于在内联(inline)运行的时候(这和C非常像)还能够传递參数。同一时候block本身也能够被作为參数在方法和函数间传递。这就给予了block无限的可…

python查找两个数组中相同的元素_匹配两个numpy数组以找到相同的元素

使用熊猫&#xff1a;import pandas as pdid1 pd.read_csv(id1.txt)id2 pd.read_csv(id2.txt)df id1.merge(id2.sort_values(byID2).drop_duplicates(ID2).rename(columns{ID2:ID1}))print(df)产生&#xff1a;^{pr2}$对于大型数据集&#xff0c;您可能需要执行以下操作&…

Spring3系列7- 自动扫描组件或Bean

原文地址 &#xfeff;&#xfeff;http://www.cnblogs.com/leiOOlei/p/3547589.html 一、 Spring Auto Scanning Components —— 自动扫描组件     1. Declares Components Manually——手动配置component 2. Auto Components Scanning——自动扫描组件 3…

数据插不进mysql_数据插入不进数据库里面去。

1&#xff1a;index.php提交到&#xff1a;index_ok.php2:连接数据库文件&#xff1a;conn.php<?php $idmysql_connect("localhost","root","root")ordie(连接失败:.mysql_error());if(mysql_select_db("db_databas...1&#xff1a;ind…

Android_Kotlin 代码学习

https://github.com/ldm520/Android_Kotlin_Demo转载于:https://www.cnblogs.com/simadi/p/6704864.html

liberty配置mysql数据源_Bluemix Liberty server.xml MySQL数据源配置

如果要连接到mysql数据库并希望 manually 在server.xml中提供凭据&#xff0c;则可以执行以下操作&#xff1a;server.xml中&#xff1a;URL"jdbc:mysql://1.2.3.4:3306/db"password"mypassword" user"admin" />name"MySQL Connector&qu…

CI Weekly #17 | flow.ci 支持 Java 构建以及 Docker/DevOps 实践分享

这周一&#xff0c;我们迫不及待写下了最新的 changelog —— 项目语言新增「Java」。创建 Java 项目工作流和其它语言项目配置很相似&#xff0c;flow.ci 提供了默认的 Java 项目构建流程模版&#xff0c;快去试试吧&#xff5e; 最近 flow.ci 2017 招聘计划正式启动&#xff…

mysql mgr 配置_MySQL5.7 MGR安装配置

MySQL5.7 MGR安装配置一、服务器规划mysql_mgr_01192.168.10.223mysql_mgr_02192.168.10.224mysql_mgr_03192.168.10.225二、配置文件1. mysql_mgr_01[rootmysql_mgr_01 tmp]# cat /etc/my.cnf[mysqld]sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_D…

你让我怎么说

小组长分配任务,优化首页列表加载响应时间, 涉及更改一同事代码,遇到某个模型命名不解,UserInfoId和CurrentUserInfoId,问这两个干啥使, 答曰UserInfoId是用户的Id,CurrentUserInfoId不知道谁加的, 不解,问道"你写的方法你不知道?", 答曰,不知.后发现是另外一同事共…

python选取tensor某一维_Pytorch的Tensor操作(1)

类型推断torch.randn()&#xff1a;随机初始化a.type()&#xff1a;返回类型type()&#xff1a;返回基本类型isinstance() &#xff1a;检查类型cuda会影响数据类型标量维度(dimention)为0的标量标量的shape&#xff1a;返回类型为【】(空的list)&#xff0c;返回长度也为0a.di…