Curious about serial1.c uart0_status_isr() and a teensy 3.6

Status
Not open for further replies.
Hi, I've just started to get into ARM programming. Up until now I've only used Arduino and some other tool chains / APIs that didn't require me to think too hard about what is going on under the hood.

My understanding of how the T3.6 UART works is - an interrupt routine
Code:
void uart0_status_isr(void)
is passing incoming characters to a fifo, that needs to be cleared by the higher level arduino serial handling functions.

I am curious how / where
Code:
void uart0_status_isr(void)
is actually turned into an interrupt?

I have searched the entire Arduino directory for "uart0_status_isr" and only find references in:

"C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3\kinetis.h"
Code:
extern void uart0_status_isr(void);


"C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3\serial1.c"
Code:
void uart0_status_isr(void)
{
//The isr code... 
}

"C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3\mk20dx128.c"
Code:
void uart0_status_isr(void)	__attribute__ ((weak, alias("unused_isr")));

I searched for NVIC and I see functions to enable and disable interrupts, but I don't see where uart0_status_isr(void) is actually defined as the interrupt routine for IRQ_UART0_STATUS.

I'm just curious... Thanks!
 
Thanks Paul! There's the missing piece.

I must have searched for "uart0_status_isr(" (including the opening parenthesis) and that's why I didn't get that reference in my results.

I *really* do want to learn ARM! I just got the definitive guide in the mail last week. Birthday present to myself... She's a beast.

Thanks again.
 
Status
Not open for further replies.
Back
Top