diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-02-13 15:43:28 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-03-07 14:12:24 +0700 |
commit | 1d5d4f49d9bf7dd4930a2b00a0ce2ee7ffbbd604 (patch) | |
tree | cf7612d397576d922dee278f979ae8e03eb57a04 | |
parent | 419bb26ddc3017fb87cd9ce1853bc4f64f052394 (diff) | |
download | micropython-1d5d4f49d9bf7dd4930a2b00a0ce2ee7ffbbd604.tar.gz micropython-1d5d4f49d9bf7dd4930a2b00a0ce2ee7ffbbd604.zip |
py/stackctrl: Add mp_stack_set_top() to explicitly set stack top value.
Useful for embedded targets with fixed stack layout.
-rw-r--r-- | py/stackctrl.c | 4 | ||||
-rw-r--r-- | py/stackctrl.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/py/stackctrl.c b/py/stackctrl.c index 4c51653727..14d1fd0429 100644 --- a/py/stackctrl.c +++ b/py/stackctrl.c @@ -35,6 +35,10 @@ void mp_stack_ctrl_init(void) { MP_STATE_VM(stack_top) = (char*)&stack_dummy; } +void mp_stack_set_top(void *top) { + MP_STATE_VM(stack_top) = top; +} + mp_uint_t mp_stack_usage(void) { // Assumes descending stack volatile int stack_dummy; diff --git a/py/stackctrl.h b/py/stackctrl.h index bd18f21426..e915f5000f 100644 --- a/py/stackctrl.h +++ b/py/stackctrl.h @@ -29,6 +29,7 @@ #include "py/mpconfig.h" void mp_stack_ctrl_init(void); +void mp_stack_set_top(void *top); mp_uint_t mp_stack_usage(void); #if MICROPY_STACK_CHECK |