📄 usb_prop.s79
字号:
//////////////////////////////////////////////////////////////////////////////
// /
// IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION 10/Nov/2008 11:44:08 /
// Copyright 1999-2005 IAR Systems. All rights reserved. /
// /
// Cpu mode = thumb /
// Endian = little /
// Stack alignment = 4 /
// Source file = D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\sou /
// rce\usb_prop.c /
// Command line = D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\sou /
// rce\usb_prop.c -D VECT_TAB_FLASH -D /
// USE_STM3210E_EVAL -lA D:\资料\ST\ST\usb\USBLib\demo /
// s\Virtual_COM_Port\project\EWARMv4\STM3210E-EVAL\Li /
// st\ -o D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_P /
// ort\project\EWARMv4\STM3210E-EVAL\Obj\ -z9 --debug /
// --cpu_mode thumb --endian little --cpu cortex-M3 /
// --stack_align 4 --require_prototypes --fpu None /
// --dlib_config "C:\Program Files\IAR /
// Systems\Embedded Workbench 4.0 /
// Evaluation\arm\LIB\dl7mptnnl8f.h" -I /
// D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
// ject\EWARMv4\..\..\include\ -I /
// D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
// ject\EWARMv4\..\..\..\..\library\inc\ -I /
// D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
// ject\EWARMv4\..\..\..\..\..\FWLib\library\inc\ -I /
// "C:\Program Files\IAR Systems\Embedded Workbench /
// 4.0 Evaluation\arm\INC\" --inline_threshold=2 /
// List file = D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
// ject\EWARMv4\STM3210E-EVAL\List\usb_prop.s79 /
// /
// /
//////////////////////////////////////////////////////////////////////////////
NAME usb_prop
RTMODEL "StackAlign4", "USED"
RTMODEL "__cpu_mode", "__pcs__thumb"
RTMODEL "__data_model", "absolute"
RTMODEL "__endian", "little"
RTMODEL "__rt_version", "6"
RSEG CSTACK:DATA:NOROOT(2)
PUBWEAK `?*?DATA_ID`
MULTWEAK ??Clear_Status_Out??rT
??DataTable0 EQU 0
??DataTable1 EQU 0
??DataTable10 EQU 0
??DataTable11 EQU 0
??DataTable2 EQU 0
??DataTable3 EQU 0
??DataTable4 EQU 0
??DataTable6 EQU 0
??DataTable7 EQU 0
??DataTable9 EQU 0
MULTWEAK ??Get_SerialNum??rT
MULTWEAK ??PowerOn??rT
MULTWEAK ??SetBTABLE??rT
MULTWEAK ??SetDeviceAddress??rT
MULTWEAK ??SetEPRxAddr??rT
MULTWEAK ??SetEPRxCount??rT
MULTWEAK ??SetEPRxStatus??rT
MULTWEAK ??SetEPRxValid??rT
MULTWEAK ??SetEPTxAddr??rT
MULTWEAK ??SetEPTxStatus??rT
MULTWEAK ??SetEPType??rT
MULTWEAK ??Standard_GetDescriptorData??rT
MULTWEAK ??USART_Config??rT
MULTWEAK ??USART_Config_Default??rT
PUBWEAK ?init?tab?DATA_I
PUBWEAK ?init?tab?DATA_Z
PUBLIC Config_Descriptor
PUBLIC Device_Descriptor
PUBLIC Device_Property
PUBLIC Device_Table
PUBLIC Request
PUBLIC String_Descriptor
PUBLIC User_Standard_Requests
PUBLIC Virtual_Com_Port_Data_Setup
FUNCTION Virtual_Com_Port_Data_Setup,0603H
LOCFRAME CSTACK, 8, STACK
PUBLIC Virtual_Com_Port_GetConfigDescriptor
FUNCTION Virtual_Com_Port_GetConfigDescriptor,0603H
LOCFRAME CSTACK, 4, STACK
PUBLIC Virtual_Com_Port_GetDeviceDescriptor
FUNCTION Virtual_Com_Port_GetDeviceDescriptor,0603H
LOCFRAME CSTACK, 4, STACK
PUBLIC Virtual_Com_Port_GetLineCoding
FUNCTION Virtual_Com_Port_GetLineCoding,0603H
PUBLIC Virtual_Com_Port_GetStringDescriptor
FUNCTION Virtual_Com_Port_GetStringDescriptor,0603H
LOCFRAME CSTACK, 4, STACK
PUBLIC Virtual_Com_Port_Get_Interface_Setting
FUNCTION Virtual_Com_Port_Get_Interface_Setting,0603H
PUBLIC Virtual_Com_Port_NoData_Setup
FUNCTION Virtual_Com_Port_NoData_Setup,0603H
PUBLIC Virtual_Com_Port_Reset
FUNCTION Virtual_Com_Port_Reset,0603H
LOCFRAME CSTACK, 4, STACK
PUBLIC Virtual_Com_Port_SetConfiguration
FUNCTION Virtual_Com_Port_SetConfiguration,0603H
PUBLIC Virtual_Com_Port_SetDeviceAddress
FUNCTION Virtual_Com_Port_SetDeviceAddress,0603H
PUBLIC Virtual_Com_Port_SetLineCoding
FUNCTION Virtual_Com_Port_SetLineCoding,0603H
PUBLIC Virtual_Com_Port_Status_In
FUNCTION Virtual_Com_Port_Status_In,0603H
LOCFRAME CSTACK, 8, STACK
PUBLIC Virtual_Com_Port_Status_Out
FUNCTION Virtual_Com_Port_Status_Out,0603H
PUBLIC Virtual_Com_Port_init
FUNCTION Virtual_Com_Port_init,0603H
LOCFRAME CSTACK, 8, STACK
PUBLIC linecoding
CFI Names cfiNames0
CFI StackFrame CFA R13 HUGEDATA
CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, R13:32, R14:32
CFI VirtualResource ?RET:32
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 2
CFI DataAlign 4
CFI ReturnAddress ?RET CODE
CFI CFA R13+0
CFI R0 Undefined
CFI R1 Undefined
CFI R2 Undefined
CFI R3 Undefined
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI R8 SameValue
CFI R9 SameValue
CFI R10 SameValue
CFI R11 SameValue
CFI R12 Undefined
CFI R14 Undefined
CFI ?RET R14
CFI EndCommon cfiCommon0
Clear_Status_Out SYMBOL "Clear_Status_Out"
Get_SerialNum SYMBOL "Get_SerialNum"
PowerOn SYMBOL "PowerOn"
SetBTABLE SYMBOL "SetBTABLE"
SetDeviceAddress SYMBOL "SetDeviceAddress"
SetEPRxAddr SYMBOL "SetEPRxAddr"
SetEPRxCount SYMBOL "SetEPRxCount"
SetEPRxStatus SYMBOL "SetEPRxStatus"
SetEPRxValid SYMBOL "SetEPRxValid"
SetEPTxAddr SYMBOL "SetEPTxAddr"
SetEPTxStatus SYMBOL "SetEPTxStatus"
SetEPType SYMBOL "SetEPType"
Standard_GetDescriptorData SYMBOL "Standard_GetDescriptorData"
USART_Config SYMBOL "USART_Config"
USART_Config_Default SYMBOL "USART_Config_Default"
??Clear_Status_Out??rT SYMBOL "??rT", Clear_Status_Out
??Get_SerialNum??rT SYMBOL "??rT", Get_SerialNum
??PowerOn??rT SYMBOL "??rT", PowerOn
??SetBTABLE??rT SYMBOL "??rT", SetBTABLE
??SetDeviceAddress??rT SYMBOL "??rT", SetDeviceAddress
??SetEPRxAddr??rT SYMBOL "??rT", SetEPRxAddr
??SetEPRxCount??rT SYMBOL "??rT", SetEPRxCount
??SetEPRxStatus??rT SYMBOL "??rT", SetEPRxStatus
??SetEPRxValid??rT SYMBOL "??rT", SetEPRxValid
??SetEPTxAddr??rT SYMBOL "??rT", SetEPTxAddr
??SetEPTxStatus??rT SYMBOL "??rT", SetEPTxStatus
??SetEPType??rT SYMBOL "??rT", SetEPType
??Standard_GetDescriptorData??rT SYMBOL "??rT", Standard_GetDescriptorData
??USART_Config??rT SYMBOL "??rT", USART_Config
??USART_Config_Default??rT SYMBOL "??rT", USART_Config_Default
EXTERN Clear_Status_Out
FUNCTION Clear_Status_Out,0202H
EXTERN Device_Info
EXTERN Get_SerialNum
FUNCTION Get_SerialNum,0202H
EXTERN NOP_Process
FUNCTION NOP_Process,0602H
EXTERN PowerOn
FUNCTION PowerOn,0202H
EXTERN SetBTABLE
FUNCTION SetBTABLE,0202H
EXTERN SetDeviceAddress
FUNCTION SetDeviceAddress,0202H
EXTERN SetEPRxAddr
FUNCTION SetEPRxAddr,0202H
EXTERN SetEPRxCount
FUNCTION SetEPRxCount,0202H
EXTERN SetEPRxStatus
FUNCTION SetEPRxStatus,0202H
EXTERN SetEPRxValid
FUNCTION SetEPRxValid,0202H
EXTERN SetEPTxAddr
FUNCTION SetEPTxAddr,0202H
EXTERN SetEPTxStatus
FUNCTION SetEPTxStatus,0202H
EXTERN SetEPType
FUNCTION SetEPType,0202H
EXTERN Standard_GetDescriptorData
FUNCTION Standard_GetDescriptorData,0202H
EXTERN USART_Config
FUNCTION USART_Config,0202H
EXTERN USART_Config_Default
FUNCTION USART_Config_Default,0202H
EXTERN Virtual_Com_Port_ConfigDescriptor
EXTERN Virtual_Com_Port_DeviceDescriptor
EXTERN Virtual_Com_Port_StringLangID
EXTERN Virtual_Com_Port_StringProduct
EXTERN Virtual_Com_Port_StringSerial
EXTERN Virtual_Com_Port_StringVendor
EXTERN bDeviceState
EXTERN pInformation
EXTERN wInterrupt_Mask
// D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\source\usb_prop.c
// 1 /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
// 2 * File Name : usb_prop.c
// 3 * Author : MCD Application Team
// 4 * Version : V2.2.0
// 5 * Date : 06/13/2008
// 6 * Description : All processing related to Virtual Com Port Demo
// 7 ********************************************************************************
// 8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
// 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
// 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
// 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
// 12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
// 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
// 14 *******************************************************************************/
// 15
// 16 /* Includes ------------------------------------------------------------------*/
// 17 #include "usb_lib.h"
// 18 #include "usb_conf.h"
// 19 #include "usb_prop.h"
// 20 #include "usb_desc.h"
// 21 #include "usb_pwr.h"
// 22 #include "hw_config.h"
// 23
// 24 /* Private typedef -----------------------------------------------------------*/
// 25 /* Private define ------------------------------------------------------------*/
// 26 /* Private macro -------------------------------------------------------------*/
// 27 /* Private variables ---------------------------------------------------------*/
RSEG DATA_Z:DATA:SORT:NOROOT(0)
// 28 u8 Request = 0;
Request:
DS8 1
// 29
RSEG DATA_I:DATA:SORT:NOROOT(2)
// 30 LINE_CODING linecoding =
linecoding:
DS8 8
REQUIRE `?<Initializer for linecoding>`
// 31 {
// 32 115200, /* baud rate*/
// 33 0x00, /* stop bits-1*/
// 34 0x00, /* parity - none*/
// 35 0x08 /* no. of bits 8*/
// 36 };
// 37
// 38 /* -------------------------------------------------------------------------- */
// 39 /* Structures initializations */
// 40 /* -------------------------------------------------------------------------- */
// 41
RSEG DATA_I:DATA:SORT:NOROOT(0)
// 42 DEVICE Device_Table =
Device_Table:
DS8 2
REQUIRE `?<Initializer for Device_Table>`
// 43 {
// 44 EP_NUM,
// 45 1
// 46 };
// 47
RSEG DATA_I:DATA:SORT:NOROOT(2)
// 48 DEVICE_PROP Device_Property =
Device_Property:
DS8 48
REQUIRE `?<Initializer for Device_Property>`
// 49 {
// 50 Virtual_Com_Port_init,
// 51 Virtual_Com_Port_Reset,
// 52 Virtual_Com_Port_Status_In,
// 53 Virtual_Com_Port_Status_Out,
// 54 Virtual_Com_Port_Data_Setup,
// 55 Virtual_Com_Port_NoData_Setup,
// 56 Virtual_Com_Port_Get_Interface_Setting,
// 57 Virtual_Com_Port_GetDeviceDescriptor,
// 58 Virtual_Com_Port_GetConfigDescriptor,
// 59 Virtual_Com_Port_GetStringDescriptor,
// 60 0,
// 61 0x40 /*MAX PACKET SIZE*/
// 62 };
// 63
RSEG DATA_I:DATA:SORT:NOROOT(2)
// 64 USER_STANDARD_REQUESTS User_Standard_Requests =
User_Standard_Requests:
DS8 36
REQUIRE `?<Initializer for User_Standard_Requests>`
// 65 {
// 66 Virtual_Com_Port_GetConfiguration,
// 67 Virtual_Com_Port_SetConfiguration,
// 68 Virtual_Com_Port_GetInterface,
// 69 Virtual_Com_Port_SetInterface,
// 70 Virtual_Com_Port_GetStatus,
// 71 Virtual_Com_Port_ClearFeature,
// 72 Virtual_Com_Port_SetEndPointFeature,
// 73 Virtual_Com_Port_SetDeviceFeature,
// 74 Virtual_Com_Port_SetDeviceAddress
// 75 };
// 76
RSEG DATA_I:DATA:SORT:NOROOT(2)
// 77 ONE_DESCRIPTOR Device_Descriptor =
Device_Descriptor:
DS8 8
REQUIRE `?<Initializer for Device_Descriptor>`
// 78 {
// 79 (u8*)Virtual_Com_Port_DeviceDescriptor,
// 80 VIRTUAL_COM_PORT_SIZ_DEVICE_DESC
// 81 };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -