收藏 分享(赏)

NIOSII 常见问题.doc

上传人:HR专家 文档编号:6743011 上传时间:2019-04-21 格式:DOC 页数:12 大小:61.50KB
下载 相关 举报
NIOSII 常见问题.doc_第1页
第1页 / 共12页
NIOSII 常见问题.doc_第2页
第2页 / 共12页
NIOSII 常见问题.doc_第3页
第3页 / 共12页
NIOSII 常见问题.doc_第4页
第4页 / 共12页
NIOSII 常见问题.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、首先需要声明一点,下面部分问题来自网络,如果版权 问题,请及时通知,我将会将其删除在此提几点要求和规定: 1.此贴是 NIOS II FAQ,所以不收录其他相关内容;2.大家通过回帖方式进行提问,如果有其他人可以解决,也是通过回帖方式 进行解决; 3.问题解决以后,我会将其编入这个贴内,然后将问题跟帖删除,避免跟帖 过多的影响。4.禁止在回帖中涉及与 NIOS II 无关内容,一经发现立即删除。- 华丽的分割线 -1.NIOS 能做浮点运算么? 答:NIOS 可以进行浮点运算,完全可以替代 MCU,时钟可以跑到 100Mhz,比 ARM7 还要快,ARM7 时钟一般为 72Mhz 左右。2.N

2、IOS 是否可以不使用 SDRAM 和并行 FLASH?答:首先说明一下,SDRAM 是用来运行程序的,FLASH 是用来存储程 序代码的(SDRAM 掉电丢失,FLASH 则不会),每次上电的时候,都需要将 FLASH 中的程序代码放到 SDRAM 中,然后再运行。FPGA 内部的 memory(onchip memory)比较小,跑比较大的程序就很难了,所以我们外扩了 SDRAM,以便比较大的程序运行。当然,我们也可以将并行的 FLASH 换成串行的 FLASH,而且这样可以节省很多引脚。其实 EPCS1(4,16.)就是串行 FLASH,所以我们可以利用它来存储代码,至于如何设置,我后面

3、通过 博客形式来给大家讲解。3.我的 Quartus II 编译硬件时没有错误,但是在下载程序的时候去出现以下错误的信息?Info: Started Programmer operation at Thu May 06 01:39:46 2010Error: Application Nios2 on 127.0.0.1 is using the target deviceError: Operation failedInfo: Ended Programmer operation at Thu May 06 01:39:46 2010不明白这是什么意思,时好时坏?答:这种情况出现在 JTAG

4、模式下,你在使用 NIOS 下的 JTAG 功能 (比如利用 BLASTER 进行在线仿真),同时你又想下载*.sof 文件(就是在 JTAG 模式下下载程序)。简单说就是你的 JTAG已经被占用了。解决办 法就是关闭你正在使用的 JTAG 功能,然后再下载*.sof 文件。初学者经常会犯这样的错误,一定要注意。4. 答:1.安装最好装在默认目录下,即:X:altera 目录下,如果自行指定目录的目录中含有空格或者汉字,在新建工程时,会出现如下错误提示:No project template folders found in $sopc_kit_nios/examples/software.2

5、.工程的存放地址不要有中文,也不要有空格,不然建立工程时可能出现如下错误提示:The software setting(STF)file associated with this project is damaged.This may be fixed by copying your source files into a new c/c+ application project.For more details see the error log.这个问题还是 NiosII IDE 对中文字符支持不好引起的,把目录名都改成英文而且不要有空格就没有问题了。5.Using cable “USB-

6、Blaster USB-0“, device 1, instance 0x00Pausing target processor: not responding.Resetting and trying again: FAILEDLeaving target processor paused答:我遇到这种问题是因为忘记将 NIOS 软核的复位(RESET)添加引 脚了,或者是因为你所添加的引脚不是对应按键也能导致这种问题的发生。6.请问一下使用 EPCS4 来保存程序,如何通过 fpga 加载到 sdram 里?答:如何使用 EPCSX 保存程序请看我最新发表的博文,地址:http:/ FPGA

