Hi,
I am currently experimenting on the Teensy 4.1 with ChibiOS/SB.
Unluckily i get an MUNSTKERR MemManage fault when using SVCs, currently I only tested the fastcalls SVCs.
What could be the reason for that? Where should I start searching?
Thank You.
Greeting Sebastian
MemManage MUNSTKERR when using syscalls on Cortex M7
Moderators: RoccoMarco, lbednarz, tfAteba
- Giovanni
- Site Admin
- Posts: 14891
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: MemManage MUNSTKERR when using syscalls on Cortex M7
Hi,
I imagine you are using the version on trunk, it is still quite experimental so there is not much documentation yet. It will have a manual when it will be released in 25.x.
In general, fastcall handlers are seen like fast IRQs by the RTOS, from there you can manipulate registers, operate on shared variables but not call RTOS functions. The advantage is the very low overhead compared to a full syscall.
On the other hand normal syscalls are simply code executed at thread level, you can interact with any RTOS object and other threads from there.
My objective is to make fastcalls at least able to invoke I-class functions, that should be possible I have not yet tested the scenario, some extra development would be needed.
Not sure how to help you, that error seems to indicate some kind of memory violation while unstacking Cortex-M IRQ frames, probably you are trying to call some OS function from the fastcall, if that is the case then use a syscall and it should be fine.
Giovanni
I imagine you are using the version on trunk, it is still quite experimental so there is not much documentation yet. It will have a manual when it will be released in 25.x.
In general, fastcall handlers are seen like fast IRQs by the RTOS, from there you can manipulate registers, operate on shared variables but not call RTOS functions. The advantage is the very low overhead compared to a full syscall.
On the other hand normal syscalls are simply code executed at thread level, you can interact with any RTOS object and other threads from there.
My objective is to make fastcalls at least able to invoke I-class functions, that should be possible I have not yet tested the scenario, some extra development would be needed.
Not sure how to help you, that error seems to indicate some kind of memory violation while unstacking Cortex-M IRQ frames, probably you are trying to call some OS function from the fastcall, if that is the case then use a syscall and it should be fine.
Giovanni