Page 1 of 1

E_REG_CORE_RESET

PostPosted: Sun Nov 30, 2014 2:54 pm
by ralisi
I have some questions regarding the RESETCORE-register. I wrote the following function to let one core reset another core:
Code: Select all
void reset(unsigned row, unsigned col) {
    unsigned *addr;
    addr = (unsigned *) e_get_global_address(row, col, (void *) E_REG_CORE_RESET);
    *addr = 1;
    *addr = 0;
    e_irq_set(row,col,E_SYNC);
}


  • Is there a minimum time reset must be held so that everything is properly reset or are two consecutive writes, as above, okay?
  • What is the interrupt mask after the core was reset? Are other interrupts, apart from the sync interrupt, also permitted?


best regards
Raphael

Re: E_REG_CORE_RESET

PostPosted: Sun Nov 30, 2014 4:37 pm
by aolofsson
ralisi wrote:[*]Is there a minimum time reset must be held so that everything is properly reset or are two consecutive writes, as above, okay?

No minimum reset time, consecutive writes are ok.
ralisi wrote:[*]What is the interrupt mask after the core was reset? Are other interrupts, apart from the sync interrupt, also permitted?

After reset, all registers return to their default values (if there were any). The default is to have all interrupts enabled after reset.

Andreas

Re: E_REG_CORE_RESET

PostPosted: Sun Nov 30, 2014 5:06 pm
by ralisi
Thank you for your answer.

So I will need to protect
Code: Select all
*addr = 0;
e_irq_set(row,col,E_SYNC);

against other interrupt sources.

Is there a specific reason to allow all interrupts after reset and not only the reset interrupt?

Best regards
Raphael