7、 加载到 SDRAM,这个过程是 NIOS 内部完成的,不需 要我们来控制。 7. 怎样在 TCL 脚本分配管脚 source .tcl 有点问题:# source stratix_pin_assign.tclcouldnt read file “stratix_pin_assign.tcl“: no such file or directory答: From the Tools menu select Tcl Scripts, and then from the project folder choose the setup script for your particular develo

8、pment board, and click Run.8D:TESTnios_sst60 下载时出现错误:Error: Cant configure device. Expected JTAG ID code 0x020010DD for device 1, but found JTAG ID code 0x020B40DD.答:SOPC 所选器件和开发板上的不一 致。9在 NOIS II 中 Bulid 例程 hello_world 都出现了错误,错误提示为:gdrive/c/altera/kits/nios2/components/altera_nios2/HAL/src/alt_busy

9、_sleep.c:68: error: parse error before / token 等错误全部由 alt_busy_sleep.c 引起,都是关于括号不匹配的问题,而 alt_busy_sleep.c 是 IDE 中的一个默认程 序。这个错误同样出现在D:TESTDE2Projectsoftwarenios2.答:找到 system.h 文件,里面有个关于系统时钟频率的设置项,应该是没有赋值,你手动赋值。比如你用 50MHZ 的 时钟,就设成 50000000如果总是出现上述问题,可能和软件有关系,建议重新安装软件。注意 quartus 和 NIOS 安装版本一定要相同,不 能混装。

10、10这个错误是什么原因引起, 把那个 sdk_arm 删除后,又提示另一个地方出错。答:运行 NIOS II IDE,点 Project-Clear,重新 Builde,应该可以解决问题。11在 SOPC 中 Generate 出现如下错误是怎么回事? Error: Generator program for module epcs_controller did NOT run successfully. 只要在 SOPC 中加入 epcs_controller 就会出现此错误,无法生成一个元件。答:可能和软件有关 系,建议重新安装软件(这个问题是我刚学 NIOS 遇到的最头痛的一个问题,问题

11、的原因是 Quartus 和 Nios 安装的版本不一致)。12在 Nios II IDE 中,怎样打开一个已经存在的工程?每次新建工程比较麻烦。答:指定一个 Nios II IDE 的工作目录,就打开了那个目录下存在的工程。另外,在 Nios II中是可以建立多个工程的。13在 Quartus II 中编译出现如下错误怎么办?Error: Cant place pins assigned to pin location Pin_AE24 (IOC_X65_Y2_N2)答: 按 F1 可以查看帮助,出现这样的错误的原因是:CAUSE: You assigned two or more pins

12、 to the specified location, but the Fitter cannot place all the pins in that location.删除这个管脚即可。有一种比较简便的方法,就是在工程目录中找到一个后缀为 QSF 的管脚配置文件,查找 Pin_AE24 删除那行语句就 行了。14.如何在 NIOS II IDE 下跟踪查看变量的定义或者函数的定义?答:按住 CTRL 键,鼠标移动到变量或者函数名的地方,就可以发 现这些地方高亮显示,单击就可以进入到变量或者函数定义的地方。15. 在 count_binary.c 有这样一段程序,它是如何操作的? unsig

13、ned int data = segmentshex 来向该组件写入数据,就会导致上述错误。解决办法:1.可以修改 sopc 系统,为该 PIO 改名为 LED_PIO ;2.在 hello_led.c 的前面给LED_PIO_BASE 赋值,如#define LED_PIO_BASE 0x00001800,后面的这个地址要与 SOPC 中的地址对应。17. 如何在 NIOS II 中驱动外部芯片或设备?答:在开发过程中,我们经常会 使用外接一些芯片,或外接一些实用电路,比如 AD 芯片、串并转换芯片等等,那么如何在 NIOS II 中去使用这些芯片呢? 我们在开发中会有多个选择:1 如果这个

