| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
usbd_rom_api.h
Go to the documentation of this file.
1 /***********************************************************************
2 * $Id: mw_usbd_rom_api.h.rca 1.4 Tue Nov 1 11:45:07 2011 nlv09221 Experimental $
3 *
4 * Project: USB device ROM Stack
5 *
6 * Description:
7 * ROM API Module definitions.
8 *
9 ***********************************************************************
10 * Copyright(C) 2011, NXP Semiconductor
11 * All rights reserved.
12 *
13 * Software that is described herein is for illustrative purposes only
14 * which provides customers with programming information regarding the
15 * products. This software is supplied "AS IS" without any warranties.
16 * NXP Semiconductors assumes no responsibility or liability for the
17 * use of the software, conveys no license or title under any patent,
18 * copyright, or mask work right to the product. NXP Semiconductors
19 * reserves the right to make changes in the software without
20 * notification. NXP Semiconductors also make no representation or
21 * warranty that such application will be suitable for the specified
22 * use without further testing or modification.
23 **********************************************************************/
24 #ifndef __MW_USBD_ROM_API_H
25 #define __MW_USBD_ROM_API_H
26
33 #include "error.h"
34 #include "usbd.h"
35 #include "usbd_hw.h"
36 #include "usbd_core.h"
37 #include "usbd_mscuser.h"
38 #include "usbd_dfuuser.h"
39 #include "usbd_hiduser.h"
40 #include "usbd_cdcuser.h"
41
51 typedef struct USBD_API
52 {
53 const USBD_HW_API_T* hw;
56 const USBD_CORE_API_T* core;
59 const USBD_MSC_API_T* msc;
62 const USBD_DFU_API_T* dfu;
65 const USBD_HID_API_T* hid;
68 const USBD_CDC_API_T* cdc;
71 const uint32_t* reserved6;
73 const uint32_t version;
85 } USBD_API_T;
86
87 /* A table of pointers to the chip's main ROM functions contained in ROM is located at the
88 address contained at this location */
89 typedef struct _ROM {
90 const unsigned p_otp;
91 const unsigned p_aes;
92 const unsigned p_pwd;
93 const unsigned p_clk;
94 const unsigned p_ipc;
95 const unsigned p_spifi;
96 const unsigned p_usbd;
97 } ROM_FUNCTION_TABLE;
98
99 /* A table of pointers to the USBD functions contained in ROM is located at the
100 address contained at this location */
101 #define ROM_FUNCTION_TABLE_PTR_ADDR (0x10400104UL)
102 #define ROM_USBD_PTR (((ROM_FUNCTION_TABLE *) (ROM_FUNCTION_TABLE_PTR_ADDR))->p_usbd)
103
104 #define USBD_API (((USBD_API_T*)(ROM_USBD_PTR)))
105 //extern const USBD_API_T usb_api;
106
107
108 #endif /*__MW_USBD_ROM_API_H*/
109