📄 ms2_serial.cod
字号:
DCD 0x40000700
; Function compile flags: /Ogsy
00000 AREA |.text| { |?GetOutputMode@CSerialPDD@@UAAXPAH0@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?GetOutputMode@CSerialPDD@@UAAXPAH0@Z| PROC ; CSerialPDD::GetOutputMode
; 172 : virtual void GetOutputMode(BOOL* pUseIR, BOOL* pUse9Pin) {
00000 |$L31142|
00000 |$M31140|
00000 e3510000 cmp r1, #0
; 173 : if (pUseIR) *pUseIR = m_fIREnable;
00004 159030ec ldrne r3, [r0, #0xEC]
00008 15813000 strne r3, [r1]
; 174 : if (pUse9Pin) *pUse9Pin = m_f9PinEnable;
0000c e3520000 cmp r2, #0
00010 159030f0 ldrne r3, [r0, #0xF0]
00014 15823000 strne r3, [r2]
; 175 : }
00018 e12fff1e bx lr
0001c |$M31141|
ENDP ; |?GetOutputMode@CSerialPDD@@UAAXPAH0@Z|, CSerialPDD::GetOutputMode
EXPORT |?SerialRegisterRestore@CPdd16550@@UAAXXZ| ; CPdd16550::SerialRegisterRestore
; File c:\wm520\public\wpc\cesysgen\oak\inc\pdd16550.h
00000 AREA |.text| { |?SerialRegisterRestore@CPdd16550@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?SerialRegisterRestore@CPdd16550@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?SerialRegisterRestore@CPdd16550@@UAAXXZ| } ; comdat associative
|$T31151| DCD |$L31150|
DCD 0x40000801
; Function compile flags: /Ogsy
00000 AREA |.text| { |?SerialRegisterRestore@CPdd16550@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?SerialRegisterRestore@CPdd16550@@UAAXXZ| PROC ; CPdd16550::SerialRegisterRestore
; 124 : virtual void SerialRegisterRestore() { m_pReg16550->Restore(); };
00000 |$L31150|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M31148|
00004 e5900124 ldr r0, [r0, #0x124]
00008 e5903000 ldr r3, [r0]
0000c e5933054 ldr r3, [r3, #0x54]
00010 e1a0e00f mov lr, pc
00014 e12fff13 bx r3
00018 e49de004 ldr lr, [sp], #4
0001c e12fff1e bx lr
00020 |$M31149|
ENDP ; |?SerialRegisterRestore@CPdd16550@@UAAXXZ|, CPdd16550::SerialRegisterRestore
00000 AREA |.text| { |?ModemInterruptHandler@CPdd16550@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?ModemInterruptHandler@CPdd16550@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?ModemInterruptHandler@CPdd16550@@UAAXXZ| } ; comdat associative
|$T31159| DCD |$L31158|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |?ModemInterruptHandler@CPdd16550@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?ModemInterruptHandler@CPdd16550@@UAAXXZ| PROC ; CPdd16550::ModemInterruptHandler
; 158 : virtual void ModemInterruptHandler() { GetModemStatus();};
00000 |$L31158|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M31156|
00004 e5903000 ldr r3, [r0]
00008 e593307c ldr r3, [r3, #0x7C]
0000c e1a0e00f mov lr, pc
00010 e12fff13 bx r3
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M31157|
ENDP ; |?ModemInterruptHandler@CPdd16550@@UAAXXZ|, CPdd16550::ModemInterruptHandler
IMPORT |?GetLineStatus@CPdd16550@@QAAEXZ| ; CPdd16550::GetLineStatus
00000 AREA |.text| { |?LineInterruptHandler@CPdd16550@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?LineInterruptHandler@CPdd16550@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?LineInterruptHandler@CPdd16550@@UAAXXZ| } ; comdat associative
|$T31167| DCD |$L31166|
DCD 0x40000401
; Function compile flags: /Ogsy
00000 AREA |.text| { |?LineInterruptHandler@CPdd16550@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?LineInterruptHandler@CPdd16550@@UAAXXZ| PROC ; CPdd16550::LineInterruptHandler
; 165 : virtual void LineInterruptHandler() { GetLineStatus();};
00000 |$L31166|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M31164|
00004 eb000000 bl |?GetLineStatus@CPdd16550@@QAAEXZ|
00008 e49de004 ldr lr, [sp], #4
0000c e12fff1e bx lr
00010 |$M31165|
ENDP ; |?LineInterruptHandler@CPdd16550@@UAAXXZ|, CPdd16550::LineInterruptHandler
EXPORT |?ConfigurePinout@CBulPdd16550FUART@@AAAHXZ| ; CBulPdd16550FUART::ConfigurePinout
; File c:\wm520\platform\al270\platform\mainstoneii\src\drivers\serial\ms2_serial.cpp
00000 AREA |.text| { |?ConfigurePinout@CBulPdd16550FUART@@AAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?ConfigurePinout@CBulPdd16550FUART@@AAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?ConfigurePinout@CBulPdd16550FUART@@AAAHXZ| } ; comdat associative
|$T31177| DCD |$L31176|
DCD 0x40001601
; Function compile flags: /Ogsy
00000 AREA |.text| { |?ConfigurePinout@CBulPdd16550FUART@@AAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?ConfigurePinout@CBulPdd16550FUART@@AAAHXZ| PROC ; CBulPdd16550FUART::ConfigurePinout
; 64 : BOOL ConfigurePinout(){
00000 |$L31176|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M31174|
00004 e1a0e000 mov lr, r0
; 65 : //Initialize GPIO pins
; 66 : //Write 0 on GPIO pins 39, 40 and 41 before configuring them as outputs.
; 67 : m_pGPIOReg->GPCR1 = ( XLLP_GPIO_BIT_FFDTR | XLLP_GPIO_BIT_FFTXD | XLLP_GPIO_BIT_FFRTS );
00008 e59e3148 ldr r3, [lr, #0x148]
0000c e3a02d0e mov r2, #0xE, 26
; 68 :
; 69 : //Configure direction of GPIO pins 34, 35, 36, 37 and 38 as input
; 70 : //and GPIO pins 39, 40 and 41 as output
; 71 : m_pGPIOReg->GPDR1 &= ~( XLLP_GPIO_BIT_FFRXD | XLLP_GPIO_BIT_FFCTS |
; 72 : XLLP_GPIO_BIT_FFDCD | XLLP_GPIO_BIT_FFDSR |
; 73 : XLLP_GPIO_BIT_FFRI );
; 74 : m_pGPIOReg->GPDR1 |= ( XLLP_GPIO_BIT_FFTXD | XLLP_GPIO_BIT_FFDTR | XLLP_GPIO_BIT_FFRTS );
; 75 :
; 76 : //Configure GPIO pins 34, 35, 36, 37 and 38 for Alt_fn1. And pins 39, 40 and 41 for Alt_fn2.
; 77 : m_pGPIOReg->GAFR1_L |= (XLLP_GPIO_AF_BIT_FFRXD | XLLP_GPIO_AF_BIT_FFCTS |
; 78 : XLLP_GPIO_AF_BIT_FFDCD | XLLP_GPIO_AF_BIT_FFDSR |
; 79 : XLLP_GPIO_AF_BIT_FFRI | XLLP_GPIO_AF_BIT_FFTXD |
; 80 : XLLP_GPIO_AF_BIT_FFDTR | XLLP_GPIO_AF_BIT_FFRTS );
00010 e3a01aa9 mov r1, #0xA9, 20
00014 e5832028 str r2, [r3, #0x28]
00018 e59e2148 ldr r2, [lr, #0x148]
0001c e3811e55 orr r1, r1, #0x55, 28
; 81 :
; 82 : return TRUE;
00020 e3a00001 mov r0, #1
00024 e5923010 ldr r3, [r2, #0x10]
00028 e3c3307c bic r3, r3, #0x7C
0002c e5823010 str r3, [r2, #0x10]
00030 e59e2148 ldr r2, [lr, #0x148]
00034 e5923010 ldr r3, [r2, #0x10]
00038 e3833d0e orr r3, r3, #0xE, 26
0003c e5823010 str r3, [r2, #0x10]
00040 e59e2148 ldr r2, [lr, #0x148]
00044 e592305c ldr r3, [r2, #0x5C]
00048 e1833001 orr r3, r3, r1
0004c e582305c str r3, [r2, #0x5C]
; 83 : }
00050 e49de004 ldr lr, [sp], #4
00054 e12fff1e bx lr
00058 |$M31175|
ENDP ; |?ConfigurePinout@CBulPdd16550FUART@@AAAHXZ|, CBulPdd16550FUART::ConfigurePinout
EXPORT |??1CBulPdd16550FUART@@UAA@XZ| ; CBulPdd16550FUART::~CBulPdd16550FUART
IMPORT |??1CBulPdd16550@@UAA@XZ| ; CBulPdd16550::~CBulPdd16550
00000 AREA |.text| { |??1CBulPdd16550FUART@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??1CBulPdd16550FUART@@UAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1CBulPdd16550FUART@@UAA@XZ| } ; comdat associative
|$T31185| DCD |$L31184|
DCD 0x40000401
; Function compile flags: /Ogsy
00000 AREA |.text| { |??1CBulPdd16550FUART@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??1CBulPdd16550FUART@@UAA@XZ| PROC ; CBulPdd16550FUART::~CBulPdd16550FUART
00000 |$L31184|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M31182|
00004 eb000000 bl |??1CBulPdd16550@@UAA@XZ|
00008 e49de004 ldr lr, [sp], #4
0000c e12fff1e bx lr
00010 |$M31183|
ENDP ; |??1CBulPdd16550FUART@@UAA@XZ|, CBulPdd16550FUART::~CBulPdd16550FUART
EXPORT |??_7CBulPdd16550BUART@@6BCMiniThread@@@| [ DATA ] ; CBulPdd16550BUART::`vftable'
EXPORT |??_GCBulPdd16550BUART@@UAAPAXI@Z| ; CBulPdd16550BUART::`scalar deleting destructor'
EXPORT |??0CBulPdd16550BUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| ; CBulPdd16550BUART::CBulPdd16550BUART
EXPORT |?Init@CBulPdd16550BUART@@UAAHXZ| ; CBulPdd16550BUART::Init
EXPORT |?SerialRegisterRestore@CBulPdd16550BUART@@UAAXXZ| ; CBulPdd16550BUART::SerialRegisterRestore
EXPORT |?SetDTR@CBulPdd16550BUART@@UAAXH@Z| ; CBulPdd16550BUART::SetDTR
EXPORT |??_7CBulPdd16550BUART@@6BCSerialPDD@@@| [ DATA ] ; CBulPdd16550BUART::`vftable'
IMPORT |??_ECBulPdd16550BUART@@UAAPAXI@Z|, WEAK |??_GCBulPdd16550BUART@@UAAPAXI@Z| ; CBulPdd16550BUART::`vector deleting destructor', CBulPdd16550BUART::`scalar deleting destructor'
00000 AREA |.text| { |??0CBulPdd16550BUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??0CBulPdd16550BUART@@QAA@PAGPAXPAU__HWOBJ@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CBulPdd16550BUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| } ; comdat associative
|$T31198| DCD |$L31197|
DCD 0x40000e01
00000 AREA |.rdata| { |??_7CBulPdd16550BUART@@6BCSerialPDD@@@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7CBulPdd16550BUART@@6BCSerialPDD@@@| DCD |??_ECBulPdd16550BUART@@UAAPAXI@Z| ; CBulPdd16550BUART::`vftable'
DCD |?Init@CBulPdd16550BUART@@UAAHXZ|
DCD |?PostInit@CPdd16550@@UAAXXZ|
DCD |?Open@CBulPdd16550@@UAAHXZ|
DCD |?Close@CBulPdd16550@@UAAHXZ|
DCD |?Ioctl@CSerialPDD@@UAAHKPAEK0KPAK@Z|
DCD |?InitialPower@CSerialPDD@@UAAHH@Z|
DCD |?PowerOff@CSerialPDD@@UAAHXZ|
DCD |?PowerOn@CSerialPDD@@UAAHXZ|
DCD |?SetDevicePowerState@CSerialPDD@@UAAHW4_CEDEVICE_POWER_STATE@@@Z|
DCD |?SerialRegisterBackup@CBulPdd16550@@MAAXXZ|
DCD |?SerialRegisterRestore@CBulPdd16550BUART@@UAAXXZ|
DCD |?GetDevicePowerState@CSerialPDD@@UAA?AW4_CEDEVICE_POWER_STATE@@XZ|
DCD |?GetPowerCapabilities@CSerialPDD@@UAA?AU_POWER_CAPABILITIES@@XZ|
DCD |?InitialEnableInterrupt@CPdd16550@@UAAHH@Z|
DCD |?NotifyPDDInterrupt@CSerialPDD@@UAAHW4INTERRUPT_TYPE@@@Z|
DCD |?GetInterruptType@CSerialPDD@@UAA?AW4INTERRUPT_TYPE@@XZ|
DCD |?EventCallback@CSerialPDD@@UAAHKK@Z|
DCD |?DataReplaced@CSerialPDD@@UAAHPAEH@Z|
DCD |?PurgeComm@CSerialPDD@@UAAHK@Z|
DCD |?InitXmit@CPdd16550@@UAAHH@Z|
DCD |?XmitInterruptHandler@CBulPdd16550@@UAAXPAEPAK@Z|
DCD |?XmitComChar@CBulPdd16550@@UAAXE@Z|
DCD |?EnableXmitInterrupt@CBulPdd16550@@UAAHH@Z|
DCD |?CancelXmit@CPdd16550@@UAAHXZ|
DCD |?InitReceive@CPdd16550@@UAAHH@Z|
DCD |?GetRxBufferSize@CSerialPDD@@UAAKXZ|
DCD |?ReceiveInterruptHandler@CPdd16550@@UAAKPAEPAK@Z|
DCD |?CancelReceive@CPdd16550@@UAAKXZ|
DCD |?InitModem@CPdd16550@@UAAHH@Z|
DCD |?ModemInterruptHandler@CPdd16550@@UAAXXZ|
DCD |?GetModemStatus@CPdd16550@@UAAKXZ|
DCD |?SetDTR@CBulPdd16550BUART@@UAAXH@Z|
DCD |?SetRTS@CPdd16550@@UAAXH@Z|
DCD |?IsCTSOff@CSerialPDD@@UAAHXZ|
DCD |?IsDSROff@CSerialPDD@@UAAHXZ|
DCD |?InitLine@CPdd16550@@UAAHH@Z|
DCD |?LineInterruptHandler@CPdd16550@@UAAXXZ|
DCD |?SetBreak@CPdd16550@@UAAXH@Z|
DCD |?SetBaudRate@CPdd16550@@UAAHKH@Z|
DCD |?SetByteSize@CPdd16550@@UAAHK@Z|
DCD |?SetParity@CPdd16550@@UAAHK@Z|
DCD |?SetStopBits@CPdd16550@@UAAHK@Z|
DCD |?SetDCB@CBulPdd16550@@UAAHPAU_DCB@@@Z|
DCD |?SetDefaultConfiguration@CSerialPDD@@UAAXXZ|
DCD |?GetDivisorOfRate@CBulPdd16550@@UAAHKPAK@Z|
DCD |?SetOutputMode@CBulPdd16550@@UAAXHH@Z|
DCD |?GetOutputMode@CSerialPDD@@UAAXPAH0@Z|
DCD |?SetReceiveError@CSerialPDD@@UAAXK@Z|
DCD |?GetReceivedError@CSerialPDD@@UAAKXZ|
DCD |?MapHardware@CBulPdd16550@@UAAHXZ|
DCD |?CreateHardwareAccess@CBulPdd16550@@UAAHXZ|
DCD |?GetWriteableSize@CPdd16550@@UAAKXZ|
DCD |?GetWaterMark@CBulPdd16550@@UAAKXZ|
DCD |?GetWaterMarkBit@CBulPdd16550@@UAAEXZ|
DCD |?GetCanWriteByte@CBulPdd16550@@UAAKXZ|
DCD |?InitIR@CBulPdd16550@@UAAHH@Z|
00000 AREA |.rdata| { |??_7CBulPdd16550BUART@@6BCMiniThread@@@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7CBulPdd16550BUART@@6BCMiniThread@@@| DCD |?ThreadRun@CPdd16550@@EAAKXZ| ; CBulPdd16550BUART::`vftable'
; Function compile flags: /Ogsy
00000 AREA |.text| { |??0CBulPdd16550BUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??0CBulPdd16550BUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| PROC ; CBulPdd16550BUART::CBulPdd16550BUART
; 90 : {
00000 |$L31197|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M31195|
00004 e1a04000 mov r4, r0
00008 eb000000 bl |??0CBulPdd16550@@QAA@PAGPAXPAU__HWOBJ@@@Z|
0000c e59f3020 ldr r3, [pc, #0x20]
00010 e59f2018 ldr r2, [pc, #0x18]
; 91 : m_pBCRReg = NULL;
00014 e3a01000 mov r1, #0
00018 e5843000 str r3, [r4]
0001c e58420fc str r2, [r4, #0xFC]
00020 e5841154 str r1, [r4, #0x154]
; 92 : };
00024 e1a00004 mov r0, r4
00028 e8bd4010 ldmia sp!, {r4, lr}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -