Просмотр исходного кода

fix some doxygen settings and stuffs add prepacked for IAR compiler

hathach 13 лет назад
Родитель
Сommit
b698b09a67

+ 2 - 2
.cproject

@@ -59,7 +59,7 @@
 						</toolChain>
 					</folderInfo>
 					<sourceEntries>
-						<entry excluding="usbd.c|demos" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+						<entry excluding="_OHCI.c|_HCD (2).c|_EHCI.c|usbd.c|demos" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
 					</sourceEntries>
 				</configuration>
 			</storageModule>
@@ -454,7 +454,7 @@
 						</toolChain>
 					</folderInfo>
 					<sourceEntries>
-						<entry excluding="usbd.c|demos" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+						<entry excluding="_OHCI.c|_HCD (2).c|_EHCI.c|usbd.c|demos" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
 					</sourceEntries>
 				</configuration>
 			</storageModule>

+ 1 - 1
demos/device/keyboard/descriptors.h

@@ -83,7 +83,7 @@ typedef PRE_PACK struct POST_PACK _USB_INTERFACE_ASSOCIATION_DESCRIPTOR
 
 ///////////////////////////////////////////////////////////////////////
 // Interface Assosication Descriptor if device is CDC + other class
-#define IAD_DESC_REQUIRED ( defined(CFG_CLASS_CDC) && (CLASS_HID) )
+#define IAD_DESC_REQUIRED ( defined(CFG_CLASS_CDC) && (TUSB_CLASS_HID) )
 
 #ifdef CFG_CLASS_CDC
   #define INTERFACES_OF_CDC           2

+ 6 - 6
doxygen.Doxyfile

@@ -375,7 +375,7 @@ EXTRACT_PACKAGE = NO
 # If the EXTRACT_STATIC tag is set to YES all static members of a file
 # will be included in the documentation.
 
-EXTRACT_STATIC = YES
+EXTRACT_STATIC = NO
 
 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
 # defined locally in source files will be included in the documentation.
@@ -661,7 +661,7 @@ WARN_LOGFILE =
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT = tinyusb/class tinyusb/common tinyusb/host tinyusb/common/arch tinyusb/common/compiler tinyusb tinyusb\device overview.md license.md 
+INPUT = tinyusb overview.md license.md 
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -685,7 +685,7 @@ FILE_PATTERNS =
 # should be searched for input files as well. Possible values are YES and NO.
 # If left blank NO is used.
 
-RECURSIVE = NO
+RECURSIVE = YES
 
 # The EXCLUDE tag can be used to specify files and/or directories that should be
 # excluded from the INPUT source files. This way you can easily exclude a
@@ -693,7 +693,7 @@ RECURSIVE = NO
 # Note that relative paths are relative to the directory from which doxygen is
 # run.
 
-EXCLUDE = 
+EXCLUDE = tinyusb/device/romdriver 
 
 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
 # directories that are symbolic links (a Unix file system feature) are excluded
@@ -1491,7 +1491,7 @@ ENABLE_PREPROCESSING = YES
 # compilation will be performed. Macro expansion can be done in a controlled
 # way by setting EXPAND_ONLY_PREDEF to YES.
 
-MACRO_EXPANSION = NO
+MACRO_EXPANSION = YES
 
 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
 # then the macro expansion is limited to the macros specified with the
@@ -1525,7 +1525,7 @@ INCLUDE_FILE_PATTERNS =
 # undefined via #undef or recursively expanded use the := operator
 # instead of the = operator.
 
-PREDEFINED = 
+PREDEFINED = __attribute__(x)= __attribute__((x))= ATTR_ALIGNED(x)= 
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
 # this tag can be used to specify a list of macro names that should be expanded.

+ 1 - 1
tinyusb/class/cdc.h

@@ -41,7 +41,7 @@
  *  \note TBD
  */
 
-/** \ingroup Group_TinyUSB
+/** 
  *  \addtogroup Group_ClassDriver Class Driver
  *  @{
  *  \defgroup Group_CDC Communication Device Class

+ 1 - 1
tinyusb/class/hid.h

@@ -41,7 +41,7 @@
  *  \note TBD
  */
 
-/** \ingroup Group_TinyUSB
+/** 
  *  \addtogroup Group_ClassDriver Class Driver
  *  @{
  *  \defgroup Group_HID Human Interface Device

+ 75 - 0
tinyusb/common/arch/hal.h

@@ -0,0 +1,75 @@
+/*
+ * hal.h
+ *
+ *  Created on: Dec 2, 2012
+ *      Author: hathach
+ */
+
+/*
+ * Software License Agreement (BSD License)
+ * Copyright (c) 2012, hathach (tinyusb.net)
+ * 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. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 tiny usb stack.
+ */
+
+/** \file
+ *  \brief TBD
+ *
+ *  \note TBD
+ */
+
+/** 
+ *  \defgroup Group_HAL Hardware Abtract Layer
+ *  \brief Hardware dependent layer
+ *
+ *  @{
+ */
+
+#ifndef _TUSB_HAL_H_
+#define _TUSB_HAL_H_
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#include "common/errors.h"
+
+/** \brief USB hardware init
+ *
+ * \param[in]  para1
+ * \param[out] para2
+ * \return Error Code of the \ref TUSB_ERROR enum
+ * \note
+ */
+TUSB_Error_t hal_init();
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif /* _TUSB_HAL_H_ */
+
+/** @} */

