Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: WizFi250_AP_HelloWorld
Fork of mbed-src by
Diff: common/retarget.cpp
- Revision:
- 473:44b5a0bc6da6
- Parent:
- 431:255afbe6270c
- Child:
- 476:4dac56e9ae44
--- a/common/retarget.cpp Thu Feb 12 13:00:07 2015 +0000
+++ b/common/retarget.cpp Thu Feb 12 13:15:07 2015 +0000
@@ -1,5 +1,5 @@
/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
+ * Copyright (c) 2006-2015 ARM Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,6 +19,11 @@
#include "FilePath.h"
#include "serial_api.h"
#include "toolchain.h"
+#include "semihost_api.h"
+#include "mbed_interface.h"
+#if DEVICE_STDIO_MESSAGES
+#include <stdio.h>
+#endif
#include <errno.h>
#if defined(__ARMCC_VERSION)
@@ -482,6 +487,33 @@
#endif
+#ifdef TOOLCHAIN_GCC_CW
+// TODO: Ideally, we would like to define directly "_ExitProcess"
+extern "C" void mbed_exit(int return_code) {
+#elif defined TOOLCHAIN_GCC_ARM
+extern "C" void _exit(int return_code) {
+#else
+extern "C" void exit(int return_code) {
+#endif
+
+#if DEVICE_STDIO_MESSAGES
+ fflush(stdout);
+ fflush(stderr);
+#endif
+
+#if DEVICE_SEMIHOST
+ if (mbed_interface_connected()) {
+ semihost_exit();
+ }
+#endif
+ if (return_code) {
+ mbed_die();
+ }
+
+ while (1);
+}
+
+
namespace mbed {
void mbed_set_unbuffered_stream(FILE *_file) {
@@ -524,11 +556,3 @@
}
} // namespace mbed
-
-
-
-
-
-
-
-
