But when I study into the API for chSemWait , I have some doubts and get confused, as I see the calling archetecture:
chSemWait-->chSemWaitS-->chSchGoSleepS-->chSysSwitch-->_port_switch
I found there seems not any intterrupt occured in this process, so my question is
1) in this process, context switch is made without any intterrput like PendSV participate? if it is, how is it possible?
or maybe I miss something here?
2) I'm a little bit familiar with ucos, I know it always uses pendSV of intterrput for context switch which is in contradictory here?
3)a little suggestion: since a lot people is familar with ucos , is there some tutorial explaining for the different mechanisms in the kernel of both to help undering of such noob like me

expected and very appreciated for your answer!