14、芯片是使用数据和地址总线的,并且补线时没有足够的单独引脚,那么这个芯片必须挂接在 tri_stat 总线上,这种用法和我们以往单片机或 MCU 类似,在 SOPC Builder 中直接定义用户逻辑,如果有额外的控制引脚,就需要用 PIO 来驱动,虽然公用数据地址线节省了引脚,但做控制时序费劲了。2如果 这个芯片单独使用数据和地址,那么我们会直接做成 Avalone 总线的 Slave 设备,在Sopc Builder 中自己定义 component。需要写 HDL 模块,自己定控制、状态、数据寄存器和控制位定义,这种方式控制灵活,易于实现复杂的控制时 序。3在 Quartus II 工程中画

15、电路模块(或用 HDL 写电路模块),这种方式是独立于 SOPC 定义的模块之外的,做一个纯电路的处理模块,有时候会比较容易实现某些灵活的处理。18.在 SOPC 添加 Avalon Trisatate Bridge 时,提示有如下错误,该如何解决?Tri state bridge/tristate master requires a slave of type Avalon tristate.Please add a slave of type Avalon tristate.Generate 按钮为灰色,无法 Generate答:需要一个专门接三台桥的设 备, 把 flash 添加到 so

16、pc 中就可以了。19. 在做 count_binary 这个例子时,出现一个错误: error: BUTTON_PIO_IRQ undeclared (first use in this function) BUTTON_PIO_IRQ 的值如何给他定义? 答:这个错误可能是在sopc builder 中定制的 pio 端口名称是否与程序中用的不一致,要和程序里的一致,把 pio 组件的名称就改为 button_pio,如下图:如 果已经这样设置,还有可能是没有设置中断号,具体应该这样设置:20.在 Quartus II 中编译时出现如下错误:Error: Node instance “cp

17、u_bht“ instantiates undefined entity “cpu_bht_module“点击错误的地方弹出一个对话框这个错误是怎么回事?怎样解决?答: 可能是在 SOPC 中所选的 CPU 型号不正确,换一个试试。21. 怎样自动分配管脚?答:在 Quartus II 自动分配管脚有一个方法,点击 Assignments-Import Assginments,导入一个管脚分配文件,后缀为.csv .txt 等,前提是在顶层原理图中各个输入输出的名称要和这个文件中的名称一致。22.在 NIOS II 中编译时出现如下错误怎么解决?错误是不是由 SOPC 中的 RAM 引起?re

18、gion ram is full (count_binary.elf section .text). Region needs to be 24672 bytes larger.address 0x80c1f8 of count_binary.elf section .rwdata is not within region ramUnable to reach edge_capture (at 0x00800024) from the global pointer (at 0x0081419c) because the offset (-82296) is out of the allowed

19、 range, -32678 to 32767.答:可能时 RAM 的大 小不够,也有可能是中断地址(exception address) 的偏余量不够,设置大些就可以了。如果还是出现这个问题,加一个 SDRAM 试试。23在 Quartus II 中,为什么编译一些样板工程都会出错?Error: DDR timing cannot be verified until project has been successfully compiled.Error: Evaluation of Tcl script auto_verify_ddr_timing.tcl unsuccessfulErro

20、r: Quartus II Shell was unsuccessful. 2 errors, 1 warning答: 在做样板工程时要注意一个问题:Due to the library paths that are coded into the Quartus settings for this project, if a user wishes to modify the hardware design they must first strip out any old paths from within the project settings file (qsf)在 qsf 文件中找到

