首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助在继续

求助在继续

EP1C12,NIOS s系统,系统上电后,有时运行,有时候不启动,加看门狗也没用,会是什么原因?我看了时钟信号,是好的。以前用nios e系统,同样程序电路,没有出现过这样的问题,急急求助诸位大虾。

另外,不知nios系统一般如何读写外部地址,没有如C51,DSP等中的WE信号,地址线,数据线,完全靠pio控制,好像不方便,请大虾解疑。

“系统上电后,有时运行,有时候不启动,加看门狗也没用”

你的思路可以使先硬件到软件。

由于sopc给你建的系统,所以你可以先建一个最小的片上系统。然后,看有没有问题。然后将外设一个一个往上加。然后你比较你在硬件上与nios e的区别,如pll的时间延时有没有考虑。你要培养一种调试,找问题的技能。

在nios software tutorial.pdf上面有一些定义了的API。不过你可以自己用nios的汇编写一些api,然后再封装成api,你就会觉得方便了。

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm

老兄,“pll时间延时”是什么意思?我将pll输出引到输出管脚察看,100M时钟始终是存在的。

看门狗确实没起作用,请看下面的精简程序,用PSEVEN.7管脚控制LED闪烁一阵子,然后停止闪烁,通过WATCHDOG复位重启,看不到结果。程序编译通过,并已写入EPCS4,难道串行器件不支持复位重启?非常郁闷,有劳各位大虾指点一二。

#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "altera_avalon_timer_regs.h"
#include "alt_types.h"
#include "alt_irq.h"
volatile alt_u8 count,try=0;
alt_u16 in = 0;
int main (void)
{
  IOWR_ALTERA_AVALON_TIMER_CONTROL(WATCHDOG_BASE,ALTERA_AVALON_TIMER_CONTROL_START_MSK); 
  for(in=0;in<10000;in++)
    {
      IOWR_ALTERA_AVALON_TIMER_PERIODL(WATCHDOG_BASE,0X1234); 
      try=try+0x80;
      IOWR_ALTERA_AVALON_PIO_DATA(PSEVEN_BASE, try);
     }
  while (1)
     {
       in=0;
       in=0;
      }
}

pll时间延时

   pll输出clk和输入clk之间有一个延时,容易使cpu reset出错。

你可以先不加看门狗,因为你的目的不是看看门狗能不能运行,而是看系统能不能稳定,你加了看门狗(先不管正确否)在这样的led闪烁程序中就不能判断系统能不能稳定了。如果看门狗的设置有问题就不能判断哪里出了问题了。

你先降点频,循环闪行不行。

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm
返回列表