This is sample program for Nucleo L152RE (and F401RE & F411RE) mbed-rtos. You need to modify mbed-src and mbed-rtos before compile it.

Dependencies:   mbed-rtos mbed-src SetRTC

Fork of GR-PEACH_test_on_rtos_works_well by Kenji Arai

Please refer below link.
/users/kenjiArai/notebook/necleo-l152re-rtos-sample-also-for-f401re--f411re-/

Revision:
10:1c0f58b9c048
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debug_tools_L152_F4x1RE/mon_hw_common.h	Sat May 16 00:43:39 2015 +0000
@@ -0,0 +1,63 @@
+/*
+ * mbed Headder file for Hardware Monitor
+ *
+ *  Copyright (c) 2014,'15 Kenji Arai / JH1PJL
+ *  http://www.page.sannet.ne.jp/kenjia/index.html
+ *  http://mbed.org/users/kenjiArai/
+ *      Created: June       1st, 2014
+ *      Revised: May       16th, 2015
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
+ * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+ 
+ //  Object ----------------------------------------------------------------------------------------
+extern Serial pc;
+
+//  Definition ------------------------------------------------------------------------------------
+#define BAUD_RATE 9600
+
+#define BAUD(x)             pc.baud(x)
+#define GETC(x)             pc.getc(x)
+#define PUTC(x)             pc.putc(x)
+#define PRINTF(...)         pc.printf(__VA_ARGS__)
+#define READABLE(x)         pc.readable(x)
+
+// Range check status
+#define ERR_NOTHING         0
+#define ERR_MODIFY_SIZ      1
+#define ERR_OUT_OF_RANGE    2
+
+// Reg. Size
+#define SIZE8               8
+#define SIZE16              16
+#define SIZE32              32
+#define SIZE_FULL           32
+#define SIZE_X              32
+
+//  RAM -------------------------------------------------------------------------------------------
+extern char linebuf[];
+extern int buf_size;
+
+#if USE_MEM
+typedef struct {
+    int32_t mstr;
+    int32_t msiz;
+    int32_t mtmp;
+    int32_t mold;
+    uint8_t  mflg;
+    uint8_t  mbhw;
+} MEMO;
+static MEMO mem;
+#endif
+
+//  Function prototypes ---------------------------------------------------------------------------
+extern void put_rn ( void );
+extern void put_r ( void );
+extern void put_lin ( void );
+extern void put_spc( uint8_t n);
+extern void get_line (char *buff, int len);
+extern int xatoi (char **str, int32_t *res);