21、类似语句set_global_assignment-nameVHDL_FILE C:/MegaCore/ddr_ddr2_sdram-v3.2.0/lib/auk_ddr_tb_functions.vhd“这里的目录是初始的 目录,把它改为正确的目录。24.在 NIOS II IDE 编译时出现如下错误是怎么回事?system_description/alt_sys_init.c:75: error: ONCHIP_MEMORY_BASE undeclared here (not in a function)system_description/alt_sys_init.c:75: error

22、: initializer element is not constantsystem_description/alt_sys_init.c:75: error: (near initialization for ext_flash.dev.write)system_description/alt_sys_init.c:75: error: initializer element is not constantsystem_description/alt_sys_init.c:75: error: (near initialization for ext_flash.dev.read)答:ON

23、CHIP_MEMORY_BASE 没有赋值,在 alt_sys_init.c 程序的开头加上#define ONCHIP_MEMORY_BASE 0x00000000 后面的这个地址要与 SOPC 中的对应。25. 在 NIOS II IDE 编译时出现如下错误是怎么回事?Pausing target processor: not responding.Resetting and trying again: FAILEDLeaving target processor paused答:以下是一位 FAE 的回答:1. 关于 USB-Blaster 在 Nios II IDE 下载时会发生偶发性

24、错误,这种现象主要是 IDE software 与 Nios II CPU 透过 USB-Blaster 在做通讯时发生错误,若是确认 FPG 上配置没有错误,连续发生错误的机率应该是相当的低,您只需要重新下载即可。2. 若您使用 Nios II IDE 6.0,请尽量配合 SOPC Builder 6.0 重新 build 您的 system,并且使用 Quartus II 6.0 重新 compile 您的 project,以减少 CPU 与 IDE software 不兼容的情形。26.在 NIOS II IDE 中工程的 System Library 选项中的这几个选项代表什么意思?.

25、text .rodata .rwdata 与 reset .exception 这几个地址之间的关系是什么?答:.text : 代码区 .rodata:只读数据区,一般存放静态全局变量 .rwdata:可读写变量数据区另外还有.bss:存放未被初始化的变量。.text the actual executable code.rodata any read only data used in the execution of the code.rwdata where read/write variables and pointers are storedheap where dynamicall

26、y allocated memory is locatedstack where function call parameters and other temporary data is stored27.怎样 让 SDRAM 和 FLASH,SRAM 的地址公用?答: sdram 可以和 sram,flash 共用数据总线和地址总线.在 sopc builder 中添加 SDRAM 控制器时,在其 share pins via tristate 选择项上勾上 Controller shares dq/dqm/addr IO pins 选项,这样 sdram 可以和 sram,flash 共用

27、数据总线和地址总线.但是 ATERA 不推荐这样做,因为这样会降低 SDRAM 控制器的性能, 在 FPGA 芯片管脚资源比较紧张的时候迫不得已才这样做。28.怎样使用 DE2 板上的数码管,绑定管脚时需要注意什么?请举一 个例子说明。答: DE2 板上的数码管只用了 7 位,小数点位默认为高电平。例如,在做例程 count_binary时,需要用到两个数码管,以实现 00 到 FF 的计数,在 SOPC 添加一个 16 位的 PIO SEVEN_SEG150,绑定管脚时注意:使 SEVEN_SEG06帮定到数码管 HEX060位,SEVEN_SEG8 14绑定到数码管 HEX160位,SEV

28、EN_SEG7和 SEVEN_SEG15直接接 VCC,这样才能让两个数码管正常显示并计数。29. 在 NIOS II IDE 中调试,编译通过的软件时,出现了下面的提示,是什么原因?Using cable “ByteBlasterII LPT1“, device 1, instance 0x00Processor is already pausedDownloading 00000000 ( 0%)Downloaded 57KB in 1.2s (47.5KB/s)Verifying 00000000 ( 0%)Verify failedLeaving target processor pa