+ 58 - 0
tinyusb/common/arch/hal_lpc134x.c

@@ -0,0 +1,58 @@
+/*
+ * hal_lpc134x.c
+ *
+ *  Created on: Dec 2, 2012
+ *      Author: hathach
+ */
+
+/*
+ * Software License Agreement (BSD License)
+ * Copyright (c) 2012, hathach (tinyusb.net)
+ * 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. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 tiny usb stack.
+ */
+
+#include "common/common.h"
+
+#ifdef ARCH_LPC134X
+
+TUSB_Error_t hal_init()
+{
+	// TODO usb abstract later
+  /* Enable AHB clock to the USB block and USB RAM. */
+  LPC_SYSCON->SYSAHBCLKCTRL |= ((0x1<<14) | (0x1<<27));
+
+  /* Pull-down is needed, or internally, VBUS will be floating. This is to
+  address the wrong status in VBUSDebouncing bit in CmdStatus register.  */
+  LPC_IOCON->PIO0_3   &= ~0x1F;
+  LPC_IOCON->PIO0_3   |= (0x01<<0);            /* Secondary function VBUS */
+  LPC_IOCON->PIO0_6   &= ~0x07;
+  LPC_IOCON->PIO0_6   |= (0x01<<0);            /* Secondary function SoftConn */
+
+  return tERROR_NONE;
+}
+
+#endif

+ 6 - 3
tinyusb/common/common.h

@@ -41,9 +41,10 @@
  *  \note TBD
  */
 
-/**
- *  \defgroup Group_Common Common Files
- *  \brief Group_Common brief
+/** \defgroup Group_Common Common Files
+ * @{
+ *
+ *  \defgroup Group_CommonH common.h
  *
  *  @{
  */
@@ -65,6 +66,7 @@
 #include "arch/hal.h"
 #include "compiler/compiler.h"
 #include "errors.h"
+#include "core/tusb_types.h"
 
 /// min value
 #ifndef MIN
@@ -126,3 +128,4 @@
 #endif /* _TUSB_COMMON_H_ */
 
 /**  @} */
+/**  @} */

+ 2 - 0
tinyusb/common/compiler/compiler.h

@@ -53,6 +53,8 @@
 
 #if defined(__GNUC__)
   #include "compiler_gcc.h"
+#elif deinfed __ICCARM__ // IAR compiler
+  #include "compiler_iar.h"
 #endif
 
 #endif /* _TUSB_COMPILER_H_ */

+ 0 - 3
tinyusb/common/compiler/compiler_gcc.h

@@ -37,8 +37,6 @@
 
 /** \file
  *  \brief GCC Header
- *
- *  \note TBD
  */
 
 /** \ingroup Group_Compiler
@@ -74,7 +72,6 @@
 #define ATTR_PACKED 							 __attribute__ ((packed))
 
 #define ATTR_PREPACKED
-#define ATTR_POSTPACKED            ATTR_PACKED
 /** @} */
 
 /** \ingroup Group_GCC

+ 1 - 1
tinyusb/common/errors.h

@@ -42,7 +42,7 @@
  */
 
 /** \ingroup Group_Common
- *  \defgroup Group_Error tinyUSB Error Codes
+ *  \defgroup Group_Error Error Codes
  *  @{
  */
 

+ 86 - 0
tinyusb/core/tusb_types.h

@@ -0,0 +1,86 @@
+/*
+ * tusb_types.h
+ *
+ *  Created on: Dec 3, 2012
+ *      Author: hathach
+ */
+
+/*
+ * Software License Agreement (BSD License)
+ * Copyright (c) 2012, hathach (tinyusb.net)
+ * 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. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 tiny usb stack.
+ */
+
+/** \file
+ *  \brief TBD
+ */
+
+/** \ingroup Group_Core
+ *  \defgroup Group_USBTypes USB Types
+ *  \brief TBD
+ *
+ *  @{
+ */
+
+#ifndef _TUSB_TUSB_TYPES_H_
+#define _TUSB_TUSB_TYPES_H_
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/// defined base on EHCI specs value for Endpoint Speed
+typedef enum {
+  FULL_SPEED =0,
+  LOWS_PEED,
+  HIGH_SPEED
+}TUSB_Speed_t;
+
+/// defined base on USB Specs Endpoint's bmAttributes
+typedef enum {
+  CONTROL_TYPE = 0,
+  ISOCHRONOUS_TYPE,
+  BULK_TYPE,
+  INTERRUPT_TYPE
+}TUSB_TransferType_t;
+
+/// TBD
+typedef enum {
+  SETUP_TOKEN,
+  IN_TOKEN,
+  OUT_TOKEN
+}TUSB_PID_t;
+
+
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif /* _TUSB_TUSB_TYPES_H_ */
+
+/** @} */

