Search found 3 matches

by hello,tomorrow
Sat May 04, 2024 8:49 am
Forum: ChibiOS/RT
Topic: the fundemental questions about context switch mechanism in ChibiOS
Replies: 5
Views: 28706

Re: the fundemental questions about context switch mechanism in ChibiOS


__port_switch:
push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
#if CORTEX_USE_FPU
/* Saving FPU context.*/
vpush {s16-s31}
#endif

str sp, [r1, #CONTEXT_OFFSET]
#if (CORTEX_SIMPLIFIED_PRIORITY == FALSE) && \
((CORTEX_MODEL == 3) || (CORTEX_MODEL == 4))
/* Workaround for ARM ...
by hello,tomorrow
Sat May 04, 2024 4:30 am
Forum: ChibiOS/RT
Topic: the fundemental questions about context switch mechanism in ChibiOS
Replies: 5
Views: 28706

Re: the fundemental questions about context switch mechanism in ChibiOS

Hi,

In that port the context switch is performed synchronously and without entering an exception state, look at the asm implementation of port_switch(). It just stacks/unstacks all the EABI function-preserved registers and swap stacks.

Note that there are 2 distinct ARMv7-M ports, the alternate ...
by hello,tomorrow
Fri May 03, 2024 1:39 am
Forum: ChibiOS/RT
Topic: the fundemental questions about context switch mechanism in ChibiOS
Replies: 5
Views: 28706

the fundemental questions about context switch mechanism in ChibiOS

hi, I'm new to ChibiOS and learning about the magic kernel core of ChibiOS, we know the very important part is about context switch mechanism.


But when I study into the API for chSemWait , I have some doubts and get confused, as I see the calling archetecture:
chSemWait-->chSemWaitS ...