还剩19页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
FPGA黑金__板专注NIOSII的研究NIOSII常见问题(FAQ)为了帮助初学者快速入门NIOSII,在此建立NIOSIIFAQ,希望大家把自己遇到的问题提出来,然后在这里总结起来,以帮助以后遇到同样问题的人首先需要声明一点,下面部分问题来自网络,如果版权问题,请及时通知,我将会将其删除在此提几点要求和规定
1.此贴是NIOSIIFAQ,所以不收录其他相关内容;
2.大家通过回帖方式进行提问,如果有其他人可以解决,也是通过回帖方式进行解决;
3.问题解决以后,我会将其编入这个贴内,然后将问题跟帖删除,避免跟帖过多的影响
4.禁止在回帖中涉及与NIOSII无关内容,一经发现立即删除 -------------------------------------------华丽的分割线----------------------------------------------------------------------
1.NIOS能做浮点运算么? 答NIOS可以进行浮点运算,完全可以替代MCU,时钟可以跑到100Mhz,比ARM7还要快,ARM7时钟一般为72Mhz左右
2.NIOS是否可以不使用SDRAM和并行FLASH?答首先说明一下,SDRAM是用来运行程序的,FLASH是用来存储程序代码的(SDRAM掉电丢失,FLASH则不会),每次上电的时候,都需要将FLASH中的程序代码放到SDRAM中,然后再运行FPGA内部的memory(onchipmemory)比较小,跑比较大的程序就很难了,所以我们外扩了SDRAM,以便比较大的程序运行当然,我们也可以将并行的FLASH换成串行的FLASH,而且这样可以节省很多引脚其实EPCS
1416...就是串行FLASH,所以我们可以利用它来存储代码,至于如何设置,我后面通过__形式来给大家讲解
3.我的QuartusII编译硬件时没有错误但是在下载程序的时候去出现以下错误的信息 Info:StartedProgrammeroperationatThu__y0601:39:462010 Error:ApplicationNios2on
127.
0.
0.1isusingthetargetdevi__ Error:Operationfailed Info:EndedProgrammeroperationatThu__y0601:39:462010 不明白这是什么意思时好时坏 答这种情况出现在JTAG模式下,你在使用NIOS下的JTAG功能(比如利用BLASTER进行在线仿真),同时你又想下载*.sof文件(就是在JTAG模式下下载程序)简单说就是你的JTAG已经被占用了解决办法就是关闭你正在使用的JTAG功能,然后再下载*.sof文件初学者经常会犯这样的错误,一定要注意
4. 答
1.__最好装在默认目录下,即X:\altera目录下,如果自行指定目录的目录中含有空格或者汉字,在新建工程时,会出现如下错误提示 Noprojecttemplatefoldersfoundin$sopc_kit_nios/examples/software.
2.工程的存放地址不要有中文,也不要有空格,不然建立工程时可能出现如下错误提示 ThesoftwaresettingSTFfileassociatedwiththisprojectisda__ged.This__ybefixedbycopyingyoursour__filesintoanewc/c++applicationproject.Formoredetailsseetheerrorlog. 这个问题还是NiosIIIDE对中文字符支持不好引起的,把目录名都改成英文而且不要有空格就没有问题了
5.UsingcableU__-Blaster[U__-0]devi__1instan__0x00 Pausingtargetpro__ssor:notresponding. Resettingandtryingagain:FAILED Le__ingtargetpro__ssorpaused 答我遇到这种问题是因为忘记将NIOS软核的复位(RESET)添加引脚了,或者是因为你所添加的引脚不是对应按键也能导致这种问题的发生
6.请问一下使用EPCS4来保存程序,如何通过fpga加载到sdram里?答如何使用EPCSX保存程序请看我最新发表的博文,地址http://___.cnblogs.com/kingst/archive/2010/05/09/
1730835.html 如何通过FPGA加载到SDRAM,这个过程是NIOS内部完成的,不需要我们来控制
7.怎样在TCL脚本分配管脚sour__pin_assign.tcl有点问题#sour__stratix_pin_assign.tclcouldntreadfilestratix_pin_assign.tcl:nosuchfileordirectory答FromtheToolsmenuselectTclScriptsandthenfromtheprojectfolderchoosethesetupscriptforyourparticulardevelopmentboardandclickRun.8.D:\TEST\nios_sst60下载时出现错误Error:Cantconfiguredevi__.ExpectedJTAGIDcode0x020010DDfordevi__1butfoundJTAGIDcode0x020B40DD.答SOPC所选器件和__板上的不一致9.在NOISII中Bulid例程hello_world都出现了错误,错误提示为gdrive/c/altera/kits/nios2/components/altera_nios2/HAL/src/alt_busy_sleep.c:68:error:parseerrorbefore/token等错误全部由alt_busy_sleep.c引起,都是关于括号不匹配的问题,而alt_busy_sleep.c是IDE中的一个默认程序这个错误同样出现在D:\TEST\DE2Project\software\nios
2. 答找到system.__件,里面有个关于系统时钟频率的设置项,应该是没有赋值,你手动赋值比如你用50MHZ的时钟,就设成50000000如果总是出现上述问题,可能和软件有关系,建议重新__软件注意quartus和NIOS__版本一定要相同不能混装10.这个错误是什么原因引起,把那个sdk_arm删除后,又提示另一个地方出错答运行NIOSIIIDE,点Project-Clear,重新Builde应该可以解决问题11.在SOPC中Generate出现如下错误是怎么回事Error:Generatorprogramformoduleepcs_controllerdidNOTrunsuc__ssfully.只要在SOPC中加入epcs_controller就会出现此错误,无法生成一个元件答可能和软件有关系,建议重新__软件(这个问题是我刚学NIOS遇到的最头痛的一个问题,问题的原因是Quartus和Nios__的版本不一致)12.在NiosIIIDE中,怎样打开一个已经存在的工程?每次新建工程比较麻烦答指定一个NiosIIIDE的工作目录,就打开了那个目录下存在的工程另外,在NiosII中是可以建立多个工程的13.在QuartusII中编译出现如下错误怎么办?Error:Cantpla__pinsassignedtopinlocationPin_AE24IOC_X65_Y2_N2答按F1可以查看帮助,出现这样的错误的原因是CAUSE:YouassignedtwoormorepinstothespecifiedlocationbuttheFittercannotpla__allthepinsinthatlocation.删除这个管脚即可有一种比较简便的方法,就是在工程目录中找到一个后缀为QSF的管脚配置文件,查找Pin_AE24删除那行语句就行了
14.如何在NIOSIIIDE下跟踪查看变量的定义或者函数的定义答按住CTRL键,鼠标__到变量或者函数名的地方,就可以发现这些地方高亮显示,单击就可以进入到变量或者函数定义的地方
15.在count_binary.c有这样一段程序,它是如何操作的?unsignedintdata=segments[hex15]|segments[hex415]8答segments[hex15]显示个位0~F;segments[hex415]8显示十位数0~F,个位0~F,然后十位加一16.这个错误是由什么引起?答提示LED_PIO_BASE没有声明,这是因为名字不一致引起的比如,在生成SOPC系统时,双击PIOParallelI/O在__alonModules-Other下),为系统添加输出接口你没有把该组件改名成LED_PIO而是保留了原始的名字PIO_0;但你又通过IOWR_ALTERA___ALON_PIO_DATALED_PIO_BASEled;来向该组件写入数据,就会导致上述错误解决办法
1.可以修改sopc系统,为该PIO改名为LED_PIO;
2.在hello_led.c的前面给LED_PIO_BASE赋值,如#defineLED_PIO_BASE0x00001800,后面的这个地址要与SOPC中的地址对应
17.如何在NIOSII中驱动外部芯片或设备答在__过程中,我们经常会使用外接一些芯片,或外接一些实用电路,比如AD芯片、串并转换芯片等等,那么如何在NIOSII中去使用这些芯片呢?我们在__中会有多个选择1.如果这个芯片是使用数据和地址总线的,并且补线时没有足够的单独引脚,那么这个芯片必须挂接在tri_stat总线上,这种用法和我们以往单片机或MCU类似,在SOPCBuilder中直接定义用户逻辑,如果有额外的控制引脚,就需要用PIO来驱动,虽然公用数据地址线节省了引脚,但做控制时序费劲了2.如果这个芯片单独使用数据和地址,那么我们会直接做成__alone总线的Sl__e设备,在SopcBuilder中自己定义component需要写HDL模块,自己定控制、状态、数据寄存器和控制位定义,这种方式控制灵活,易于实现复杂的控制时序3.在QuartusII工程中画电路模块(或用HDL写电路模块),这种方式是__于SOPC定义的模块之外的,做一个纯电路的处理模块,有时候会比较容易实现某些灵活的处理
18.在SOPC添加__alonTrisatateBridge时,提示有如下错误,该如何解决?Tristatebridge/tristate__sterrequiresasl__eoftype__alontristate.Pleaseaddasl__eoftype__alontristate.Generate按钮为灰色,无法Generate答需要一个专门接三台桥的设备,把flash添加到sopc中就可以了
19.在做count_binary这个例子时,出现一个错误error:`BUTTON_PIO_IRQundeclaredfirstuseinthisfunctionBUTTON_PIO_IRQ的值如何给他定义?答这个错误可能是在sopcbuilder中定制的pio端口名称是否与程序中用的不一致,要和程序里的一致,把pio组件的名称就改为button_pio,如下图如果已经这样设置,还有可能是没有设置中断号,具体应该这样设置
20.在QuartusII中编译时出现如下错误Error:Nodeinstan__cpu_bhtinstantiatesundefinedentitycpu_bht_module__错误的地方弹出一个对话框这个错误是怎么回事?怎样解决?答可能是在SOPC中所选的CPU型号不正确,换一个试试
21.怎样自动分配管脚?答在QuartusII自动分配管脚有一个方法,__Assig__ents-ImportAssgi__ents导入一个管脚分配文件,后缀为.csv.___等,前提是在顶层原理图中各个输入输出的名称要和这个文件中的名称一致
22.在NIOSII中编译时出现如下错误怎么解决?错误是不是由SOPC中的RAM引起?regionramisfullcount_binary.elfsection.text.Regionneedstobe24672byteslarger.address0x80c1f8ofcount_binary.elfsection.rwdataisnotwithinregionramUnabletoreachedge_captureat0x00800024fromtheglobalpointerat0x0081419cbecausetheoffset-82296isoutoftheallowedrange-32678to
32767.答可能时RAM的大小不够,也有可能是中断地址ex__ptionaddress的偏余量不够,设置大些就可以了如果还是出现这个问题,加一个SDRAM试试23.在QuartusII中,___编译一些样板工程都会出错?Error:DDRtimingcannotbeverifieduntilprojecthasbeensuc__ssfullycompiled.Error:EvaluationofTclscriptauto_verify_ddr_timing.tclunsuc__ssfulError:QuartusIIShellwasunsuc__ssful.2errors1warning答在做样板工程时要注意一个问题DuetothelibrarypathsthatarecodedintotheQuartussettingsforthisprojectifauserwishestomodifythehardwaredesigntheymustfirststripoutanyoldpathsfromwithintheprojectsettingsfileqsf在qsf文件中找到类似语句set_global_assig__ent-nameVHDL_FILEC:/MegaCore/ddr_ddr2_sdram-v
3.
2.0/lib/auk_ddr_tb_functions.vhd这里的目录是初始的目录,把它改为正确的目录
24.在NIOSIIIDE编译时出现如下错误是怎么回事?system_description/alt_sys_init.c:75:error:`ONCHIP_MEMORY_BASEundeclaredherenotinafunctionsystem_description/alt_sys_init.c:75:error:initializerelementisnotconstantsystem_description/alt_sys_init.c:75:error:nearinitializationfor`ext_flash.dev.writesystem_description/alt_sys_init.c:75:error:initializerelementisnotconstantsystem_description/alt_sys_init.c:75:error:nearinitializationfor`ext_flash.dev.read答ONCHIP_MEMORY_BASE没有赋值,在alt_sys_init.c程序的开头加上#defineONCHIP_MEMORY_BASE0x00000000后面的这个地址要与SOPC中的对应
25.在NIOSIIIDE编译时出现如下错误是怎么回事?Pausingtargetpro__ssor:notresponding.Resettingandtryingagain:FAILEDLe__ingtargetpro__ssorpaused答以下是一位FAE的回答
1.关于U__-Blaster在NiosIIIDE下载时会发生偶发性错误,这种现象主要是IDEsoftware与NiosIICPU透过U__-Blaster在做通讯时发生错误,若是确认FPG上配置没有错误,连续发生错误的机率应该是相当的低,您只需要重新下载即可
2.若您使用NiosIIIDE
6.0,请尽量配合SOPCBuilder
6.0重新build您的system,并且使用QuartusII
6.0重新compile您的project,以减少CPU与IDEsoftware不兼容的情形
26.在NIOSIIIDE中工程的SystemLibrary选项中的这几个选项代表什么意思?.text.rodata.rwdata与reset.ex__ption这几个地址之间的关系是什么?答.text:代码区.rodata:只读数据区,一般存放静态全局变量.rwdata:可读写变量数据区另外还有.bss:存放未被初始化的变量.text—theactualexecutablecode.rodata—anyreadonlydatausedintheexecutionofthecode.rwdata—whereread/writevariablesandpointersarestoredheap—wheredynamicallyallocatedmemoryislocatedstack—wherefunctioncallparametersandothertemporarydataisstored
27.怎样让SDRAM和FLASH,SRAM的地址公用?答sdram可以和sramflash共用数据总线和地址总线.在sopcbuilder中添加SDRAM控制器时,在其sharepinsviatristate选择项上勾上Controllersharesdq/dqm/addrIOpins选项,这样sdram可以和sramflash共用数据总线和地址总线.但是ATERA不推荐这样做,因为这样会降低SDRAM控制器的性能,在FPGA芯片管脚资源比较紧张的时候迫不得已才这样做
28.怎样使用DE2板上的数码管,绑定管脚时需要注意什么?请举一个例子说明答DE2板上的数码管只用了7位,小数点位默认为高电平例如,在做例程count_binary时,需要用到两个数码管,以实现00到FF的计数,在SOPC添加一个16位的PIOSEVEN_SEG[
15..0],绑定管脚时注意使SEVEN_SEG[
0..6]帮定到数码管HEX0[
6..0]位,SEVEN_SEG[
8..14]绑定到数码管HEX1[
6..0]位,SEVEN_SEG
[7]和SEVEN_SEG
[15]直接接VCC,这样才能让两个数码管正常显示并计数
29.在NIOSIIIDE中调试,编译通过的软件时,出现了下面的提示,是什么原因?UsingcableByteBlasterII[LPT1]devi__1instan__0x00Pro__ssorisalreadypausedDownloading000000000%Downloaded57KBin
1.2s
47.5KB/sVerifying000000000%VerifyfailedLe__ingtargetpro__ssorpaused答Verifyfailed这个问题说明板子的复位电路可能有问题,或装载程序的外部SRAM或SDRAM和CPU的连接或时序有问题也有可能是软件偶尔的错误若是软件偶尔的错误可以先复位一下CPU然后再下载程序;或者断电后重新下载.sof和NIOSII程序
30.在练习C:\altera\kits\nios2_51\examples\verilog\niosII_cycloneII_2c35的工程时,里面有很多元件DE2板上都没有对应的管脚,比如网络元件lan91c111,使用的IP核,还有24位的ext_flash,而DE2板上的FLASH只有22位是不是SOPC中只能让DE2板上有对应管脚的元件存在,其它的只能删除?答这个目录下的example是针对altera自己的板子的,和DE2硬件不能对应,只能作为参考,或者做一些修改后用
31.在SOPC中加了一个200KB的onchip_memory___在QuartusII编译时出现这个错误?Error:Selecteddevi__has105RAMlocationsoftypeM4KRAM.Howeverthecurrentdesignneedsmorethan105tosuc__ssfullyfit答SOPC中的onchip_memory和M4KRAM根本就不是一个概念QuartusII中编译出现这个错误,是由于设计中用到了太多的M4K
32.关于sopc-builder中resetaddress的设置,一直搞得不是很明白答SOPC中的resetaddress指定的是最终全部软件程序代码下载到的地方,并且程序从resetaddress启动SOPC中的ex__ptionaddress指定的是系统异常处理代码存放的地方如果ex__ptionaddress和resetaddress不一样,那么程序从resetaddress启动后将把放在resetaddress处的系统异常处理代码拷贝到ex__ptionaddressNIOSII软件中的textaddress指定的是程序运行的地方如果textaddress和resetaddress不一样,那么程序从resetaddress启动后将把放在resetaddress处的普通只读程序代码拷贝到textaddressNIOSII软件中的rodataaddress指定的是只读数据的存放地方如果rodataaddress和resetaddress不一样,那么程序从resetaddress启动后将把放在resetaddress处的只读数据拷贝到rodataaddressNIOSII软件中的rwdataaddress指定的是可读写数据的存放地方如果rwdataaddress和resetaddress不一样,那么程序从resetaddress启动后将初始化rwdataaddress处的可读写数据
33.如何提高NIOSII系统的性能?答主要可以从这几个方面入手
1、使用fastCPU类型
2、提高系统主频
3、优先在SRAM中运行程序,SDRAM次之,最后选择FLASH中运行
4、使用片内RAM作为数据缓冲,片外SRAM次之,最后选SDRAM
5、IO数据传输尽可能采用D__
6、对能并行处理的数据考虑使用多CPU协同处理
7、典型算法做成用户指令,有256条可以做,足够你用的
8、能用HDL模块来完成工作吗?能,就用HDL模块做成外设来完成吧
9、采用C2H
34.如何优化NIOSII里的应用工程?答OptimizeyourNiosIIapplicationdesign!
1.CreatanBlankProject SelectAlteraNiosIIC/C++Application
2.In__in.c[your__infuctionalc/c++file]#includesystem.h#includealt_types.h#......int__invoid__attribute__weakaliasalt___in;intalt___invoid{......return0;}
3.SystemLibraryPropertiesOptionsSelectCleanEXITSelect__allCLibrarySelectRedu__dDevi__DriversSpicifylinkerscriptpositiontoext_flashext_ramoron-chip-ram
35.关于verifyfailed的总结
1.SDRAM的时序不对有时候不正确的pllclockphaseshiftforsdram_clk_out就会导致SDRAM不能正常工作:
2.SDRAM的连线不对物理板子的连线问题
3.在调试的时候程序下载的空间不是非易丢失存储器(non-volatilememory)或者存储器的空间不够也会导致这个错误
4.QuartusII的默认设置导致的错误QuartusII默认将所有没有使用的IO口接地这种时候可能导致某些元器件工作不正常;最好将不用的IO口设置为三态
5.U__-blaster坏了或者JTAG通信的__噪声太大JTAG的端口需要一个弱上拉电阻来抗干扰
6.确保你的sdram既连接到CPU的指令总线也连接到CPU的数据总线
36.关于D__传输的几点说明1.memory到外设的传输,调用alt_d___txchan_ioctl时,有一个参数为alt_d___tx_only_on等2.调用alt_d___txchan_send函数时,在传输结束前就返回一个值,如果此值为负的话,说明发送请求失败正确传输结束后,调用done函数3.接收函数alt_d___rxthan_prepare类似上面的1和24.传输结束,有两种可能数据传完或者endofpacket(要预先使能)5.Sopcbuilder中例化时要制定哪些可以访问D__的主端口,D__的__alonsl__e端口要接cpu实际传输的最大数可以帮助确定设置的位数6.alt_d___txchan_ioctl用于控制d__的一些工作性质,使用多的话可以用__量等来“抢占”7.d__传输最小应该传4字或者其倍数
37.
1.建立CPU时,下面的那个HardWareMultiply里面可以选
①EmbeddedMultipliers,
②LogicElements,
③None,这三个选项有什么区别呀?答
①EmbeddedMultipliers,使用专门的内嵌硬件乘法单元(不可编程,仅能做乘法,且乘法速度最快),不是RAM
②LogicElements,使用逻辑单元也就是FPGA中的查找表(速度较慢)
③None那就是不要声长硬件乘法器了,这是只能通过软件模拟乘法,速度最慢
38.下载是出现“notresponding”错误的又一点发现答在设计的过程中,经常使用板子上内部的两个晶振作为CPU或者有些__的时钟,而且习惯用osc_27和osc_50命名在绑定管脚时又经常导入一个CSV文件,没有手动一一绑定,而在那个CSV文件中晶振管脚名分别为CLOCK_27CLOCK_50这样系统的CPU根本就没有绑定管脚,不出错才怪把名称改为CLOCK_27CLOCK_50,重新编译下载就可以了
39.__了nios2linux-
1.4之后,___在New-Project时并没有出现MicrotronxNIOSII选项呢?答这个问题好像难倒过很多人,其实在运行nios2linux-
1.4__的第一步,里面有个提示Infor__tionRegardingtheInstallationPro__dureIMPORTANT:PleaseensurethatyouspecifythecorrectpathfortheAlteraNiosIIKitinstallationdirectoryandtheCygwinrootdirectory.ThetypicalAlteraNiosIIKitdirectoryis:c:\altera\kits\nios2ThetypicalCygwinrootdirectoryis:c:\altera\quartus50\bin\cygwin问题的关键就是上面的路径不正确对于Nios
5.1和
6.0的路径分别为nios_51和nios_60都不是nios2,所以__后找不到模板工程很正常但它的一些必要文件又确实是__在了nios_51或nios_60中我也遇到了过同样的问题,想到了一个简单的方法可以解决
1.把文件夹nios_51或nios_60改为nios2,启动NiosII,就可以看到所需模板工程
2.退出NiosII,把文件夹名还原
3.再次启动NiosII,你会发现模板工程依然还在40.NiosII__解决方案答NIOSIIIDE实际上是在eclipse平台上的一个应用插件,而Eclipse是一个开放源代码的软件__项目,专注于为高度集成的工具__提供一个全功能的、具有商业品质的工业平台可访问如下__
1.Eclipse____http://___.eclipse.org/
2.中国Eclipse社区http://___.eclipseworld.org/bbs/index.php下面介绍如何__NIOSII(实际上只是__了eclipse)
1.打开NIOSII,点help-aboutNIOSIIIDE会看到有关NIOS的版权信息可以看到NIOSII
5.1的版本上的Eclipse版本是Eclipse
3.
0.
12.在Eclipse____上找到Eclipse
3.
0.1多国语言包NLpack-eclipse-SDK-
3.
0.x-win
32.zip下载地址http://sunsite.infor__tik.rwth-a...SDK-
3.
0.x-win
32.zip
3.在NIOSII的__目录中,你可以找到一个eclipse目录,如C:\altera\kits\nios2\bin\eclipse,在这个目录下新建2个文件夹language和links
4.将NLpack1-eclipse-SDK-
3.
1.1a-win
32.zip解压到language目录下
5.在links文件夹下用记事本新建一个文件取名为link.link必须是此扩展名
6.在language.link里输入代码如下:path=c:/altera/kits/nios2/bin/eclipse/language保存此文件
7.__完成说明,这种方法只是__了eclipse,对NIOSII没有__,但这个软件已经大部分为中文了,因为NIOSII只是eclipse一个插件对于我们新手来说这还是必要的
41.FLASH下载内容为空在有SDRAM和FLASH的SOPC中,如果最后要下载程序到FLASH中,在NIOSII中用FLASHPROGRAMER下载时有 #Programmingflashwiththeproject$SOPC_KIT_NIOS2/bin/nios2-flash-programmer--base=0x03000000--cable=ByteBlasterII[LPT1]--sidp=0x04001038--id=417604522--timestamp=1257256685 ext_flash.flashEmptyflashcontentcannotbeprogrammedorverified的错误提示说要给flash编程的数据是空的 答原因是RESETVECTOR指向了SDRAM,应该指向FLASH因为这里要下载的是一个工程,下载的是工程内容,resetvector指向了SDRAM与flash就没有关系了,也就不会下载到flash中
42.Verifying000xxxxx0%Verifyfailedbetweenaddress0xxxxxxand0xxxxxxLe__ingtargetpro__ssorpaused__和网络上关于这个问题问的特别多,也是新手常见的一个问题,下面我就这个问题稍微总结一下
1.首先要根据address后面的两个地址判断出错的到底是什么器件一般情况出现错误的大多是存储器 判断的方法是根据sopc中的地址,或者是system.h中的地址,查找相应出错的器件
2.检查硬件焊接是否正常 很多时候有些问题是硬件焊接造成的,这个主要针对的是自己焊接的板子,一旦地址数据总线有任何焊接问题,都会出现verifyfailed错误
3.检查sopc中的componet是否正常 如果是自己加入的接口逻辑,这个部分要确认其正常与否
4.检查Quartus中的设计 检查引脚锁定是否正确,必须一一对应,不能有一个错误; 地址对齐问题针对
8、
16、32位的外部存储器,对应地址最低位的应该是
0、
1、2也就是说如果用16位的外部存储器,那么它的最低位是ADD
[1],而ADD
[0]是不用的,其他同理 数据总线必须是双向IO口,这点很容易忽略 如果是SDRAM,需要计算并设定PLL的相移
5.NiosIDE中检查项目设计是否正确
43.UsingcableU__-Blaster[U__-0]devi__1instan__0x00 Resettingandpausingtargetpro__ssor:OK ReadingSystemIDataddress0x00201040:verified NoCFItablefoundataddress0x00000000 Le__ingtargetpro__ssorpaused 下载FLASH时出现这个问题?答这个是FLASH设置问题,需要几点需要注意
1.数据线双向;
2.16位和8位模式要分清楚;
3.在SOPCbuilder中要根据自己的FLASH类型正确设置参数,并行FLASH要加三态桥
44.__ke-sallincludes Compilingint
01.c... Linkingint
01.elf... /cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/__c/nios2-elf/
3.
4.6/http://___.cnblogs.com/http://___.cnblogs.com/nios2-elf/bin/ld:regionramisfullint
01.elfsection.rwdata.Regionneedstobe32bytes larger. /cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/__c/nios2-elf/
3.
4.6/http://___.cnblogs.com/http://___.cnblogs.com/nios2-elf/bin/ld:section.bss[00000020-00000233]overlapssection.ex__ptions[00000020-00000147] /cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/__c/nios2-elf/
3.
4.6/http://___.cnblogs.com/http://___.cnblogs.com/nios2-elf/lib/mno-hw-mul/lib__allc.awriter.o.text+0x1c:Infunction`_write_r: /build/nios2eds-gnutools-win32-
9.0/bin/nios2-gnutools/src/newlib/newlib/libc/reent/writer.c:57:Unabletoreacherrnoat0x00000020fromtheglobalpointerat0x0000b7c4becausetheoffset -47012isoutoftheallowedrange-32678to
32767. collect2:ldreturned1exitstatus __ke:***[int
01.elf]Error1 Buildcompletedin
55.703seconds 这个问题是什么原因啊?答出现这种情况是没有使用SDRAM,用FPGA内部的onchipmemory因为FPGA内部的资源有限,onchipmemory比较小,如果运行比较大的程序就会出现上述错误如果您想__我,请通过以下任意方式E__il__ic633@g__il.com__984597569NIOS技术群107122106(200人已满)109711029(100人已满)113457511(200人已满)112__0919Tel15026499986Gtalk__ic633@g__il.com淘宝地址:http://store.taobao.com/shop/view_shop.htmasker=wangwangshop_nick=engelbertTag标签:NIOSIIFAQHYPERLINKhttp://home.cnblogs.com/kingst/\t_blankINCLUDEPICTUREhttp://pic.cnblogs.com/face/u
121829.jpg\*MERGEFORMATFPGA黑金__板__-22粉丝-28__博主430请您对文章做出评价«上一篇BF531DSP核心板»下一篇【连载】【FPGA黑金__板】NIOS那些事儿--如何将程序下载到EPCSX中十三postedon2010-05-0423:56FPGA黑金__板阅读2071评论27编辑收藏评论1857283#1楼2010-05-0508:25漫步樱花 typedefstruct{ union{struct{ volatileunsignedlongintRE__IVE_DATA:8; volatileunsignedlongintNC:24;}BITS; volatileunsignedlongintWORD; }RXDATA;这里面的volatileunsignedlongintNC:24;___要这样定义?___是24位? 回复 引用 查看 #2楼2010-05-0509:41阿输入法[未注册用户]@漫步樱花看手册NC就是没用的位,手册标注了没有使用的位是24位 回复 引用 #3楼2010-05-0509:45lenomerlion 定时器有点不懂,那些初始化的程序都是放在哪的?SOPCh?还是单独建立一个定时器文件夹,另外具体哪里实现的4个LED时1s间隔的闪烁?我没看到有1s的时间设定啊、、 回复 引用 查看 #4楼2010-05-0515:24FIGOXWM[未注册用户]
1.nios能作浮点数处理吗?因为之前的项目是FPGA+MCU,MCU主要是作一些运算的,有些浮点运算,不知能不能作个内核处理呢?
2.如果NIOS里不用SDRAM,不用FLASH,只用EPCS4作程序存储,如何设置?项目里的FPGA程序本来也用了EPCS4的,如果再作个内核,也用EPCS4作程序储存,如何设置? 回复 引用 #5楼[楼主]2010-05-0518:16FPGA黑金__板 @漫步樱花这个问题就不加进去了,呵呵! 回复 引用 查看 #6楼[楼主]2010-05-0518:19FPGA黑金__板 引用lenomerlion定时器有点不懂,那些初始化的程序都是放在哪的?SOPCh?还是单独建立一个定时器文件夹,另外具体哪里实现的4个LED时1s间隔的闪烁?我没看到有1s的时间设定啊、、好好看下程序就明白了 回复 引用 查看 #7楼2010-05-0523:29三奘哥 我的板子的flash是EPCS4,但是下不进去程序不知道怎么配置,瑞哥能不能给讲讲啊runhardware不行提示错误flash下载也不行还是说有错误还是请瑞哥和其他高手给讲讲如何配置EPCS4吧先谢谢了 回复 引用 查看 #8楼2010-05-0601:45hanjiang[未注册用户]___同时注册两个定时器中断只有定时器timer_0中断响应了而timer_1没反映呢两个的初始化完全一样的.初始化程序如下:staticvoidinit_timervoid{TIMER_0-STATUS.BITS.TO=0;TIMER_0-PERIODL=_____0000;TIMER_0-PERIODH=_____000016;TIMER_0-CONTROL.BITS.ITO=1;alt_irq_registerTIMER_0_IRQvoid*TIMER_0_BASEISR_timer0;TIMER_1-STATUS.BITS.TO=0;TIMER_1-PERIODL=_____000;TIMER_1-PERIODH=_____00016;TIMER_1-CONTROL.BITS.ITO=1;alt_irq_registerTIMER_1_IRQvoid*TIMER_1_BASEISR_timer1;printfinit_timer\n;} 回复 引用 #9楼2010-05-0601:50hanjiang[未注册用户]我的QuartusII编译硬件时没有错误但是在下载程序的时候去出现以下错误的信息Info:StartedProgrammeroperationatThu__y0601:39:462010Error:ApplicationNios2on
127.
0.
0.1isusingthetargetdevi__Error:OperationfailedInfo:EndedProgrammeroperationatThu__y0601:39:462010不明白这是什么意思时好时坏 回复 引用 #10楼2010-05-0601:57hanjiang[未注册用户]NIOSII软件在编译新加的硬件模块时会出错当然自己认为软件上的错误基本都已经查找完全后仍然有错这时可以将softwart文件下的__inincdriver文件先__出来重新新建一个工程先编译一次硬件模块然后在将三个文件__进新工程中重新编译就不会出错为何有别的解决办法吗 回复 引用 #11楼2010-05-0615:47FIGOXWM[未注册用户]假设一个项目中的SDRAM的驱动是用硬件逻辑做的,并且用了其中的一个BANK作了一些数据缓存,那么这个SDRAM其它BANK还能作于NIOS里面作RAM来扩展内存吗? 回复 引用 #12楼2010-05-0616:48uplinux[未注册用户]请问一下使用EPCS4来保存程序,如何通过fpga加载到sdram里? 回复 引用 #13楼2010-05-0617:40zzbone[未注册用户]@hanjiang把NIOS关了,端口重复占用了 回复 引用 #14楼2010-05-0618:12zx66668282[未注册用户]你好,我的__板上有个NANDFLASH,请问在SOPC里如何建立它的控制器,最好详细点,谢谢!! 回复 引用 #15楼[楼主]2010-05-0620:56FPGA黑金__板 @zx66668282没玩过NANDFLASH呵呵 回复 引用 查看 #16楼2010-05-0621:00ZZL520[未注册用户]楼主!我在NIOSII里面___我在标准模式下的NIOSCPU定时器最多定时到90US再定时小一点就会定时出错呢!!!!就是定不起时!! 回复 引用 #17楼2010-05-0710:34youngsh1986[未注册用户]最近搞了介个星期的网口测试,在UCOS下和裸跑都试了一下,但是都没有成功,用的是D__000有人做好了通信,发个给我!在DE2上用的更好了感谢!__54258__62 回复 引用 #18楼2010-05-0716:02漫步樱花 怎么手册里都是16位的呀 回复 引用 查看 #19楼2010-05-1217:57qiongqiong 谢谢您的niosii的详细讲解,真的很不错,我现在要实现FPGA与DSP的通信,要用到emif接口,FPGA要将采样完的16位数据存入双口ram中,写完发中断给DSP,dsp进行读取数据,同时DSP也要计算一些数据,然后中断,发送给FPGA,如何使用双口ram,您能给我点建议吗?谢谢您,我的邮箱是yunliqiong123@
163.com 回复 引用 查看 #20楼2010-05-1711:09黄昏晓[未注册用户]__ke-sallincludesCompilingint
01.c...Linkingint
01.elf.../cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/__c/nios2-elf/
3.
4.6/../../../../nios2-elf/bin/ld:regionramisfullint
01.elfsection.rwdata.Regionneedstobe32byteslarger./cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/__c/nios2-elf/
3.
4.6/../../../../nios2-elf/bin/ld:section.bss[00000020-00000233]overlapssection.ex__ptions[00000020-00000147]/cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/__c/nios2-elf/
3.
4.6/../../../../nios2-elf/lib/mno-hw-mul/lib__allc.awriter.o.text+0x1c:Infunction`_write_r:/build/nios2eds-gnutools-win32-
9.0/bin/nios2-gnutools/src/newlib/newlib/libc/reent/writer.c:57:Unabletoreacherrnoat0x00000020fromtheglobalpointerat0x0000b7c4becausetheoffset-47012isoutoftheallowedrange-32678to
32767.collect2:ldreturned1exitstatus__ke:***[int
01.elf]Error1Buildcompletedin
55.703seconds这个问题是什么原因啊?? 回复 引用 #21楼[楼主]2010-05-1717:43FPGA黑金__板 @黄昏晓你的ram不够用了 回复 引用 查看 #22楼2010-05-2115:35漫步樱花 UsingcableU__-Blaster[U__-0]devi__1instan__0x00Resettingandpausingtargetpro__ssor:OKReadingSystemIDataddress0x00201040:verifiedNoCFItablefoundataddress0x00000000Le__ingtargetpro__ssorpaused下载FLASH时出现这个问题? 回复 引用 查看 #23楼[楼主]2010-05-2120:45FPGA黑金__板 引用漫步樱花UsingcableU__-Blaster[U__-0]devi__1instan__0x00Resettingandpausingtargetpro__ssor:OKReadingSystemIDataddress0x00201040:verifiedNoCFItablefoundataddress0x00000000Le__ingtargetpro__ssorpaused下载FLASH时出现这个问题?这个是FLASH设置问题,需要几点需要注意
1.数据线双向;
2.16位和8位模式要分清楚;
3.在SOPCbuilder中要根据自己的FLASH类型正确设置参数,并行FLASH要加三态桥 回复 引用 查看 #24楼2010-05-2709:37漫步樱花 仿真的时候有现象但是下载到flash中就不运行了,Programmed371KBin
3.5s
106.0KB/sDevi__contentschecksummedOKLe__ingtargetpro__ssorpaused 回复 引用 查看 #25楼2010-05-3116:36紫灵儿[未注册用户]我在定制pwm核时,遇到一个问题在nioside中运行时,不断的显示小方块consel窗口提示nios2-terminal:connectedtohardwaretargetusingJTAGUARToncablenios2-terminal:U__-Blaster[U__-0]devi__1instan__0nios2-terminal:UsetheIDEstopbuttonorCtrl-Ctoterminate但led并不亮请高手帮我解决一下! 回复 引用 #26楼2010-06-2517:15漫步樱花 请问瑞哥,EP2C5Q208可以驱动5V的芯片吗?是要加上拉还是应该怎么处理?我以前用LATTI__的片子那软件里可以设置输出漏极开路不知道这个是否可以,在哪里设置? 回复 引用 查看 #27楼[楼主]2010-06-2517:39FPGA黑金__板 @漫步樱花最好加个16245芯片 回复 引用 查看 。