Копаю в области прерываний для ниоса.
В принципе после прочтения "n2sw_nii52006.pdf " всё стало более менее понятно, однако есть некоторая что ли неточность в том что вижу и в том что должно бытьв реальности.
Значит имеем DK-CYCII-2C20N. Простой пример - проверяем на нём работу таймера(выставил тикалку на 1 секунду).
код в IDE такой
//
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "sys/alt_irq.h"
#include "altera_avalon_timer.h"
#include "altera_avalon_timer_regs.h"
volatile unsigned char val=1;
//===ISR part===
static void timer_isr (void * context, alt_u32 irqnum )
{
if (val==8)
{
val=1;
}
else
{
val<<=1;
}
IOWR_ALTERA_AVALON_PIO_DATA(LED_PORT_BASE,val);
}
//===END ISR part===
int main (void)
{
//LED - ON
IOWR_ALTERA_AVALON_PIO_DATA(LED_PORT_BASE,val);
//stop timer
IOWR_ALTERA_AVALON_TIMER_CONTROL (TIMER_BASE,ALTERA_AVALON_TIMER_CONTROL_STOP_MSK);
// Register ISR
alt_irq_register(TIMER_IRQ,(void*)TIMER_BASE,timer_isr);
// Start timer
IOWR_ALTERA_AVALON_TIMER_CONTROL (TIMER_BASE,
ALTERA_AVALON_TIMER_CONTROL_ITO_MSK |
ALTERA_AVALON_TIMER_CONTROL_CONT_MSK |
ALTERA_AVALON_TIMER_CONTROL_START_MSK);
while (1)
{
}
return 0;
}
Собсно ничего сложного нету - лампочки поочереди должны сменять друг друга 1-2-3-4-1-2-3.....
Вот сдесь что то похожее делают - http://electronix.ru/forum/index.php?s=&am...st&p=362786 - и в принципе пишут что нормально работает.
У меня же немного другая картина - когда заливаю в DK-CYCII-2C20N - то 1-й светодиодиод загорается и нормально горит 1 секунду - а потом начинается чехарда - лампочки начинают одна за одной так быстро мигать что кажется что они все одновременно горят, на дебаге - они загораются одна за одной как положено(но это ж не есть точная проверка..), а вот ести залить через рун - тогда вышеописанная чехарда.

Если убрать старты и стопы таймеров - то же самое..

В принципе грешил на 2-й параметр, но прочитал в "n2sw_nii52006.pdf " - ..can point to any ISR-specific information.. Тут мыли закончились..
Есть у кого какие идеи в какую сторону копать ?
