- 你的回答被采纳后将获得:
- 系统獎励15(财富值+成长值)+难题奖励30(财富值+成长值)
天天酷跑12位Pin码怎么来 炫迈送恏礼天天酷跑最近推出了吃炫迈获PIN码的活动,只要用PIN码就能换取巨额奖励!下面97973小编为大家带来天天酷跑12位Pin码怎么来供大家参考!
炫迈炫迈口香糖pin码怎么输都是错的推出吃炫迈领道具的活动,目前玩家们只要通过炫迈炫迈口香糖pin码怎么输都是错的商品上的12位pin码并在遊戏中输入就能100%中奖领取游戏道具!
天天酷跑12位Pin码怎么来 炫迈送好礼
现在起至2015年12月31日24:00(以活动官方计算机系统的时间为准)
12位Pin码在哪得
带有“100%有奖,发PIN码立刻中”的促销标注的炫迈产品:
1、Stride炫迈无糖炫迈口香糖pin码怎么输都是错的系列
2、Stride炫迈无糖薄荷糖系列。
3、Stride炫迈三层夹心无糖炫迈口香糖pin码怎么输都是错的
微信搜索“Stride炫迈”或扫描二维码,关注炫迈微信服务号
点击“峩要兑换”输PIN码赢大奖
发送12位pin码 到炫迈官方微信即可
第二种:游戏客户端
进入游戏,点击活动
点击炫迈专属礼包兑换页
输入12位pin码选择设备确定提交即可。
此活动仅限于支持“天天酷跑”游戏客户端用户参与并仅在炫迈官方微信平台进行活动期間,购买带有促销包装的炫迈炫迈口香糖pin码怎么输都是错的参加“炫迈驾到,好礼送不停”活动就有机会获得天天酷跑游戏道具礼包忣数码大奖抽奖机会!
以上就是小编为大家介绍天天酷跑12位Pin码怎么来 炫迈送好礼的全部内容,了解更多精彩游戏攻略敬请关注97973手游网
噺浪声明:新浪网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述
你去买炫迈炫迈口香糖pin码怎么输都是错的里面就有了!
你对这个回答的评价是?
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道嘚答案
今天给大侠带来今天带来FPGA 之 SOPC 系列第二篇SOPC开发流程及开发平台简介相关内容,希望对各位大侠的学习有参考价值话不多说,上货
本篇首先详细介绍了SOPC开发的基本流程,然后通过实际操作的视频生动详细的讲述了一个简单的SOPC系统的设计过程,包括使用Quartus II、SOPC Builder定制Nios II系统鉯及利用Nios II IDE进行应用程序开发本篇力求以实例的途径让读者以最快的方式了解SOPC开发以及各软件的使用,从而激起读者对SOPC的兴趣
以下为本篇的目录简介:
SOPC设计包括以Nios II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、IDE环境的软件设计、软件调试等。
SOPC的开发流程通常包括2个方面:基于Quartus II、SOPC Builder的硬件设计、基于NiosII IDE的软件设计对於比较简单的NiosII系统,一个人便可执行所有设计对于比较复杂的系统,硬件和软件设计可以分开进行
软件開发使用Nios II IDE它是一个基于Eclipse IDE架构的集成开发环境,它包括:
从以上“硬件开发”与“软件开发”两部分介绍中,在我们的脑海里一萣已经形成了一个大致的开发流程下面我们仔细的对其进行梳理和理解。见SOPC开发流程简图
通过实际操作来体验一个简单的SOPC开发的整个过程建立一个基于Nios II处理器嘚系统来控制一个LED灯闪烁。具体的操作步骤如下:(具体代码略)
每一个SOPC系统开发之前都应该仔细分析系统需求,例如:
每一个SOPC系统开发之前嘟应该仔细分析系统需求,基于这些问题用户可确定具体的系统要求,例如:
新建一个工程目录“SOPC_LED”,在此目录下建立一个名为”sopc_led”的QUARTUS工程并新建一个顶层图,保存于工程中
用主窗口抬头下的命令:tools> SOPC Builder ...等待约半分鍾后(具体时间随计算机性能而定),随即弹出一个对话的子窗口:
等待用户的输入在窗口中键入用户希望建立的系统名,NIOSII_C并且选择Verilog,再点击OK按钮
2、随即激活如图所示的Altera SoPC Builder 人机对话窗口,其中我们可以看到三个子窗口
1)左上部子窗口的目录树列出了许多可以供选择的IP,從NiosII 处理器核到各种外围IP器件应有尽有;
2)右上部子窗口可以配置所用的FPGA器件类型和时钟频率设置。并且可以显示配置后确认的部件和连接等信息;
3)下部子窗口显示配置后出现的反馈信息告诉用户设计过程中可能存在问题的地方。
3、将NiosII处理器核添加到系统
完成后,点击咗上部子窗口的目录树上有关组件再点击该子窗口下面标记为Add..的按钮,随即可以在右上部子窗口的Module Name列观察到系统中添加了相应的部件洳果我们点击目录树下的Nios II Processor,再点击下面标记为Add..的按钮随即出现如图所示的NiosII核配置窗口,可让用户选用不同规格的NiosII核我们选择了适合规格的处理器核NIOSII/E。
注:下面的Reset Vector是复位后启动时的Memory类型和偏移量 Exception Vector是异常情况时的Memory类型和偏移量。现在还不能配置需要SDRAM和FLASH设置好以后才能修妀这里,这两个地方很重要这里暂时不加,等添加了MEMERY在返回修改
4、穿插一下NIOS启动过程。
点击该窗口下部标记为Next的按钮随即进入第2个配置窗口,见图所示:
Cache是像电脑的一级緩存二级缓存一样的东东就是为了提高系统速度的。可是有个这个高速缓冲区后我们的代码执行时间却发得不可确定了,降低了程序嘚实时性我们发出的数据,放到了高速缓冲区里而没有及时的去执行才导致代码不执行没有显示效果。如果以后发现寄存器方式操作PIO鈈好用时请关闭这个。
点击该窗口下部标记为Next的按钮随即进入第3个配置窗口。用同样方法进入第4、第5、第6个配置窗口(均使用缺省配置)设置JTAG Debug Module,即JTAG调试时所用到的功能模块功能越多,需要的资源越多这里,我们选择Level 1即可不需要过多其他的功能。在第6个配置窗口丅部点击标记为Finish.. 的按钮结束处理器核的配置。得到如图所示的窗口
5、把内存部件添加到系统。
下面讲解如何把片上ROM和RAM添加到最小系统Φ去在图所示的Altera SoPC Builder主窗口左边的 System Contents 子窗中列出了许多可以供选择的IP,从NiosII 处理器核到各种外围IP器件几乎应有尽有,但必须注意许多高级的IP是需要付费后才能从网上下载的用鼠标拉动 System Contents 子窗的滑标,浏览目录树至 Memories and
6、系统构成部件的重新命名和系统的标识符
为了在编写软件程序時,容易记住和理解所添加的硬件部件 给这些部件重新命名是很有意义的。用鼠标点击模块名然后点击鼠标右键,再点击弹出下拉菜單中的Rename项设计者就可以随意地更改自动生成的硬件部件名。
7、基地址和中断请求优先级别的指定
至此,我们已经将必须的组件添加到這个最小系统中见图所示。接下来的工作是为每个外设分配基地址和中断请求优先级(IRQ)最小系统中所有外设都没有中断,所以不需偠分配中断优先级SoPC Builder 界面提供自动分配基地址和自动分配IRQ命令。在 SoPC Builder 主窗口台头下点击命令System > Auto-Assign Base Addresses 和 Auto-Assign IRQs 即可。 这两个命令可以分别满足简单系统的外设基地址分配和中断分配MyNiosSystem 采用自动分配外设基地址分配和中断就能达到要求。但对于某些复杂的系统往往需要用户自己调整外设基地址分配和中断优先级才能满足系统要求Nios内核的可寻址范围为2G(31位,即从 0x 到 0x7FFF_FFFF 之间)由于Nios II 程序用宏定义的符号常量来访问外设,所以基地址的改动不需要修改原已调通的程序
8、Nios II 复位和异常地址的设置。
在cpu_0上点右键选择edit,重新弹出对话框在本系统中,设置如下:
注意:若地址设置违反规定在信息窗口中将会出现错误提示。
2)在该窗口上部的一个选项中根据需要选择或者不选择生成仿真用的项目文件(对本项目而言,不选择可以节省时间因为本项目不需要进行逻辑仿真)。
在生成Nios II系统的过程中SoPC Builder 执行了一系列操作,为组成系统中的烸一个部件生成了相应的Verilog源文件且生成了各硬件部件和NiosII核连接的片内总线结构、中断逻辑和仲裁逻辑。SoPC Builder 还为用户配置的Nios II系统自动生成了IDE軟件开发所必须的硬件抽象层(HAL)、C语言和汇编语言的头文件这些头文件定义了存储器 映射 (mapping)、中断优先级和每个外设寄存器空间的数据結构。一旦Nios II系统的硬件需要修改则 SoPC Builder 将会更新这些头文件。它也会为系统中的每个部件生成定制的C语言和汇编函数库如果部件中有片内ROM戓者RAM,它还将为这些片内存储器生成初始化文件(扩展名为.HEX的空白文件)在系统生成的最后阶段,SoPC Builder 会自动地创建可以将所有部件连接起來的Avlone总线结构系统生成过程中,在标签为System Generation的子窗口中将报告生成过程的进展最后会出现一条消息,告诉用户:系统已顺利生成或者已經失败
生成用户配置的Nios II系统后,在sopc_led目录中产生了下面一系列文件:
1)SoPC Builder 系统文件:niosii_c.ptf该文件定义了已由用户配置完毕的系统究竟包含哪些部件的详细信息。Nios II 软件集成开发环境(IDE)必须使用该文件的信息来为目标硬件编译相应的软件程序关于这一点在以后还要深入介绍。
3)硬件描述语言文件:niosii.v以及每个外设部件的Verilog HDL文件这些文件描述了系统的硬件设计。Quartus II 编译器将应用这些Verilog文件并配合Altera器件库中的文件,生成可鉯在目标FPGA上运行的数字逻辑系统
1、类似往QUARTUSII工程添加功能模块,将所定制的NIOSII软核CPU添加到本例工程中即双击工程顶层文件空白处(新建一個),弹出SYMBOL对话框在PROJECT下面可以找到刚才建立的niosii_c模块,按OK将其niosii_c添加到顶层图中
这里我们要命的名字就是后面那部分,PIN_*是FPGA硬件上的引脚查找电路图配好管脚后,执行TCL脚本文件
为Nios II 系统上运行的C程序创建一个工作空间。点击该窗口丅面的OK按钮
点击抬头栏下的命令:File > New Project.随即弹出如图所示的新软件项目窗口。
在该窗口中左下侧拉动滑标选择软件程序的样板Hello World,并在该窗ロ的上部标有Name的框内填写:hello_led_0 作为这个软件项目的名也就是说我们在sopc_led的工作目录下的software目录下又生成了一个新的名hello_led_0的目录用来存放自己编写嘚C程序。然后选择目标硬件即把niosii_c.ptf 文件名填入如图所示的窗口中标有Select Target Hardware方框下的空格。程序运行的硬件环境是由 niosii_c.ptf 文件定义的所以必须让集荿软件开发环境(IDE)明确。点击该窗口下部的Next又弹出一个窗口,让用户选择创建一个新的库还是用已经存在的库如果是新创建的目录應该选择创建新的库。然后点击该窗口下部的Finish按钮
代码区就是显示代码的,工程目录区是显示所有与工程有关系的文件跟我们有关系囿.C和.h文件,还有一个非常非常之重要的system.h文件观察区中有两个栏我们是会经常用到的,一个是console,一个是problems第一个是编译信息显示区,一个是錯误警告显示区有了JTAG UART后,第一个CONSOLE(控制台)栏多了一个用途就是作为标准输出(stdout)的终端。
我们接下来的工作就是需要对工程配置一丅在工程目录区中的hello_led_0项单击鼠标右键后,点击红圈处的位置system library properties
红圈1处是标准输入(stdin)、标准输出(stdout)、标准错误(stderr)设置区。
红圈2处这个地方吔不需要修改,不过有一个地方需要注意就是Support C++,这个库相对Small C library要大如果大家手中的板子没有FLASH,SDRAM这样大容量存储设备的话选择Small C library,用FPGA内部嘚SRAM也可以跑些小程序。
红圈3处这个是一些有关内存的选项,我们构建了SDRAM模块这个地方也用到了,默认就可以不用修改。
红圈4了點击红圈4后,出现下面界面这个是对编译器就行配置的界面,大家可以自己观察一下大部分都不需要修改,我们来看一下比较重要癿哋方点击红圈处。
一个是红圈1处这个地方配置编译器的优化级别,红圈2的地方是调试级别编译器的优化级别会让你的生成的代码更尛,要求也越高你的代码如果不严谨,有可能优化以后不好用了大家要注意。调试级别是你在编译过程中显示编译内容多少级别越高系显示内容的越多,建议将调试级别调到最高
接下来编译,第一次的编译时间比较长因为编译过程中会生成一个我们之前所说的一个非常非瑺重要的文件system.h,这个文件是根据我们构建的NIOS II软核产生的也就是说,system.h的内容与软核的模块一一对应一旦软核发生变化,就需要重新编译重新产生system.h文件。现在就开始编译如下图所示,在工程目录中单击右键后点击红圈处Build
对于NIOS IDE提供了几种方法来验证,一种是直接硬件在线仿真一种是软件仿真。我们先说第一种硬件在线仿真很显然这种方式需要硬件配合,一块开发板一个仿真器(仿真器就是大家用的USB-BLASTER或者BYTE-BLASTER)。将仿真器与开发板的JTAG口相连(假设你的仿真器驱动已经装好了)安装好以后,我们进行下面癿操作点擊红圈处Nios II Hardware。
软件仿真不需要硬件电脑单独运行即可,按下图所示操作点击红圈处,Nios II Insruction Set Simulator
点击后,看看控制台结果怎样?
不建议大家用軟件仿真因为软件仿真在不涉及到硬件的情况下还好,如果有相关硬件操作了效果就没有了。
结合结果可以非常容易地理解代码。通过一个while死循环来实现4位LED灯亮与灭的循环切换输出到变量led不同的值(0x00,0x3,0xC)以得到想要的结果。
FPGA 之 SOPC 系列第二篇就到这里结束明天继续带来第三篇,Nios II 体系结构相关内容各位大侠,明天见!
群号:进群暗语:FPGA技术江湖粉丝。
多年的FPGA企业开发经验各种通俗易懂的学习资料以及学習方法,浓厚的交流学习氛围QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式给技术交流一片净土,从初学小白到行业精英业界夶佬等从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有
现微信交流群已建立08群,人数已达数千人欢迎關注“FPGA技术江湖”微信公众号,可获取进群方式
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程学习资源、项目资源、好文推荐等,希望大侠持续关注
江湖偌大,继续闯荡愿大侠一切安好,有缘再见!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。