What does chSysLockFromIsr(); exactly Does ??? I have had that question since im using CHibiOS.
And why do i have to use I functions when i use chSysLockFromIsr();?
Thanks!
chSysLockFromIsr();
Moderators: RoccoMarco, lbednarz, tfAteba
- Giovanni
- Site Admin
- Posts: 14892
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: chSysLockFromIsr();
Hi,
That function starts a critical zone within an ISR. On those architectures where ISRs can be preempted by higher priority IRQs that function prevents preemption until chSysUnlockFromIsr() is called.
Both functions are used in order to call I-class functions (those whose name is terminated by an "I") that are meant to be called from within a critical zone.
Details are in the "kernel concepts" section of the documentation, see system states.
Giovanni
That function starts a critical zone within an ISR. On those architectures where ISRs can be preempted by higher priority IRQs that function prevents preemption until chSysUnlockFromIsr() is called.
Both functions are used in order to call I-class functions (those whose name is terminated by an "I") that are meant to be called from within a critical zone.
Details are in the "kernel concepts" section of the documentation, see system states.
Giovanni