+ 1 - 1
tinyusb/device/dcd.c

@@ -84,7 +84,7 @@ ErrorCode_t USB_Reset_Event (USBD_HANDLE_T hUsb)
   return LPC_OK;
 }
 
-TUSB_Error_t dcd_init()
+TUSB_Error_t dcd_init(uint8_t coreid)
 {
   /* ROM DRIVER INIT */
   uint32_t membase = (uint32_t) usb_RomDriver_buffer;

+ 2 - 2
tinyusb/device/dcd.h

@@ -41,7 +41,7 @@
  *  \note TBD
  */
 
-/** \ingroup Group_TinyUSB
+/** 
  *  \defgroup Group_DCD Device Controller Driver
  *  \brief Device Controller Driver
  *
@@ -72,7 +72,7 @@
  * \note
  */
 
-TUSB_Error_t dcd_init() ATTR_WARN_UNUSED_RESULT;
+TUSB_Error_t dcd_init(uint8_t coreid) ATTR_WARN_UNUSED_RESULT;
 
 #ifdef __cplusplus
  }

+ 1 - 1
tinyusb/host/hcd.c

@@ -39,7 +39,7 @@
 
 #ifdef CFG_TUSB_HOST
 
-TUSB_Error_t hcd_init()
+TUSB_Error_t hcd_init(uint8_t coreid)
 {
 
   return tERROR_NONE;

+ 11 - 2
tinyusb/host/hcd.h

@@ -41,7 +41,7 @@
  *  \note TBD
  */
 
-/** \ingroup Group_TinyUSB
+/** 
  *  \defgroup Group_HCD Host Controller Driver
  *  \brief Host Controller Driver
  *
@@ -56,6 +56,7 @@
 #endif
 
 #include "common/common.h"
+#include "core/tusb_types.h"
 
 /** \brief Initialize HCD
 *
@@ -65,7 +66,15 @@
 * \note
 */
 
-TUSB_Error_t hcd_init() ATTR_WARN_UNUSED_RESULT;
+TUSB_Error_t hcd_init(uint8_t hostid) ATTR_WARN_UNUSED_RESULT;
+
+TUSB_Error_t hcd_pipe_open(
+    uint8_t hostid, uint8_t device_address,
+
+    )ATTR_WARN_UNUSED_RESULT;
+TUSB_Error_t hcd_pipe_close()ATTR_WARN_UNUSED_RESULT;
+TUSB_Error_t hcd_pipe_transfer()ATTR_WARN_UNUSED_RESULT;
+TUSB_Error_t hcd_pipe_cancel()ATTR_WARN_UNUSED_RESULT;
 
 #ifdef __cplusplus
  }

+ 2 - 2
tinyusb/tusb.c

@@ -42,11 +42,11 @@ TUSB_Error_t tusb_init(void)
   ASSERT_ERROR( hal_init() ) ; /* HARDWARE INIT */
 
 #ifdef CFG_TUSB_HOST
-  ASSERT_ERROR( hcd_init() );
+  ASSERT_ERROR( hcd_init(0) );
 #endif
 
 #ifdef CFG_TUSB_DEVICE
-  ASSERT_ERROR( dcd_init() );
+  ASSERT_ERROR( dcd_init(0) );
 #endif
 
   return tERROR_NONE;

+ 0 - 8
tinyusb/tusb.h

@@ -41,12 +41,6 @@
  *  \note Tiny USB header Note
  */
 
-/** \defgroup Group_TinyUSB Tiny USB
- *  \brief Group_TinyUSB brief
- *
- *  @{
- */
-
 #ifndef _TUSB_H_
 #define _TUSB_H_
 
@@ -77,5 +71,3 @@
 #endif
 
 #endif /* _TUSB_H_ */
-
-/** @} */

+ 5 - 2
tinyusb/tusb_cfg.h

@@ -41,7 +41,7 @@
  *  \note TBD
  */
 
-/** \ingroup Group_TinyUSB
+/** 
  *  \defgroup Group_TinyUSB_Configure Configuration tusb_cfg.h
  *  @{
  */
@@ -71,7 +71,10 @@
 /// Enable HID Mouse support
 #define CFG_CLASS_HID_MOUSE
 
-#define CLASS_HID ( (defined CFG_CLASS_HID_KEYBOARD) || (defined CFG_CLASS_HID_MOUSE) )
+#define TUSB_CLASS_HID ( (defined CFG_CLASS_HID_KEYBOARD) || (defined CFG_CLASS_HID_MOUSE) )
+#define TUSB_EHCI
+
+
 
 // TODO APP
 #define USB_MAX_IF_NUM          8