stmhal: Make pendsv variable non-static so gcc-5 doesn't opt it away.

modussl
Damien George 2015-05-23 17:42:58 +01:00
parent ed56b0baba
commit 0d31bbc7fa
1 changed files with 6 additions and 4 deletions

View File

@ -31,10 +31,12 @@
#include "py/runtime.h"
#include "pendsv.h"
// Note: this can contain point to the heap but is not traced by GC.
// This is okay because we only ever set it to mp_const_vcp_interrupt
// which is in the root-pointer set.
STATIC void *pendsv_object;
// This variable is used to save the exception object between a ctrl-C and the
// PENDSV call that actually raises the exception. It must be non-static
// otherwise gcc-5 optimises it away. It can point to the heap but is not
// traced by GC. This is okay because we only ever set it to
// mp_const_vcp_interrupt which is in the root-pointer set.
void *pendsv_object;
void pendsv_init(void) {
// set PendSV interrupt at lowest priority