diff --git a/os/ports/cosmic/STM8/chcore.h b/os/ports/cosmic/STM8/chcore.h index 2a351039c..b65829edc 100644 --- a/os/ports/cosmic/STM8/chcore.h +++ b/os/ports/cosmic/STM8/chcore.h @@ -101,6 +101,7 @@ typedef void (*stm8func_t)(void); */ struct extctx { uint8_t _next; + uint8_t c_lreg[4]; uint8_t c_y[3]; uint8_t c_x[3]; uint8_t cc; @@ -225,7 +226,7 @@ struct stm8_startctx { * @note @p id can be a function name or a vector number depending on the * port implementation. */ -#define PORT_IRQ_HANDLER(id) @far @interrupt void vector##id(void) +#define PORT_IRQ_HANDLER(id) @far @interrupt @svlreg void vector##id(void) /** * @brief Port-related initialization code. diff --git a/readme.txt b/readme.txt index 4fb33f120..35a41ea38 100644 --- a/readme.txt +++ b/readme.txt @@ -79,6 +79,7 @@ ***************************************************************************** *** 2.4.3 *** +- FIX: Fixed STM8L, cosmic compiler: c_lreg not saved (bug 3566342). - FIX: Fixed anomaly in USB enumeration (bug 3565325). - FIX: Fixed problem with lwIP statistics (bug 3564134). - FIX: Fixed packed structures macros not functional in IAR and RVCT port