29、used 答: Verify failed 这个问题说明板子的复位电路可能有问题,或装载程序的外部 SRAM 或SDRAM 和 CPU 的连接或时序有问题,也有可能是软件偶尔的错误。若是软件偶尔的错误,可以先复位一下 CPU,然后再下载程序;或者断电后重新下载.sof 和 NIOS II 程序30.在练习 C:alterakitsnios2_51examplesverilog niosII_cycloneII_2c35 的工程时,里面有很多元件 DE2 板上都没有对应的管脚,比如网络元件 lan91c111,使用的 IP 核,还有 24 位的 ext_flash,而 DE2 板上的 FLASH

30、 只有 22 位。是不是 SOPC 中只能让 DE2 板上有对应管脚的元件存在,其它的只能删除?答: 这个目录下的 example 是针对 altera 自己的板子的,和 DE2 硬件不能对应,只能作为参考,或者做一些修改后用。31.在 SOPC 中加了一个 200KB 的 onchip_memory ,为什么在 Quartus II 编译时出现这个错误?Error: Selected device has 105 RAM location(s) of type M4K RAM. However, the current design needs more than 105 to succes

31、sfully fit答:SOPC 中的 onchip_memory 和 M4K RAM 根本就不是一个概念。Quartus II 中编译出现这个错误,是由于设计中用到了太多的 M4K。32. 关于 sopc-builder 中 reset address 的设置,一直搞得不是很明白。答:SOPC 中的 reset address 指定的是最终全部软件程序代码下载到的地方,并且程序从reset address 启动。SOPC 中的 exception address 指定的是系统异常处理代码存放的地方。如果 exception address 和 reset address 不一样,那么程序从

32、reset address 启动后将把放在 reset address 处的系统异常处理代码拷贝到 exception address 。NIOS II 软件中的 text address 指定的是程序运行的地方。如果 text address 和 reset address 不一样,那么程序从 reset address 启动后将把放在 reset address 处的普通只读程序代码拷贝到 text address 。NIOS II 软件中的 rodata address 指定的是只读数据的存放地方。如果 rodata address 和 reset address 不一样,那么程序从 r

33、eset address 启动后将把放在 reset address 处的只读数据拷贝到 rodata address 。NIOS II 软件中的 rwdata address 指定的是可读写数据的存放地方。如果 rwdata address 和reset address 不一样,那么程序从 reset address 启动后将初始化 rwdata address 处的可读写数据。33. 如何提高 NIOS II 系统的性能?答: 主要可以从这几个方面入手:1、使用 fast CPU 类型。2、提高系统主频。3、优先在 SRAM 中运行程序,SDRAM 次之, 最后选择 FLASH 中运行。4

34、、使用片内 RAM 作为数据缓冲,片外 SRAM 次之,最后选 SDRAM。5、IO 数据传输尽可能采用 DMA。6、 对能并行处理的数据考虑使用多 CPU 协同处理。7、典型算法做成用户指令,有 256 条可以做,足够你用的。8、能用 HDL 模块来完成工作 吗?能,就用 HDL 模块做成外设来完成吧9、采用 C2H。34.如何优化 NIOSII 里的应用工程?答:Optimize your Nios II application design!1.Creat an Blank Project:Select Altera Nios II “ C/C+ Application“2. In ma

35、in.cyour main fuctional c/c+ file:i nclude “system.h“i nclude “alt_types.h“#int main (void) _attribute_ (weak, alias (“alt_main“);int alt_main (void)return 0;3.“System Library Properties“ OptionsSelect “Clean EXIT“Select “Small C Library“Select “Reduced Device Drivers“Spicify linker script position,

36、 to ext_flash, ext_ram or on-chip-ram35. 关于 verify failed 的总结1. SDRAM 的时序不对有 时候不正确的 pll clock phase shift for sdram_clk_out 就会导致 SDRAM 不能正常工作:2. SDRAM 的连线不对,物理板子的连线问题3. 在调试的时候,程序下载的空间不是非易丢失存储器(non-volatile memory)或者存储器的空间不够也会导致这个错误4. QuartusII 的默认设置导致的错误QuartusII 默认将所有没有 使用的 IO 口接地,这种时候可能导致某些元器件工作不正

