From 8f03dea95a5d8cb4ebd72b0da74cd51365c8d936 Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 12 Mar 2014 14:01:38 +0700 Subject: fix iar warning --- tinyusb/hal/hal.h | 274 ++++++++++++++++++++++----------------------- tinyusb/hal/hal_lpc13uxx.h | 146 ++++++++++++------------ 2 files changed, 210 insertions(+), 210 deletions(-) (limited to 'tinyusb/hal') diff --git a/tinyusb/hal/hal.h b/tinyusb/hal/hal.h index 65c3776b1..c7df7d493 100644 --- a/tinyusb/hal/hal.h +++ b/tinyusb/hal/hal.h @@ -1,137 +1,137 @@ -/**************************************************************************/ -/*! - @file hal.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_H_ -#define _TUSB_HAL_H_ - -/** \addtogroup Port Port - * @{ - * \defgroup Port_Hal Hardware Abtract Layer (HAL) - * Hardware Abstraction Layer (HAL) is an abstraction layer, between the physical hardware and the tinyusb stack. - * Its function is to hide differences in hardware from most of MCUs, so that most of the stack code does not need to be changed to - * run on systems with a different MCU. - * HAL are sets of routines that emulate some platform-specific details, giving programs direct access to the hardware resources. - * @{ - */ - -//--------------------------------------------------------------------+ -// INCLUDES -//--------------------------------------------------------------------+ -#include "tusb_option.h" -#include "common/primitive_types.h" -#include "common/errors.h" -#include "common/compiler/compiler.h" - -//--------------------------------------------------------------------+ -// HAL API -//--------------------------------------------------------------------+ -// callback from tusb.h -extern void tusb_isr(uint8_t coreid); - -/** \brief Initialize USB controller hardware - * \returns \ref tusb_error_t type to indicate success or error condition. - * \note This function is invoked by \ref tusb_init as part of the initialization. - */ -tusb_error_t hal_init(void); - -/** \brief Enable USB Interrupt on a specific USB Controller - * \param[in] coreid is a zero-based index to identify USB controller's ID - * \note Some MCUs such as NXP LPC43xx has multiple USB controllers. It is necessary to know which USB controller for - * those MCUs. - */ -static inline void hal_interrupt_enable(uint8_t coreid) ATTR_ALWAYS_INLINE; - -/** \brief Disable USB Interrupt on a specific USB Controller - * \param[in] coreid is a zero-based index to identify USB controller's ID - * \note Some MCUs such as NXP LPC43xx has multiple USB controllers. It is necessary to know which USB controller for - * those MCUs. - */ -static inline void hal_interrupt_disable(uint8_t coreid) ATTR_ALWAYS_INLINE; - -//--------------------------------------------------------------------+ -// INCLUDE DRIVEN -//--------------------------------------------------------------------+ -#if TUSB_CFG_MCU == MCU_LPC11UXX - #include "hal_lpc11uxx.h" -#elif TUSB_CFG_MCU == MCU_LPC13UXX - #include "hal_lpc13uxx.h" -#elif TUSB_CFG_MCU == MCU_LPC43XX - #include "hal_lpc43xx.h" -#elif TUSB_CFG_MCU == MCU_LPC175X_6X - #include "hal_lpc175x_6x.h" -#else - #error MCU is not defined or supported yet -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -static inline bool hal_debugger_is_attached(void) ATTR_PURE ATTR_ALWAYS_INLINE; -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) ATTR_ALWAYS_INLINE; -static inline void hal_debugger_breakpoint(void) -{ -#ifndef _TEST_ - if (hal_debugger_is_attached()) /* if there is debugger connected */ - { - __asm("BKPT #0\n"); - } -#endif -} - -#ifdef __cplusplus - } -#endif - -#endif /* _TUSB_HAL_H_ */ - -/** @} */ -/** @} */ +/**************************************************************************/ +/*! + @file hal.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_H_ +#define _TUSB_HAL_H_ + +/** \addtogroup Port Port + * @{ + * \defgroup Port_Hal Hardware Abtract Layer (HAL) + * Hardware Abstraction Layer (HAL) is an abstraction layer, between the physical hardware and the tinyusb stack. + * Its function is to hide differences in hardware from most of MCUs, so that most of the stack code does not need to be changed to + * run on systems with a different MCU. + * HAL are sets of routines that emulate some platform-specific details, giving programs direct access to the hardware resources. + * @{ + */ + +//--------------------------------------------------------------------+ +// INCLUDES +//--------------------------------------------------------------------+ +#include "tusb_option.h" +#include "common/primitive_types.h" +#include "common/errors.h" +#include "common/compiler/compiler.h" + +//--------------------------------------------------------------------+ +// HAL API +//--------------------------------------------------------------------+ +// callback from tusb.h +extern void tusb_isr(uint8_t coreid); + +/** \brief Initialize USB controller hardware + * \returns \ref tusb_error_t type to indicate success or error condition. + * \note This function is invoked by \ref tusb_init as part of the initialization. + */ +tusb_error_t hal_init(void); + +/** \brief Enable USB Interrupt on a specific USB Controller + * \param[in] coreid is a zero-based index to identify USB controller's ID + * \note Some MCUs such as NXP LPC43xx has multiple USB controllers. It is necessary to know which USB controller for + * those MCUs. + */ +static inline void hal_interrupt_enable(uint8_t coreid) ATTR_ALWAYS_INLINE; + +/** \brief Disable USB Interrupt on a specific USB Controller + * \param[in] coreid is a zero-based index to identify USB controller's ID + * \note Some MCUs such as NXP LPC43xx has multiple USB controllers. It is necessary to know which USB controller for + * those MCUs. + */ +static inline void hal_interrupt_disable(uint8_t coreid) ATTR_ALWAYS_INLINE; + +//--------------------------------------------------------------------+ +// INCLUDE DRIVEN +//--------------------------------------------------------------------+ +#if TUSB_CFG_MCU == MCU_LPC11UXX + #include "hal_lpc11uxx.h" +#elif TUSB_CFG_MCU == MCU_LPC13UXX + #include "hal_lpc13uxx.h" +#elif TUSB_CFG_MCU == MCU_LPC43XX + #include "hal_lpc43xx.h" +#elif TUSB_CFG_MCU == MCU_LPC175X_6X + #include "hal_lpc175x_6x.h" +#else + #error MCU is not defined or supported yet +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +static inline bool hal_debugger_is_attached(void) ATTR_PURE ATTR_ALWAYS_INLINE; +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) ATTR_ALWAYS_INLINE; +static inline void hal_debugger_breakpoint(void) +{ +#ifndef _TEST_ + if (hal_debugger_is_attached()) /* if there is debugger connected */ + { + __asm("BKPT #0\n"); + } +#endif +} + +#ifdef __cplusplus + } +#endif + +#endif /* _TUSB_HAL_H_ */ + +/** @} */ +/** @} */ diff --git a/tinyusb/hal/hal_lpc13uxx.h b/tinyusb/hal/hal_lpc13uxx.h index 51d17ca59..1ccad5df1 100644 --- a/tinyusb/hal/hal_lpc13uxx.h +++ b/tinyusb/hal/hal_lpc13uxx.h @@ -1,73 +1,73 @@ -/**************************************************************************/ -/*! - @file hal_lpc13uxx.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. -*/ -/**************************************************************************/ - -/** \ingroup TBD - * \defgroup TBD - * \brief TBD - * - * @{ - */ - -#ifndef _TUSB_HAL_LPC13UXX_H_ -#define _TUSB_HAL_LPC13UXX_H_ - -#include "LPC13Uxx.h" - -#ifdef __cplusplus - extern "C" { -#endif - -static inline void hal_interrupt_enable(uint8_t coreid) -{ - (void) coreid; // discard compiler's warning - NVIC_EnableIRQ(USB_IRQ_IRQn); -} - -static inline void hal_interrupt_disable(uint8_t coreid) -{ - (void) coreid; // discard compiler's warning - NVIC_DisableIRQ(USB_IRQ_IRQn); -} - -#ifdef __cplusplus - } -#endif - -#endif /* _TUSB_HAL_LPC13UXX_H_ */ - -/** @} */ +/**************************************************************************/ +/*! + @file hal_lpc13uxx.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. +*/ +/**************************************************************************/ + +/** \ingroup TBD + * \defgroup TBD + * \brief TBD + * + * @{ + */ + +#ifndef _TUSB_HAL_LPC13UXX_H_ +#define _TUSB_HAL_LPC13UXX_H_ + +#include "LPC13Uxx.h" + +#ifdef __cplusplus + extern "C" { +#endif + +static inline void hal_interrupt_enable(uint8_t coreid) +{ + (void) coreid; // discard compiler's warning + NVIC_EnableIRQ(USB_IRQ_IRQn); +} + +static inline void hal_interrupt_disable(uint8_t coreid) +{ + (void) coreid; // discard compiler's warning + NVIC_DisableIRQ(USB_IRQ_IRQn); +} + +#ifdef __cplusplus + } +#endif + +#endif /* _TUSB_HAL_LPC13UXX_H_ */ + +/** @} */ -- cgit v1.3.1