Content originally posted in LPCWare by JohnR on Fri Jul 18 05:53:58 MST 2014
Hi wlamers,
You write,
Quote:
I do not want to use the SEV instruction to signal an interrupt to the other core to handle the lock mechanism, mainly due to performance reasons.
Could you explain why you felt this was so.
I am using SEV and interrupts on a M4/M0/M0 system with the LPC4370. The data to be transferred between cores are placed in shared memory. So far the system seems to work without problems and seems a lot easier than the IPC queues suggested in the UM10503 manual.
From the manual
Quote:
A CPU cores raises an interrupt to the other CPU core or cores using the TXEV
instruction
Quote:
Since the ARM Cortex-M4 and ARM Cortex-M0 cannot at the same time write to the same
location, there is no need for a synchronization object (e.g. a semaphore) in this IPC.
Quote:
One awkwardness is that only one TXEV is issued by M4 and wakes up both M0Sub and M0App. I use a global flag to differentiate between the two cases but still both interrupts respond and then have to either execute some code or simply return if not flagged.
It would have been better, I think, if instead of M0Sub and M0App having the same interrupt numbers (INT #1), separate numbers had been assigned.
John