mbed library with additional peripherals for ST F401 board

Fork of mbed-src by mbed official

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers exit.c Source File

exit.c

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2006-2013 ARM Limited
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #include "semihost_api.h"
00017 #include "mbed_interface.h"
00018 
00019 #ifdef TOOLCHAIN_GCC_CW
00020 // TODO: Ideally, we would like to define directly "_ExitProcess"
00021 void mbed_exit(int return_code) {
00022 #else
00023 void exit(int return_code) {
00024 #endif
00025 
00026 #if DEVICE_SEMIHOST
00027     if (mbed_interface_connected()) {
00028         semihost_exit();
00029     }
00030 #endif
00031     if (return_code) {
00032         mbed_die();
00033     }
00034 
00035     while (1);
00036 }