Board logo

标题: [求助] 关于NiosII的ISS调试和Hardware调试 [打印本页]

作者: xuminjun    时间: 2008-5-12 15:19     标题: [求助] 关于NiosII的ISS调试和Hardware调试

#include <stdio.h>
#include "system.h"
#include "VGA.h"
#include "alt_types.h"
#include "altera_avalon_pio_regs.h"
#include "altera_avalon_timer_regs.h"
#include <sys/alt_irq.h>

static volatile alt_u8 value ;

static void timer_isr(void* base , alt_u32 id)
{
IOWR_ALTERA_AVALON_TIMER_STATUS((alt_u32*) base , 0);
WriteRgb(VGA_IP_BASE,value);
}
//中断服务子程序,把value写到VGA_IP上
void init_timer(void* base)
{
IOWR_ALTERA_AVALON_TIMER_CONTROL((alt_u32*) base,
ALTERA_AVALON_TIMER_CONTROL_ITO_MSK |
ALTERA_AVALON_TIMER_CONTROL_CONT_MSK |
ALTERA_AVALON_TIMER_CONTROL_START_MSK );
}

int main(void)
{
static alt_u32 ct;
init_timer((alt_u32*)TIMER_BASE);
alt_irq_register(TIMER_IRQ , (alt_u32*)TIMER_BASE , timer_isr);
/*对于直接使用XX_BASE的函数,我们无需对其进行地址转换,但是这个XX_BASE正好是我们自己定
的函数的参数,那么要对他们进行强制地址转换*/
while(1)
{
if(ct!=50000)
{
ct++;
}
else
{
ct=0;
}
value=IORD_ALTERA_AVALON_PIO_DATA(PIO_IN_BASE);
}
return 0;
}
在ISS调试中本程序没有问题,但是在硬件调试中在进入定时器中断后就跳不出来了,请问高手这是为什么,应该如何解决


作者: pangjibo2008    时间: 2008-5-22 20:15

我是菜鸟,硬件调试可以用run,而非debug
作者: kzw    时间: 2008-5-23 09:40

真正的调试只能用硬件调试,楼主怎么知道进了中断没有出来呢?




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0