系统:win8.1 SDK:Quartus II 14.1 FPGA:Cyclone IV 1.将Quartus生成的.pof文件(配置Flash即可自动生成,这里不讨论),与Nios生成的.elf文件(在sofeware文件夹的工程目录里面)拷贝到同一个文件夹,我这里将两个文件拷到D盘的jic新建文件夹里面. 2.在jic文件夹中新建一个后缀为.sh的文件,这里采用记事本新建一个my.sh 3.双击打开,复制输入以下代码. sof="test.sof" elf="maste…
FPGA的程序通常包含硬件和软件两部分.正常情况下调试需要分别进行下载,过程繁琐. 为了将Nios II的软件程序包含到.sof文件中方便调试,可以在SOPC Builder中的RAM初始化为Nios 中的应用程序,在早先的版本中onchip_mem.hex都是自动生成的,并且每次编译Nios 程序的时候都会自动更新.但是最近Nios II EDS 12.0中,此初始化文件需要手工更新,方法如下: project--->make target--->build--->build. 其间容…
Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术 这里主要是针对EP3C系列FPGA的Nios程序固化到EPCS中的方法做简要说明.硬件SOPC1.要固化程序到EPCS,在SOPC Builder中首先需要添加EPCS_Controller核,此外,CPU的reset vector设置为EPCS_Controller,Exception Vector一般设置为SDRAM即可.2.生成该nios_cpu.对于EP3C系列的FPGA来说…
这不是一篇构建nios的教程,而是遇到的各种问题以及解决方法.至于构建教程,网上一大把,我推荐正点原子的FPGA教程,比较新,比较详细,通俗易懂!!! 这里以一个点亮LED灯的Nios软核为例,很明显,需要如下IP核,以及正确的连线(否则各种莫名其妙的错误),效果如下所示: 这里多了一个按键控制的IP核,不过没关系. 记住:一模一样按照我这里的连线,一条线都不能少,否则后果自负.以及export一列,也得按照红色框的来,因为这些IP核是要对芯片外部通过引脚有通信的.比如pio核,就是通过引脚控制…
选择BSP Editor->Settings ->Advanced->hal->linker,然后勾选allow_code_at_reset.当然如果勾选enable_alt_load和enable_alt_load_copy_rwdata.也是没有问题的.具体参数意思还没看. 该选项就是设置片上RAM作为Nios的程序存储器,这样在启动FPGA之后Nios从片内存储器开始执行代码. 运行Nios工程中的Make targets ->build. 双击mem_init_gen…
1.创建一个BOOT镜像 该小节主要讲述zynq平台利用软件套件SDK创建一个可固化BOOT镜像. 1.1  选择Ad9361_Eque1工程,选择Xilinx Tools → Create Boot Image . 1.2  Creating a BOOT Image 出现如下图,创建MCS文件,使用默认的BIF文件路径.文件路径应该是这样的顺序: -zynq_fsbl.elf -system_wrapper.bit - Ad9361_ Eque1.elf 设置Output path中的BOO…
声明:只是为了记录我遇到的一些问题,其中有我理解错的望勿参考. (1)qt designer设计好窗口 主窗口: 登录窗口: 关于qt designer的使用,大可以百度,很简单的,要注意的是部件的参数要会调整. 有一点要说一下,就是我们建的部件怎样适合窗口,也就是放大跟着放大,缩小跟着缩小.我的主窗口设置了,但是登录界面就没有设置. 这个操作就是在qt designer里面,选中main window然后为顶层也就是main window设置一个lay out,至于设置什么类型的,取决于个人需…
Nios II 程序固化(如何下载elf文件) 2018年10月15日 21:37:32 瓜儿不甜 阅读数:723    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/snaking616/article/details/83064887 在调试Nios程序阶段,通常需要先将配置文件(*.sof)通过 JTAG 下载刡到FPGA 中,接着在Nios II IDE窗口中,右击工程名,选择Debug as -> Nios II hardware 来…
今天继续调试,又出现了新问题.在执行NIOS程序代码时,不能下载了:Pausing target processor: not responding. Resetting and trying again: FAILED downloading ELF process failed nios工程在编译通过后RUN的过程中出现Error Running Nios II Project: ‘Downloading ELF Process failed’问题原因: 1.nios2 cpu datama…
本文记录了在使用NIOS中遇到的一些问题和相关的原因分析及解决办法,做个总结方便以后查阅.也希望可以帮到有同样问题的攻城狮.本文长期更新,遇到了就写下. 本人使用软件版本:QuartusII 13.0sp1,NIOS13.0sp1 [TIPS]NIOS工程的一些基本设置 这里简单的介绍一下自己在使用NIOS中我常有的一些操作,用来保证整个使用过程中错误的警报数量减少. Qsys中,自定义IP核,在Tools中Option添加V文件所在路径 NIOS中,Project->Properities中添…
神奇的linux! 第一步去官网注册然后下载对应的linux版本,包括软件和设备文件两部分,软件也就是quartus II nios ide,modelsim-altera这些,设备就是具体altera的芯片支持(这部分没装装了软件也没用) 第二步安装,由于我下载的DVD镜像,所以第一步是挂载到虚拟光驱,当然你也可以解压(不过将会浪费很多时间),挂载完之后进入对应目录,该目录下有一个setup.sh 这个就是安装脚本,运行这个脚本之前必须保证你的模拟终端使用的是bash而不是dash,在你的终端…
1.Altera 的quartus II 下载程序时中途失败,有可能是程序写的不对(缺少初始状态,else补全等等) 2.下载程序pof最好也用英文命名,再下载.…
原作者:http://hi.baidu.com/zhoubin7020 作为FPGA新人常常在论坛上问,用什么语言啊,用什么软件啊,用那个公司的芯片等问题.我个人认为学习FPGA和学习单片机有相同的道理: 反复动手联系,有项目的跟着项目走,没有项目的买快开发板折腾! 下面是其它人写的关于如何学习FPGA的建议: 1.首先要理解 CPLD\FPGA器件的含义,主要是关于并行处理的理解. 2.编程语言,目前主要有2种,VHDL. Verilog.其中用 Verilog的比较多,评价也很好. 3.最好…
Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它将处理器.存储器.I/O口.LVDS.CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统. 1.1 SOPC及其技术 现今,可将SOPC视为是基于FPGA解决方案的SOC.与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,也有多种途径可构成SOPC方…
Nios II 13.1中,使用Qsys生成的cpu中断号默认为-1,因此中断无法注册.解决方法:手动修改中断模块的tcl文件如下: add_interface interrupt_sender interrupt end set_interface_property interrupt_sender associatedAddressablePoint "avalon_slave " set_interface_property interrupt_sender associated…
本文关键字:fpga技术,fpga发展, fpga培训,FPGA应用开发入门与典型实例 一.FPGA技术的发展历史 纵观数字集成电路的发展历史,经历了从电子管.晶体管.小规模集成电路到大规模以及超大规模集成电路等不同的阶段.发展到现在,主要有3类电子器件:存储器.处理器和逻辑器件. 存储器保存随机信息(电子数据表或数据库的内容):处理器执行软件指令,以便完成各种任务(运行数据处理程序或视频游戏):而逻辑器件可以提供特殊功能(器件之间的通信和系统必须执行的其他所有功能). 逻辑器件分成两类:   …
连接 Avalon -MM接口 mgmt_waitrequest:当 PLL 重配置进程开始后,此端口变高并在 PLL 重配置期间保持高电平. PLL 重配置进程完成后,此端口变低. I/O PLL重配写操作步骤: 1.  为mgmt_address和mgmt_writedata设置有效值,并且使能mgmt_write一个mgmt_clk周期 2.  重复步骤1共8次 3.  为mgmt_address设置启动地址9’b000000000,mgmt._writedata任意,并且使能mgmt_w…
Switch II 最大能连接12路输入与12路输出 不能合并数据数 每个输入可以驱动多个输出 每个输出只能被一个输入驱动 当输入没有连接到输出时,可以禁止掉 每个被禁止的输入可以设置成停止或者消耗模式.停止模式时输入把它的ready信号拉低:消耗模式时输入把它的ready信号拉高: 支持最大4个并行像素.   现在发现switch IP很难启动,可能在某个点上设置有问题,没有din_ready信号,经过测试发现控制寄存器中的地址16控制着din_ready信号,把相应的位设置为1之后,相应的d…
DE1-SOC开发版上的FPGA在一个基于ARM的用户定制系统(SOC)中集成了分立处理器(HPS).FPGA和数字信号处理(DSP)功能.HPS是基于ARM cortex-A9双核处理器,具有丰富的外设和存储接口(DDR2/3)等. HPS 和 FPGA 不仅能够独立工作,也能通过高性 能 AXI 总线桥接实现高速宽带行数据通信,这个总线是双向的,HPS 总线主机能够通过 HPS 至 FPGA 桥接访问 FPGA 架构中的总线及其外设.所有桥接兼容 AXI-3/4, 支持同时读写操作,同样的,…
很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序也能继续运行.这是因为对MCU烧写固件 的实质就是将程序固件写入到MCU的片上程序存储器ROM中,而现代的大部分MCU这个ROM都是FLASH存储器.FLASH存储器能够掉电保持数据, 所以可以实现掉电程序不丢失.Altera或Xilinx的FPGA芯片,使用的是基于SRAM结构的查找表,而SRAM的一大特性就是掉电数据会丢失, 当我们使用JTAG将SRAM配置文件…
第一次接触新东西的时候,难免会磕磕碰碰,不过遇到问题不要着急,慢慢来.原因总归是我们自己引起的,一步步找到问题的根源,然后彻底解决它,避免下次再犯. 在开始之前先分享一下工具:(Quartus II 9.0.Quartus II 13.0.Quartus II 13.1.Quartus II 15.0.相应版本的器件库.Modulesim) 链接:https://pan.baidu.com/s/1RfwdpcfD5gmHJvndAgxh0A提取码:0q8x  接下来进入正题 目标:创建 Quar…
第一个FPGA工程----点亮开发板上的3个LED灯 1.新建FPGA工程 开启Quartus2的画面 File--New Project Wizard..指定工程的路径与工程名 指定所使用的FPGA设备型号 2.添加设计文件 本设计采用Verilog HDL硬件描述语言建模 3.建模 本设计有三个输出量,没有输入量,这三个输出量对应FPGA芯片的三个管脚,同时被置高电平,用来驱动LED灯. 4.编译工程 Processing--Start compilation 并生成编译报告 5.引脚分配…
源:http://blog.csdn.net/zhenhua10/article/details/6442412 ATmega128具备引导加载支持的用户程序自编程功能(In-System Programming by On-chipBoot Program),它提供了一个真正的由MCU本身自动下载和更新(采用读/写同时"Read-While-Write"进行的方式)程序代码的系统程序自编程更新的机制.利用AVR的这个功能,可以实现在应用编程(IAP)以及实现系统程序的远程自动更新的应…
BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器.对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都是不可读的,这就在运行旧程序和写入新程序之间造成了一个矛盾. 使用BOOT区是解决这个矛盾的方法之一,它将FLASH存储器从物理上分为两个独立的区域,对其中的一个区的数据写入不会影响到另一个区的数据读取操作.我们可以让单片机的程序在其中一个区(通常是BOOT区)运行,而运行着的程序…
作品已经完成,先上源码: https://files.cnblogs.com/files/qzrzq1/WIFISpeaker.zip 全文包含三篇,这是第二篇,主要讲述发送端程序的原理和过程. 第一篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(一) 第三篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(三) 以下是正文: 发送端程序基于MFC的对话框类实现,开发环境Visual Studio 2012,主要实现了5个功能,下面逐个讲述:…
BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器.对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都是不可读的,这就在运行旧程序和写入新程序之间造成了一个矛盾. 使用BOOT区是解决这个矛盾的方法之一,它将FLASH存储器从物理上分为两个独立的区域,对其中的一个区的数据写入不会影响到另一个区的数据读取操作.我们可以让单片机的程序在其中一个区(通常是BOOT区)运行,而运行着的程序…
GJB438B 软件设计说明模板 https://mp.weixin.qq.com/s?__biz=MjM5Mzc2NjczMQ%3D%3D&idx=3&mid=2651866777&sn=5c8b15ef50d1574cdb6f5823dacfab7c (1) 软件研制任务书 https://www.jianshu.com/p/dfb0b22662e4 1 范围 1.1 标识 本文档适用的软件: a) 软件标识:XXXX: b) 软件名称:(软件名称): c) 软件简称:(软件简…
本次设计的源码在http://download.csdn.net/detail/noticeable/9912383 下载 实验目的:通过uart通讯协议的编写,了解FPGA的通讯协议编写的方法. 实验现象:FPAG可以通过USB转TTL工具向电脑收发数据. 相关知识点:1.uart通讯协议是什么及其内容.2.in system surce and probes(editor)调试工具的使用. 关于串行通讯:串口通讯协议是一种主机之间常用的通讯协议,通过模块按位发送和接收字节,可以达到通讯的目的…
一.摘要 结合dsp_builder.matlab.modelsim和quartus ii等软件完成算法的FPGA实现. 二.实验平台 硬件平台:DIY_DE2 软件平台:quartus ii9.0 + ModelSim-Altera 6.4a (Quartus II 9.0) + dsp_builder9.0 + matlab2010b 三.软件平台的准备 1.软件的匹配 根据altera的官方文档,可以看到quartus ii.modelsim.dsp_builder和matlab的版本匹配…
本文参考了如下文章 深入理解linux启动过程 mbr (主引导记录(Master Boot Record)) 电脑从开机加电到操作系统main函数之前执行的过程 详解linux系统的启动过程及系统初始化 linux系统的启动流程 关于linux系统的启动流程我们可以按步进行划分为如下: BIOS POST自检 BIOS(Boot Sequence) 引导操作系统 加载对应引导上的MBR(bootloader) 主引导设置加载其BootLoader 加载操作系统 启动BIOS,准备实模式下的中断…