I don't need board to boot in less than 10 ms. My board starts for a long time. And that is all right.
I need to do something like this:
https://www.alteraforum.com/forum/attachment.php?attachmentid=7682 t1 - is first strobe with a duration 10ms, t2 - time to reinit and restart timer.
To make stobe with duration 10ms I first init and start timer, and then set
pioout1 up
But I can't make t2=0, because
void timer_start(void)
{
IOWR_ALTERA_AVALON_TIMER_CONTROL(timer_base, ALTERA_AVALON_TIMER_CONTROL_STOP_MSK); //stop timer, disable interrupt
IOWR_ALTERA_AVALON_TIMER_STATUS(timer_base, 0); //clear flag
IOWR_ALTERA_AVALON_TIMER_CONTROL(timer_base, ( ALTERA_AVALON_TIMER_CONTROL_ITO_MSK |
ALTERA_AVALON_TIMER_CONTROL_START_MSK)); //start timer, enable interrupt
return;
}
takes 6ms!
I can set timer for 4ms it can help me get second strobe with 10ms duration, but it is dirty hack.
maybe there is some optimization, and i should turn it on in bsp/hal configuration?