tronicals wrote on Monday, July 17, 2017:
Hi all,
It seems I have trouble with my InteruptWrappers interacting with FreeRTOS.
I used the serial_isr.S file coming with the demo and extended it for more UARTinterrupts.
It compiles fine, it works fine, but after 2 days running and receivig constantly serial data some interrupt are ignored.
I wonder if I made some errors in the serial_isr.S file, because I am not familiar with asm
Should :
.set nomips16
.set noreorder
be repeated for each interrupt?
Thanks iin advance
#include <p32xxxx.h>
#include <sys/asm.h>
#include "ISR_Support.h"
/*U1*/
.set nomips16
.set noreorder
.extern vU1InterruptHandler
.extern xISRStackTop
.global vU1InterruptWrapper
.set noreorder
.set noat
.ent vU1InterruptWrapper
vU1InterruptWrapper:
portSAVE_CONTEXT
jal vU1InterruptHandler
nop
portRESTORE_CONTEXT
.end vU1InterruptWrapper
/*U2*/
.set nomips16
.set noreorder
.extern vU2InterruptHandler
.extern xISRStackTop
.global vU2InterruptWrapper
.set noreorder
.set noat
.ent vU2InterruptWrapper
vU2InterruptWrapper:
portSAVE_CONTEXT
jal vU2InterruptHandler
nop
portRESTORE_CONTEXT
.end vU2InterruptWrapper
/*U3*/
.set nomips16
.set noreorder
.extern vU3InterruptHandler
.extern xISRStackTop
.global vU3InterruptWrapper
.set noreorder
.set noat
.ent vU3InterruptWrapper
vU3InterruptWrapper:
portSAVE_CONTEXT
jal vU3InterruptHandler
nop
portRESTORE_CONTEXT
.end vU3InterruptWrapper
/*U4 - N.A*/
/*U5*/
.set nomips16
.set noreorder
.extern vU5InterruptHandler
.extern xISRStackTop
.global vU5InterruptWrapper
.set noreorder
.set noat
.ent vU5InterruptWrapper
vU5InterruptWrapper:
portSAVE_CONTEXT
jal vU5InterruptHandler
nop
portRESTORE_CONTEXT
.end vU5InterruptWrapper
/*U6*/
.set nomips16
.set noreorder
.extern vU6InterruptHandler
.extern xISRStackTop
.global vU6InterruptWrapper
.set noreorder
.set noat
.ent vU6InterruptWrapper
vU6InterruptWrapper:
portSAVE_CONTEXT
jal vU6InterruptHandler
nop
portRESTORE_CONTEXT
.end vU6InterruptWrapper