diff --git a/firmware/chibios/os/ports/IAR/ARMCMx/chcore_v7m.h b/firmware/chibios/os/ports/IAR/ARMCMx/chcore_v7m.h
index 8da159e2bf..fa315c31ce 100644
--- a/firmware/chibios/os/ports/IAR/ARMCMx/chcore_v7m.h
+++ b/firmware/chibios/os/ports/IAR/ARMCMx/chcore_v7m.h
@@ -470,8 +470,17 @@ struct context {
#define port_wait_for_interrupt()
#endif
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
int getRemainingStack(Thread *otp);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
/**
* @brief Performs a context switch between two threads.
* @details This is the most critical code in any port, this function
diff --git a/firmware/iar/ch.ewp b/firmware/iar/ch.ewp
index 9c1d2aa7a4..46e02fd42a 100644
--- a/firmware/iar/ch.ewp
+++ b/firmware/iar/ch.ewp
@@ -328,7 +328,7 @@
$PROJ_DIR$\..\config
$PROJ_DIR$\..\config\engines
$PROJ_DIR$\..\config\stm32f4ems
- $PROJ_DIR$\..\console\tunerstudio
+ $PROJ_DIR$\..\console\binary
$PROJ_DIR$\..\console_util
$PROJ_DIR$\..\development
$PROJ_DIR$\..\development\test
@@ -2071,25 +2071,25 @@
console
- tunerstudio
+ binary
- $PROJ_DIR$\..\console\tunerstudio\tunerstudio.cpp
+ $PROJ_DIR$\..\console\binary\tunerstudio.cpp
- $PROJ_DIR$\..\console\tunerstudio\tunerstudio.h
+ $PROJ_DIR$\..\console\binary\tunerstudio.h
- $PROJ_DIR$\..\console\tunerstudio\tunerstudio_algo.cpp
+ $PROJ_DIR$\..\console\binary\tunerstudio_io.cpp
- $PROJ_DIR$\..\console\tunerstudio\tunerstudio_algo.h
+ $PROJ_DIR$\..\console\binary\tunerstudio_io.h
- $PROJ_DIR$\..\console\tunerstudio\tunerstudio_configuration.h
+ $PROJ_DIR$\..\console\binary\tunerstudio_configuration.h
- $PROJ_DIR$\..\console\console_io.c
+ $PROJ_DIR$\..\console\console_io.cpp
$PROJ_DIR$\..\console\console_io.h