Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
vendor.LST
Package: USB_2.0.rar [view]
Upload User: ids068
Upload Date: 2013-04-04
Package Size: 639k
Code Size: 15k
Category:
USB develop
Development Platform:
C/C++
- C51 COMPILER V7.06 VENDOR 07/02/2003 10:05:12 PAGE 1
- C51 COMPILER V7.06, COMPILATION OF MODULE VENDOR
- OBJECT MODULE PLACED IN vendor.OBJ
- COMPILER INVOKED BY: C:KEILC51BINC51.EXE vendor.c OPTIMIZE(2,SPEED) BROWSE DEBUG OBJECTEXTEND
- stmt level source
- 1 //***********************************************************************
- 2 // *
- 3 // P H I L I P S P R O P R I E T A R Y *
- 4 // *
- 5 // COPYRIGHT (c) 1999 BY PHILIPS SINGAPORE (APIC). *
- 6 // -- ALL RIGHTS RESERVED -- *
- 7 // *
- 8 // File Name : DMADebug.c *
- 9 // Author : Albert Goh *
- 10 // Created : 3 March 2000 *
- 11 // *
- 12 //***********************************************************************
- 13 //***********************************************************************
- 14 // *
- 15 // GDMADebug.c is the file that contain the routine for the GDMA debug *
- 16 // It will be able to configured as master for slave for the debugging *
- 17 // *
- 18 //***********************************************************************
- 19 //***********************************************************************
- 20 // *
- 21 // Module History *
- 22 // ************** *
- 23 // *
- 24 // Date Version Author Changes *
- 25 // ==== ======= ====== ======= *
- 26 // 030300 0.1 Albert Created *
- 27 // *
- 28 // *
- 29 //***********************************************************************
- 30
- 31 //***********************************************************************
- 32 //* *
- 33 //* Include Files Definition *
- 34 //* *
- 35 //***********************************************************************
- 36
- 37 #include "standard.h"
- 38 #include "Kernel.h"
- 39 #include "D14.h"
- 40
- 41
- 42
- 43
- 44 //***********************************************************************
- 45 //* *
- 46 //* External Variable Definition *
- 47 //* *
- 48 //***********************************************************************
- 49
- 50 extern USB_DEVICE USB_Device;
- 51 extern DMA_INT_FLAG DMA_Int_Flag;
- 52 extern USB_INT_FLAG USB_Int_Flag;
- 53 extern volatile D14_CNTRL_REG xdata D14_Cntrl_Reg;
- 54 extern void Start_mSEC_Timer(Data);
- 55 extern void rt2_process();
- C51 COMPILER V7.06 VENDOR 07/02/2003 10:05:12 PAGE 2
- 56 extern void tt2_process();
- 57 extern UC Data;
- 58 extern UI Temp,PIO_Count;
- 59 extern KERNEL Kernel_Flag;
- 60 extern ULI bytecount;
- 61 extern FILESIZE FileSize;
- 62 extern UI count;
- 63 extern UC idata Endpt_FIFO[MAX_BUF];
- 64 extern UC Type;
- 65
- 66 //***********************************************************************
- 67 //* *
- 68 //* Variable Definition *
- 69 //* *
- 70 //***********************************************************************
- 71
- 72 UI Count_PIO;
- 73
- 74 //***********************************************************************
- 75 //* *
- 76 //* Prototype Definition *
- 77 //* *
- 78 //***********************************************************************
- 79
- 80 void DMA_Debug_Mode(void);
- 81 void DMA_Init(void);
- 82 void DMA_Mode(Data);
- 83
- 84 //***********************************************************************
- 85 //* *
- 86 //* Routine Definition *
- 87 //* *
- 88 //***********************************************************************
- 89
- 90 //***********************************************************************
- 91 //* *
- 92 //* Routine : DMA Debug Mode *
- 93 //* Input : None *
- 94 //* Output : None *
- 95 //* Function : Generic DMA mode routine *
- 96 //* *
- 97 //***********************************************************************
- 98
- 99 void DMA_Debug_Mode(void)
- 100 {
- 101 1 if(Kernel_Flag.BITS.Transfer_Start)
- 102 1 {
- 103 2 if(FileSize.Size.Address[0] == 0 &&
- 104 2 FileSize.Size.Address[1] == 0 &&
- 105 2 FileSize.Size.Address[2] == 0)
- 106 2 {
- 107 3 Kernel_Flag.BITS.Out_Reset_Done = 0;
- 108 3 Kernel_Flag.BITS.In_Reset_Done = 0;
- 109 3 }
- 110 2
- 111 2 if(FileSize.Size.DIR == 0x00 || FileSize.Size.DIR == 0x80)
- 112 2 DMA_Mode(Write);
- 113 2 else
- 114 2 DMA_Mode(Read);
- 115 2 }
- 116 1 }
- 117
- C51 COMPILER V7.06 VENDOR 07/02/2003 10:05:12 PAGE 3
- 118
- 119 //***********************************************************************
- 120 //* *
- 121 //* Routine : DMA Mode *
- 122 //* Input : DMA Controller setting *
- 123 //* Output : None *
- 124 //* Function : to do GDMA data transfer *
- 125 //* *
- 126 //***********************************************************************
- 127
- 128 void DMA_Mode(Data)
- 129 {
- 130 1 UI Datcount;
- 131 1 UC i;
- 132 1
- 133 1 if(Data)
- 134 1 {
- 135 2 //read
- 136 2 do
- 137 2 {
- 138 3 //Check for Out Token ACK interrupt
- 139 3 while(!USB_Int_Flag.BITS.EP2RX);
- 140 3 EA_DISABLE;
- 141 3 USB_Int_Flag.BITS.EP2RX = 0;
- 142 3 D14_Cntrl_Reg.D14_ENDPT_INDEX = 4;
- 143 3 //Read in FIFO data
- 144 3 if (bytecount > PIO_Count)
- 145 3 {
- 146 4 Datcount = PIO_Count;
- 147 4 }
- 148 3 else
- 149 3 {
- 150 4 Datcount = bytecount;
- 151 4 }
- 152 3
- 153 3 for(i = 0 ; i < (UC)Datcount ; i++)
- 154 3 Endpt_FIFO[i] = D14_Cntrl_Reg.D14_DATA_PORT_LSB;
- 155 3
- 156 3 EA_ENABLE;
- 157 3 bytecount -= Datcount;
- 158 3 }while(bytecount);
- 159 2 rt2_process();
- 160 2 }
- 161 1 else
- 162 1 {
- 163 2 //write
- 164 2 do
- 165 2 {
- 166 3 //initialize endpoint index
- 167 3 D14_Cntrl_Reg.D14_ENDPT_INDEX = 5;
- 168 3 //Write data to FIFO
- 169 3 if (bytecount>PIO_Count)
- 170 3 {
- 171 4 D14_Cntrl_Reg.D14_BUFFER_LENGTH_LSB =( unsigned char ) PIO_Count;
- 172 4 D14_Cntrl_Reg.D14_BUFFER_LENGTH_MSB = ( unsigned char ) (PIO_Count>>8);
- 173 4 Datcount = PIO_Count;
- 174 4 }
- 175 3 else
- 176 3 {
- 177 4 D14_Cntrl_Reg.D14_BUFFER_LENGTH_LSB =( unsigned char ) bytecount;
- 178 4 D14_Cntrl_Reg.D14_BUFFER_LENGTH_MSB = ( unsigned char ) (bytecount>>8);
- 179 4 Datcount = bytecount;
- C51 COMPILER V7.06 VENDOR 07/02/2003 10:05:12 PAGE 4
- 180 4 }
- 181 3
- 182 3
- 183 3 tt2_process();
- 184 3 for(Count_PIO = 0 ; Count_PIO < Datcount ; Count_PIO++)
- 185 3 D14_Cntrl_Reg.D14_DATA_PORT_LSB = Endpt_FIFO[Count_PIO];
- 186 3
- 187 3 //Check for In Token ACK
- 188 3 while(!USB_Int_Flag.BITS.EP2TX)
- 189 3 {
- 190 4 if(USB_Int_Flag.BITS.SUSP || Kernel_Flag.BITS.Bus_Reset || USB_Int_Flag.BITS.EP0SETUP)
- 191 4 break;
- 192 4 }
- 193 3 EA_DISABLE;
- 194 3 USB_Int_Flag.BITS.EP2TX = 0;
- 195 3 EA_ENABLE;
- 196 3 bytecount -= Datcount;
- 197 3 }while(bytecount);
- 198 2 //stop DMA controller
- 199 2 DMA_Start = GDMA_Stop;
- 200 2 //transfewr done,reset internal variables
- 201 2 DMA_Int_Flag.BITS.DMA_DONE = 0;
- 202 2 Count_PIO = 0;
- 203 2 }
- 204 1 Kernel_Flag.BITS.Transfer_Start = 0;
- 205 1 }
- 206
- MODULE INFORMATION: STATIC OVERLAYABLE
- CODE SIZE = 483 ----
- CONSTANT SIZE = ---- ----
- XDATA SIZE = ---- ----
- PDATA SIZE = ---- ----
- DATA SIZE = 2 5
- IDATA SIZE = ---- ----
- BIT SIZE = ---- ----
- END OF MODULE INFORMATION.
- C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)