diff --git a/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c b/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c index 0ebfea75..987d6728 100644 --- a/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c +++ b/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c @@ -52,6 +52,10 @@ #include "device/usbd_dcd.h" #include "dcd_lpc43xx.h" +#include "LPC43xx.h" +#include "lpc43xx_cgu.h" + + //--------------------------------------------------------------------+ // MACRO CONSTANT TYPEDEF //--------------------------------------------------------------------+ diff --git a/hw/mcu/nxp/lpc43xx/hal/hal_lpc43xx.c b/hw/mcu/nxp/lpc43xx/hal/hal_lpc43xx.c index b82829b5..8758dc73 100644 --- a/hw/mcu/nxp/lpc43xx/hal/hal_lpc43xx.c +++ b/hw/mcu/nxp/lpc43xx/hal/hal_lpc43xx.c @@ -36,12 +36,12 @@ */ /**************************************************************************/ -#include "hal_tusb.h" #include "tusb.h" #if TUSB_CFG_MCU == MCU_LPC43XX -#include "lpc43xx_scu.h" +#include "LPC43xx.h" +#include "lpc43xx_cgu.h" enum { LPC43XX_USBMODE_DEVICE = 2, @@ -53,6 +53,18 @@ enum { LPC43XX_USBMODE_VBUS_HIGH = 1 }; +void hal_debugger_breakpoint(void) +{ + // M0 cannot check if debugger is attached or not +#if defined(__CORTEX_M) && (__CORTEX_M > 0) + // check if debugger is attached + if ( (CoreDebug->DHCSR & CoreDebug_DHCSR_C_DEBUGEN_Msk) == CoreDebug_DHCSR_C_DEBUGEN_Msk) + { + __asm("BKPT #0\n"); + } +#endif +} + void hal_usb_int_enable(uint8_t port) { NVIC_EnableIRQ(port ? USB1_IRQn : USB0_IRQn); diff --git a/hw/mcu/nxp/lpc43xx/hal/hal_tusb.h b/hw/mcu/nxp/lpc43xx/hal/hal_tusb.h deleted file mode 100644 index f4de45b3..00000000 --- a/hw/mcu/nxp/lpc43xx/hal/hal_tusb.h +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************/ -/*! - @file hal_lpc43xx.h - @author hathach (tinyusb.org) - - @section LICENSE - - Software License Agreement (BSD License) - - Copyright (c) 2013, hathach (tinyusb.org) - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - This file is part of the tinyusb stack. -*/ -/**************************************************************************/ - -#ifndef _TUSB_HAL_MCU_H_ -#define _TUSB_HAL_MCU_H_ - -#include "LPC43xx.h" -#include "lpc43xx_cgu.h" - -#ifdef __cplusplus - extern "C" { -#endif - - - -#ifdef __cplusplus - } -#endif - -#endif /* _TUSB_HAL_MCU_H_ */ - diff --git a/tinyusb/tusb_hal.h b/tinyusb/tusb_hal.h index 1dc905dc..7560d6ff 100644 --- a/tinyusb/tusb_hal.h +++ b/tinyusb/tusb_hal.h @@ -53,9 +53,6 @@ extern "C" { #include "common/tusb_errors.h" #include "common/compiler/compiler.h" -// from mcu port -#include "hal_tusb.h" - //--------------------------------------------------------------------+ // HAL API //--------------------------------------------------------------------+ @@ -87,30 +84,8 @@ void hal_usb_int_enable(uint8_t port); */ void hal_usb_int_disable(uint8_t port); - - - -static inline bool hal_debugger_is_attached(void) -{ -// TODO check core M3/M4 defined instead -#if !defined(_TEST_) && !(TUSB_CFG_MCU==MCU_LPC11UXX) - return ( (CoreDebug->DHCSR & CoreDebug_DHCSR_C_DEBUGEN_Msk) == CoreDebug_DHCSR_C_DEBUGEN_Msk ); -#elif TUSB_CFG_DEBUG == 3 - return true; // force to break into breakpoint with debug = 3 -#else - return false; -#endif -} - -static inline void hal_debugger_breakpoint(void) -{ -#ifndef _TEST_ - if (hal_debugger_is_attached()) /* if there is debugger connected */ - { - __asm("BKPT #0\n"); - } -#endif -} +// for debug only, halt mcu if assert/verify is failed if debugger is attached +void hal_debugger_breakpoint(void); #ifdef __cplusplus }