37、常;最好将不用的 IO 口设置为三态5. USB-blaster 坏了,或者 JTAG 通信的信号噪声太大JTAG 的端口需要一个弱上拉电阻来抗干扰6. 确保你的 sdram 既连接到 CPU 的指令总线也连接到 CPU 的数据总线36.关于 DMA 传输的几点说明:1memory 到 外设的传输,调用 alt_dma_txchan_ioctl()时,有一个参数为alt_dma_tx_only_on 等2调用 alt_dma_txchan_send 函数时,在传输结束前就返回一个值,如果此值为负的话,说明发送请求失败。正确传输结束后,调用 done 函数。3 接收函数 alt_dma_rxth

38、an_prepare 类似上面的 1 和 24传输结束,有两种可能:数据传完或者 end of packet(要预先使能)5Sopc builder 中例化时要制定哪些可以访问 DMA 的主端口,DMA 的 avalon slave 端口要接cpu。实际传输的最大数可以帮助确定设置的位数6alt_dma_txchan_ioctl 用于控制 dma 的一些工作性 质,使用多的话可以用信号量等来“抢占”7dma 传输最小应该传 4 字或者其倍数。37. 1. 建立 CPU 时,下面的那个 HardWare Multiply 里面可以选Embedded Multipliers,Logic Eleme

39、nts,None,这三个选项有什么区别呀?答: Embedded Multipliers,使用专门的内嵌硬件乘法单元(不可编程,仅能做乘法,且乘法速度最快),不是 RAM。 Logic Elements,使用逻辑单元也就是 FPGA 中的查找表(速度较慢)。None,那就是不要声长硬件乘法器了,这是只能通过软件模拟乘法,速度最慢。38.下载是出现“not responding”错误的又一点发现:答:在设计的过程中,经常使用板子上内部的两个晶振作为 CPU 或者有 些信号的时钟,而且习惯用 osc_27 和 osc_50 命名。在绑定管脚时又经常导入一个 CSV 文件,没有手动一一绑定,而在那个

40、 CSV 文件中晶振管脚名分别为 CLOCK_27,CLOCK_50,这样系统的 CPU 根本就没有绑定管脚,不出错 才怪。把名称改为 CLOCK_27,CLOCK_50,重新编译下载就可以了。39. 安装了 nios2linux-1.4 之后,为什么在 New-Project 时并没有出现 Microtronx NIOS II选项呢?答: 这个问题好像难倒过很多人,其实在运行 nios2linux-1.4 安装的第一步,里面有个提示:Information Regarding the Installation ProcedureIMPORTANT: Please ensure that yo

41、u specify the correct path for the Altera Nios II Kit installation directory and the Cygwin root directory. The typical Altera Nios II Kit directory is:c:alterakitsnios2The typical Cygwin root directory is:c:alteraquartus50bincygwin问 题的关键就是上面的路径不正确。对于 Nios 5.1 和 6.0 的路径分别为 nios_51 和 nios_60,都不是 nios

42、2,所以安装后找不到模板工程很正常。但它的一些必要文件又确实是安装在了 nios_51 或 nios_60 中。我也遇到了过同样的问题,想到了一个简单的方法可以解决:1.把文件夹 nios_51 或 nios_60 改为 nios2,启动 Nios II,就可以看到所需模板工程。2.退出 Nios II,把文件夹名还原。3.再次启动 Nios II,你会发现模板工程依然还在。40Nios II 汉化解决方案答:NIOS II IDE 实际上是在 eclipse 平台上的一个应用插件,而 Eclipse 是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工

