Nios II在线调试失败,JTAG UART?

Nios II在线调试失败,JTAG UART?,第1张

1. 检查硬件吵喊有没有问题

2. 检查NIOS的CPU设置,包括程序的中断地址设置,,9,

saDfhwaehh 举报

硬件没有问题啊,别人也用那个板子做测试呢!~CPU应该也没问题,不然使用片上的ram会出错的!有人说就是下载线的问题,要正规的那种,但是为什么使用片上ram就好着呢,也能调试和烧写flash!~~~

举报 gankeeper

会不会你的fmax不够?片上的fmax一般比外部ram的高。你可以测试一下你的sdram,不用nios,直接用硬件编写一个写和读的测试程序,看在你需要的fmax下能否正确读写。 还有sdram的驱动设置是否正确 不好意思,晚了几天。我对sdram很不了解啊,不过板子上的SDRAM正好是nios手册中用来做例子计算相移的那个sdram芯片,也就是MT48LC4M32B2,所以我在sopc builder中直接就选了这个,什么都不用改的。那个计算的相移是-3.35ns,不知前辈还有何高见?还有那个SDRAM的测试。。。能再说清楚一些吗?使用vhdl语言编写吗?~~,Nios II在线调试失败,JTAG UART

JTAG UART

UART,JTAG

NIOS调试JTAG UART.提示如下橘念.没有任何输出.

nios2-terminal:Warning:The JTAG cable you are using is not supported for Nios

nios2-terminal:II systems.You may experience intermittent JTAG munication

nios2-terminal:failures with this cable.Please use a USB Blaster revision B

nios2-terminal:cable or another supported cable.Please refer to the file

nios2-terminal:errata.txt included in the Nios II development kit documents

nios2-terminal:directory for more information.

nios2-terminal:(Use the IDE stop button or Ctrl-C to terminate)

并且进入DEBUG之后也不是很正常.单不执行.设置断点等 *** 作不好使

我知道有很多人问这个问题,但是没有一个准确的答案!我就是试一个流水灯的程序,有epcs和sdram,sdram不知道有没有问题,我使用一升伍野个片上的ram完全没问题,也可以在线调试,但是换成sdram就是这样了,

回答如下,不知道能不能帮助你!

移存器的VHDL程序如下:

Library ieee

use ieee.std_logic_1164.all

use ieee.std_logic_unsigned.all--以上是定义集合包,是VHDL里面的包

entity yicunqi is--这是定义实体,就是定义器件的输入输出管角,和仔团名称为yicunqi

port(di ,clk :in std_logic --2个输入

q6,q5,q4,q3,q2,q1,q0:out_std_logic --7个逻辑输出

)

end yicunqi

architecture a of yicunqi is--定义结构体,名称为a,属于yicunqi

signal tmp : std_logic_vector(6 downto 0) 定义一个信号变量组,一共7个

begin

process(clk)--clk是触发程序的条件

begin

if (clk'event and clk='1') then --如果CLK有变化且是上升沿触发

tmp(6)<=di--首先赋值

for i in 1 to 6 loop

tmp(6-i)<=tmp(7-i)--循环赋值,将后一个值给前一个,这样就实现移位

end loop

end if

end process

q6<=not tmp(6)--将值取反付给Q6

q5<=tmp(5)

q4<=not tmp(4)

q3<=not tmp(3)

q2<=tmp(2)

q1<=tmp(1)

q0<=tmp(0)

end a

译码器:当七位移位寄存器输出的是“1111111”时,译码器输出就是“111”;有一位错码输出即七位输出中有一个是“0”的时候,译码器输出就是“110”,其它情况输出就为“000”。

译码器的VHDL源程序为:

library ieee

use ieee.std_logic_1164.all

use ieee.std_logic_unsigned.all

entity yimaqi is

port(a,b,c,d,e,f,g:in std_logic

selt :out std_logic_vector(2 downto 0))--输出是一个3位的

end yimaqi

architecture bh of yimaqi is

signal sel: std_logic_vector(6 downto 0)

begin

sel<=a&b&c&d&e&f&g--将abcdefg按位组成一个7位数组形式

process(sel)

begin

case sel is--case语句应该懂吧,C语言有的饿

when"0111111"=>selt<="110"--当sel满足when后面的条件时就把100赋值给selt,后面同

when"1011111"=>selt<="110"

when"1101111"=>selt<="110"

when"1110111"=>selt<="110"

when"1111011"=>selt<="110"

when"1111101"=>selt<="110"

when"1111110"=>selt<="110"

when"1111111"=>selt<="111"

when others=>selt<="000"

end case

end process

end bh

判决器的功能相当于一个比较器。

当巴克码识别器的输出大于等于自动门限的输出时,就输出一个“1”脉唤橘冲,否则就输出“0”脉冲。

判决器的VHDL源程序为:

library ieee

use ieee.std_logic_1164.all

use ieee.std_logic_unsigned.all

entity panjueqi is

port(a : in std_logic_vector(2 downto 0)

b :in std_logic_vector(2 downto 0)

c :buffer std_logic --定义的是数据buffer

)

end panjueqi

architecture bh of panjue is

begin

c<='戚岩1' when a>=b else '0'--当a>=b时c<='1',其他c<='0'

end bh

VHDL不允许在一个进程中检测多个信号的边沿,只能检测某歼衡厅一个信号的边沿。if clk'event and clk='1'then if PUSH_IN'EVENT AND PUSH_IN='0' THEN 这种描述方式VHDL不认氏隐可拦枝。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12322142.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存