diff --git a/demos/STM32/RT-STM32F407-DISCOVERY-G++/Makefile b/demos/STM32/RT-STM32F407-DISCOVERY-G++/Makefile index b1883dcb1..84ec63f29 100644 --- a/demos/STM32/RT-STM32F407-DISCOVERY-G++/Makefile +++ b/demos/STM32/RT-STM32F407-DISCOVERY-G++/Makefile @@ -30,7 +30,7 @@ endif # Enable this if you want link time optimizations (LTO) ifeq ($(USE_LTO),) - USE_LTO = yes + USE_LTO = no endif # If enabled, this option allows to compile the application in THUMB mode. diff --git a/demos/STM32/RT-STM32F407-DISCOVERY-G++/debug/RT-STM32F407-DISCOVERY-G++ (OpenOCD, Flash and Run).launch b/demos/STM32/RT-STM32F407-DISCOVERY-G++/debug/RT-STM32F407-DISCOVERY-G++ (OpenOCD, Flash and Run).launch index 34c552911..3d650c74d 100644 --- a/demos/STM32/RT-STM32F407-DISCOVERY-G++/debug/RT-STM32F407-DISCOVERY-G++ (OpenOCD, Flash and Run).launch +++ b/demos/STM32/RT-STM32F407-DISCOVERY-G++/debug/RT-STM32F407-DISCOVERY-G++ (OpenOCD, Flash and Run).launch @@ -41,7 +41,7 @@ - diff --git a/demos/STM32/RT-STM32F407-DISCOVERY-G++/main.cpp b/demos/STM32/RT-STM32F407-DISCOVERY-G++/main.cpp index 36ac8a8c7..aa80f83a3 100644 --- a/demos/STM32/RT-STM32F407-DISCOVERY-G++/main.cpp +++ b/demos/STM32/RT-STM32F407-DISCOVERY-G++/main.cpp @@ -87,20 +87,20 @@ private: const seqop_t *base, *curr; // Thread local variables. protected: - virtual msg_t main(void) { + virtual void main(void) { setName("sequencer"); while (true) { switch(curr->action) { case SLEEP: - sleep(curr->value); + sleep(MS2ST(curr->value)); break; case GOTO: curr = &base[curr->value]; continue; case STOP: - return 0; + return; case BITCLEAR: palClearPort(GPIOD, curr->value); break; @@ -125,11 +125,12 @@ public: class TesterThread : public BaseStaticThread<256> { protected: - virtual msg_t main(void) { + virtual void main(void) { setName("tester"); - return TestThread(&SD2); + TestThread(&SD2); + exit(test_global_fail); } public: diff --git a/os/various/cpp_wrappers/ch.cpp b/os/various/cpp_wrappers/ch.cpp index 2e3d05937..33138807d 100644 --- a/os/various/cpp_wrappers/ch.cpp +++ b/os/various/cpp_wrappers/ch.cpp @@ -248,9 +248,8 @@ namespace chibios_rt { } - msg_t BaseThread::main(void) { + void BaseThread::main(void) { - return 0; } ThreadReference BaseThread::start(tprio_t prio) { @@ -260,9 +259,9 @@ namespace chibios_rt { return *this; }; - msg_t _thd_start(void *arg) { + void _thd_start(void *arg) { - return ((BaseThread *)arg)->main(); + ((BaseThread *)arg)->main(); } void BaseThread::setName(const char *tname) { diff --git a/os/various/cpp_wrappers/ch.hpp b/os/various/cpp_wrappers/ch.hpp index e50aa6df6..9f3c5ec1f 100644 --- a/os/various/cpp_wrappers/ch.hpp +++ b/os/various/cpp_wrappers/ch.hpp @@ -440,7 +440,7 @@ namespace chibios_rt { * * @api */ - virtual msg_t main(void); + virtual void main(void); /** * @brief Creates and starts a system thread. @@ -787,7 +787,7 @@ namespace chibios_rt { * @api */ virtual ThreadReference start(tprio_t prio) { - msg_t _thd_start(void *arg); + void _thd_start(void *arg); thread_ref = chThdCreateStatic(wa, sizeof(wa), prio, _thd_start, this); return *this;