43、业平台。可访问如下网站:1.Eclipse 官 方网站 http:/www.eclipse.org/2. 中国 Eclipse 社区 http:/www.eclipseworld.org/bbs/index.php下 面介绍如何汉化 NIOS II(实际上只是汉化了 eclipse)1.打开 NIOS II,点 help-about NIOS II IDE,会看到有关 NIOS 的版权信息。可以看到 NIOS II 5.1 的版本上的 Eclipse 版本是 Eclipse 3.0.12.在 Eclipse 官方网站上找到 Eclipse 3.0.1 多国语言包 NLpack-eclipse-

44、SDK-3.0.x-win32.zip下载 地址:http:/sunsite.informatik.rwth-a . SDK-3.0.x-win32.zip3.在 NIOS II 的安装目录中,你可以找到一个 eclipse 目录,如:C:alterakitsnios2bineclipse,在这个目录下新建 2 个文 件夹 language 和 links4.将 NLpack1-eclipse-SDK-3.1.1a-win32.zip 解压到 language 目 录下5.在 links 文件夹下用记事本新建一个文件,取名为 link.link(必须是此扩展名)6.在 language.lin

45、k 里输入代码如下: path=c:/altera/kits/nios2/bin/eclipse/language 保存此文件。7.汉化完 成。说明,这种方法只是汉化了 eclipse,对 NIOS II 没有汉化,但这个软件已经大部分为中文了,因为 NIOS II 只是 eclipse 一个插件。对于我们新手来说这还是必要的 41.FLASH 下载内容为空在有 SDRAM 和 FLASH 的 SOPC 中,如果最后要下载程序到 FLASH 中,在 NIOS II 中用 FLASH PROGRAMER 下载时有 # Programming flash with the project“$SOP

46、C_KIT_NIOS2/bin/nios2-flash-programmer“ -base=0x03000000 -cable=ByteBlasterII LPT1 -sidp=0x04001038 -id=417604522 -timestamp=1257256685 “ext_flash.flash“Empty flash content cannot be programmed or verified 的错误。提示说要给 flash 编程的数据是空的。 答:原因是 RESET VECTOR 指向了 SDRAM,应该指向 FLASH。因为这里要下载的是一个工程,下载的是工程内容,reset

47、 vector 指向了 SDRAM 与 flash 就没有关系了,也就不会下载到 flash中。42.Verifying 000xxxxx ( 0%)Verify failed between address 0xxxxxx and 0xxxxxxLeaving target processor paused论坛和网络上关于这个问题问的特别多,也是新手常见的一个问题,下面我 就这个问题稍微总结一下: 1. 首先要根据 address 后面的两个地址判断出错的到底是什么器件。一般情况出现错误的大多是存储器。判断的方法是根据 sopc 中的地址,或者是 system.h 中的地址,查找相应出错的器

48、件。2. 检查硬件焊接是否正常。很多时候有些问题是硬件焊接造成的,这个主要针对的是自己焊接的板子,一旦地址数据总线有任何焊接问题,都会出现 verify failed 错误。3. 检查 sopc 中的 componet 是否正常。如果是自己加入的接口逻辑,这个部分要确认其正常与否。4. 检查 Quartus 中的设计:检查引脚锁定是否正确,必须一一对应,不能有一个错误;地址对齐问题:针对 8、16、32 位的外部存储器,对应地址最低位的应该是 0、1、2。也就是说如果用 16 位的外部存储器,那么它的最低位是 ADD1,而 ADD0是不用的,其他同理。数据总线必须是双向 IO 口,这点很容易忽

49、略。如果是 SDRAM,需要计算并设定 PLL 的相移。5. Nios IDE 中检查项目设计是否正确。43. Using cable “USB-Blaster USB-0“, device 1, instance 0x00Resetting and pausing target processor: OKReading System ID at address 0x00201040: verifiedNo CFI table found at address 0x00000000Leaving target processor paused下载 FLASH 时出现这个问题?答: 这个是 FLASH 设置问题,需要几点需要注意:1. 数据线双

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报