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

[求助] 关于NiosII的ISS调试和Hardware调试

[求助] 关于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调试中本程序没有问题,但是在硬件调试中在进入定时器中断后就跳不出来了,请问高手这是为什么,应该如何解决

我是菜鸟,硬件调试可以用run,而非debug
锐意进取,为基本的车房奋斗!
真正的调试只能用硬件调试,楼主怎么知道进了中断没有出来呢?
在交流中前进,共同实现nios的应用。
返回列表