From 2e79aafb7081a5305ee875277d26734779ca6d2f Mon Sep 17 00:00:00 2001 From: Perry Hung Date: Fri, 17 Sep 2010 03:49:14 -0400 Subject: Enable USB auto-reset in a hard fault. Redirect thread-mode execution to a fail routine which throbs the LED to indicate a hard fault. Because the fail routine runs in thread mode with interrupts on, USB auto-reset should now work. Test by executing some bogus instruction (e.g. *(volatile int*)0xf34fdaa = 0;) and check that the auto-reset continues to work. --- libmaple/exc.c | 63 ---------------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 libmaple/exc.c (limited to 'libmaple/exc.c') diff --git a/libmaple/exc.c b/libmaple/exc.c deleted file mode 100644 index a5c67fa..0000000 --- a/libmaple/exc.c +++ /dev/null @@ -1,63 +0,0 @@ - -/* ***************************************************************************** - * The MIT License - * - * Copyright (c) 2010 Perry Hung. - * - * 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. - * ****************************************************************************/ - -/** - * @brief libmaple exception handlers. If DEBUG_LEVEL > DEBUG_FAULT, then these - * exceptions will ASSERT fail and call into the default _fail() light - * blinking. - */ - -#include "util.h" - -void NMIException(void) { - ASSERT_FAULT(0); - while(1) - ; -} - -void HardFaultException(void) { - ASSERT_FAULT(0); - while(1) - ; -} - -void MemManageException(void) { - ASSERT_FAULT(0); - while(1) - ; -} - -void BusFaultException(void) { - ASSERT_FAULT(0); - while(1) - ; -} - -void UsageFaultException(void) { - ASSERT_FAULT(0); - while(1) - ; -} - -- cgit v1.2.3