diff --git a/firmware/chip/startup_samd20.c b/firmware/chip/startup_samd20.c index 122d99b..8b65741 100644 --- a/firmware/chip/startup_samd20.c +++ b/firmware/chip/startup_samd20.c @@ -42,7 +42,6 @@ */ #include "samd20.h" -#include "semihosting.h" /* Initialize segments */ extern uint32_t __fixed_start; diff --git a/firmware/inc/semihosting.h b/firmware/inc/semihosting.h deleted file mode 100644 index a365f8e..0000000 --- a/firmware/inc/semihosting.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Wrapper functions for semihosting - * Copyright (C) 2014 Richard Meadows - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * 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. - */ - -#ifndef SEMIHOSTING_H -#define SEMIHOSTING_H - -/** - * Please use the semihost_*() wrappers so that semihosting functions - * can be disables from the makefile! - */ - -#ifndef __SEMIHOSTING__ - -/* Dummy function handlers */ -#define semihost_putchar(c) (void)(c) -#define semihost_puts(s) (void)(s) -#define semihost_printf(...) __dummy_printf(__VA_ARGS__) - -void __dummy_printf(const char *format, ...); - -#else - -/* We would get a SVC exception if we called stdio without a debug probe */ -void set_semihosting(void); - -/* Real function handlers */ -#define semihost_putchar(c) __putchar(c) -#define semihost_puts(s) __puts(s) -#define semihost_printf(...) __printf(__VA_ARGS__) - -void __putchar(char c); -void __puts(const char* s); -void __printf(const char *format, ...); - - - -#endif /* __SEMIHOSTING__ */ - -#endif /* SEMIHOSTING_H */ diff --git a/firmware/src/gps.c b/firmware/src/gps.c index b7ed418..431f74e 100644 --- a/firmware/src/gps.c +++ b/firmware/src/gps.c @@ -26,7 +26,6 @@ #include "samd20.h" -#include "semihosting.h" #include "hw_config.h" #include "system/system.h" #include "system/interrupt.h" diff --git a/firmware/src/semihosting.c b/firmware/src/semihosting.c deleted file mode 100644 index ce9cb4d..0000000 --- a/firmware/src/semihosting.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Wrapper functions for semihosting - * Copyright (C) 2014 Richard Meadows - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * 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. - */ - -#include -#include - -#include "samd20.h" - -uint8_t semihosting_en = 0; - -void set_semihosting(void) { - semihosting_en = 1; -} - -void __putchar(char c) { - if (semihosting_en) { - putchar(c); - } -} -void __puts(const char* s) { - if (semihosting_en) { - puts(s); - } -} -void __printf(const char *format, ...) { - if (semihosting_en) { - va_list args; - - va_start(args, format); - vprintf(format, args); - } -} -void __dummy_printf(const char* format, ...) { - (void)format; -} diff --git a/firmware/src/sercom/sercom.c b/firmware/src/sercom/sercom.c index e0ae745..182356e 100644 --- a/firmware/src/sercom/sercom.c +++ b/firmware/src/sercom/sercom.c @@ -41,7 +41,6 @@ #include "samd20.h" -#include "semihosting.h" #include "sercom/sercom.h" #include "util/mrecursion.h" @@ -75,9 +74,9 @@ uint8_t _sercom_get_sercom_inst_index(Sercom *const sercom_instance) /** Error callback for unregistered sercom interrupt handlers */ void sercom_unregistered_handler(Sercom* const sercom_instance, uint8_t instance_index) { (void)sercom_instance; + (void)instance_index; - /* Print error message */ - semihost_printf("Unregisted Handler for Sercom %d called! HALT", instance_index); + /* Unregisted Handler for Sercom %d called! HALT */ while (1); } diff --git a/firmware/src/si_trx.c b/firmware/src/si_trx.c index f49688c..8d1f9cd 100644 --- a/firmware/src/si_trx.c +++ b/firmware/src/si_trx.c @@ -24,7 +24,6 @@ #include "samd20.h" #include "si_trx.h" -#include "semihosting.h" #include "system/port.h" #include "spi_bitbang.h" #include "si_trx_defs.h"