📄 basei2s.cod
字号:
00000 |?I2C_Read@BASEI2S@@AAAHEPAE@Z| PROC ; BASEI2S::I2C_Read
; 127 : {
00000 |$L37238|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 e24dd004 sub sp, sp, #4
00008 |$M37236|
00008 e1a05002 mov r5, r2
0000c e1a03001 mov r3, r1
00010 e1a04000 mov r4, r0
; 128 : U8 buf = (U8)SubAddr;
; 129 :
; 130 : if( ! m_pi2c->Write(&buf, 1) )
00014 e5940010 ldr r0, [r4, #0x10]
00018 e3a02001 mov r2, #1
0001c e28d1000 add r1, sp, #0
00020 e5cd3000 strb r3, [sp]
00024 eb000000 bl |?Write@MutexI2C@@QAAHPAEH@Z|
00028 e3500000 cmp r0, #0
0002c 1a000001 bne |$L36221|
00030 |$L37235|
; 131 : return CFALSE;
00030 e3a00000 mov r0, #0
00034 ea000006 b |$L36223|
00038 |$L36221|
; 132 :
; 133 : if( ! m_pi2c->Read (Data, 1) )
00038 e5940010 ldr r0, [r4, #0x10]
0003c e3a02001 mov r2, #1
00040 e1a01005 mov r1, r5
00044 eb000000 bl |?Read@MutexI2C@@QAAHPAEH@Z|
00048 e3500000 cmp r0, #0
; 134 : return CFALSE;
0004c 0afffff7 beq |$L37235|
; 135 : else
; 136 : return CTRUE;
00050 e3a00001 mov r0, #1
00054 |$L36223|
; 137 : }
00054 e28dd004 add sp, sp, #4
00058 e8bd4030 ldmia sp!, {r4, r5, lr}
0005c e12fff1e bx lr
00060 |$M37237|
ENDP ; |?I2C_Read@BASEI2S@@AAAHEPAE@Z|, BASEI2S::I2C_Read
EXPORT |?CodecWriteRegister@BASEI2S@@IAAHEE@Z| ; BASEI2S::CodecWriteRegister
IMPORT |EnterCriticalSection|
IMPORT |LeaveCriticalSection|
00000 AREA |.text| { |?CodecWriteRegister@BASEI2S@@IAAHEE@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?CodecWriteRegister@BASEI2S@@IAAHEE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?CodecWriteRegister@BASEI2S@@IAAHEE@Z| } ; comdat associative
|$T37252| DCD |$L37251|
DCD 0x40001001
; Function compile flags: /Ogsy
00000 AREA |.text| { |?CodecWriteRegister@BASEI2S@@IAAHEE@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?CodecWriteRegister@BASEI2S@@IAAHEE@Z| PROC ; BASEI2S::CodecWriteRegister
; 151 : {
00000 |$L37251|
00000 e92d4070 stmdb sp!, {r4 - r6, lr}
00004 |$M37249|
00004 e1a04002 mov r4, r2
00008 e1a05001 mov r5, r1
0000c e1a06000 mov r6, r0
; 152 : BOOL rtVal;
; 153 : EnterCriticalSection( &m_csMutex );
00010 e286006c add r0, r6, #0x6C
00014 eb000000 bl EnterCriticalSection
; 154 :
; 155 : //rtVal = m_audio.WriteI2SCodecReg( I2SRegisterAddress, DataToWrite ,RW_TIMEOUT);
; 156 :
; 157 : rtVal = I2C_Write((U8)I2SRegisterAddress, DataToWrite);
00018 e1a02004 mov r2, r4
0001c e1a01005 mov r1, r5
00020 e1a00006 mov r0, r6
00024 eb000000 bl |?I2C_Write@BASEI2S@@AAAHEE@Z|
00028 e1a04000 mov r4, r0
; 158 :
; 159 : // RETAILMSG(1, (TEXT("CodecWriteRegister: rtVal = %d ,Address : 0x%x , DataToWrite = 0x%x\r\n"),rtVal,I2SRegisterAddress,DataToWrite));
; 160 :
; 161 : LeaveCriticalSection( &m_csMutex );
0002c e286006c add r0, r6, #0x6C
00030 eb000000 bl LeaveCriticalSection
; 162 :
; 163 : return rtVal;
00034 e1a00004 mov r0, r4
; 164 : }
00038 e8bd4070 ldmia sp!, {r4 - r6, lr}
0003c e12fff1e bx lr
00040 |$M37250|
ENDP ; |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|, BASEI2S::CodecWriteRegister
EXPORT |?MapRegisters@BASEI2S@@IAAHXZ| ; BASEI2S::MapRegisters
00000 AREA |.text| { |?MapRegisters@BASEI2S@@IAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?MapRegisters@BASEI2S@@IAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?MapRegisters@BASEI2S@@IAAHXZ| } ; comdat associative
|$T37263| DCD |$L37262|
DCD 0x40002a01
; Function compile flags: /Ogsy
00000 AREA |.text| { |?MapRegisters@BASEI2S@@IAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?MapRegisters@BASEI2S@@IAAHXZ| PROC ; BASEI2S::MapRegisters
; 191 : {
00000 |$L37262|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M37260|
00004 e1a04000 mov r4, r0
; 192 : U32 OffsetAddr, AlignAddr;
; 193 :
; 194 : // DMA registers.
; 195 : //
; 196 : AlignAddr = PHY_BASEADDR_DMA & 0xfffff000;
; 197 : OffsetAddr = PHY_BASEADDR_DMA & 0x00000fff;
; 198 :
; 199 : m_pDMAregs = (DWORD*)VirtualAlloc(0, 0x800, MEM_RESERVE, PAGE_NOACCESS);
00008 e3a03001 mov r3, #1
0000c e3a02a02 mov r2, #2, 20
00010 e3a01b02 mov r1, #2, 22
00014 e3a00000 mov r0, #0
00018 eb000000 bl VirtualAlloc
0001c e3500000 cmp r0, #0
00020 e584001c str r0, [r4, #0x1C]
; 200 : if (!m_pDMAregs)
; 201 : {
; 202 : DEBUGMSG(1, (TEXT("m_pDMAregs: VirtualAlloc failed!\r\n")));
; 203 : return(FALSE);
00024 0a000016 beq |$L37259|
; 204 : }
; 205 : if (!VirtualCopy((PVOID)m_pDMAregs, (PVOID)(AlignAddr >> 8),
; 206 : 0x800, PAGE_PHYSICAL | PAGE_READWRITE | PAGE_NOCACHE))
00028 e3a03c06 mov r3, #6, 24
0002c e3833004 orr r3, r3, #4
00030 e3a02b02 mov r2, #2, 22
00034 e3a01503 mov r1, #3, 10
00038 eb000000 bl VirtualCopy
0003c e3500000 cmp r0, #0
; 207 : {
; 208 : DEBUGMSG(1, (TEXT("m_pDMAregs: VirtualCopy failed!\r\n")));
; 209 : return(FALSE);
00040 e3a00000 mov r0, #0
00044 0a000015 beq |$L36233|
; 210 : }
; 211 : m_pDMAregs = (DWORD*)((U32)m_pDMAregs + OffsetAddr);
; 212 :
; 213 :
; 214 : // Audio registers.
; 215 : //
; 216 : AlignAddr = PHY_BASEADDR_AUDIO & 0xfffff000;
; 217 : OffsetAddr = PHY_BASEADDR_AUDIO & 0x00000fff;
; 218 :
; 219 : m_pAUDIOregs = (DWORD*)VirtualAlloc(0, 0x1000, MEM_RESERVE, PAGE_NOACCESS);
00048 e3a03001 mov r3, #1
0004c e3a02a02 mov r2, #2, 20
00050 e3a01a01 mov r1, #1, 20
00054 eb000000 bl VirtualAlloc
00058 e3500000 cmp r0, #0
0005c e5840018 str r0, [r4, #0x18]
; 220 : if (!m_pAUDIOregs)
; 221 : {
; 222 : DEBUGMSG(1, (TEXT("m_pAUDIOCregs: VirtualAlloc failed!\r\n")));
; 223 : return(FALSE);
00060 0a000007 beq |$L37259|
; 224 : }
; 225 : if (!VirtualCopy((PVOID)m_pAUDIOregs, (PVOID)(AlignAddr >> 8),
; 226 : 0x1000, PAGE_PHYSICAL | PAGE_READWRITE | PAGE_NOCACHE))
00064 e3a01503 mov r1, #3, 10
00068 e3a03c06 mov r3, #6, 24
0006c e38110d0 orr r1, r1, #0xD0
00070 e3833004 orr r3, r3, #4
00074 e3a02a01 mov r2, #1, 20
00078 eb000000 bl VirtualCopy
0007c e3500000 cmp r0, #0
00080 1a000002 bne |$L36250|
00084 |$L37259|
; 227 : {
; 228 : DEBUGMSG(1, (TEXT("m_pAUDIOCregs: VirtualCopy failed!\r\n")));
; 229 : return(FALSE);
00084 e3a00000 mov r0, #0
; 234 : }
00088 e8bd4010 ldmia sp!, {r4, lr}
0008c e12fff1e bx lr
00090 |$L36250|
; 230 : }
; 231 : m_pAUDIOregs = (DWORD*)((U32)m_pAUDIOregs + OffsetAddr);
00090 e5943018 ldr r3, [r4, #0x18]
; 232 :
; 233 : return(TRUE);
00094 e3a00001 mov r0, #1
00098 e2833b02 add r3, r3, #2, 22
0009c e5843018 str r3, [r4, #0x18]
000a0 |$L36233|
; 234 : }
000a0 e8bd4010 ldmia sp!, {r4, lr}
000a4 e12fff1e bx lr
000a8 |$M37261|
ENDP ; |?MapRegisters@BASEI2S@@IAAHXZ|, BASEI2S::MapRegisters
EXPORT |?UnmapRegisters@BASEI2S@@IAAHXZ| ; BASEI2S::UnmapRegisters
00000 AREA |.text| { |?UnmapRegisters@BASEI2S@@IAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?UnmapRegisters@BASEI2S@@IAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?UnmapRegisters@BASEI2S@@IAAHXZ| } ; comdat associative
|$T37272| DCD |$L37271|
DCD 0x40000200
; Function compile flags: /Ogsy
00000 AREA |.text| { |?UnmapRegisters@BASEI2S@@IAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?UnmapRegisters@BASEI2S@@IAAHXZ| PROC ; BASEI2S::UnmapRegisters
; 249 : {
00000 |$L37271|
00000 |$M37269|
; 250 : // VirtualFree(m_pAUDIOregs);
; 251 : // VirtualFree(m_pDMAregs);
; 252 :
; 253 : return TRUE;
00000 e3a00001 mov r0, #1
; 254 :
; 255 : }
00004 e12fff1e bx lr
00008 |$M37270|
ENDP ; |?UnmapRegisters@BASEI2S@@IAAHXZ|, BASEI2S::UnmapRegisters
EXPORT |?InitInterruptThread@BASEI2S@@IAAHXZ| ; BASEI2S::InitInterruptThread
00000 AREA |.text| { |?InitInterruptThread@BASEI2S@@IAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?InitInterruptThread@BASEI2S@@IAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?InitInterruptThread@BASEI2S@@IAAHXZ| } ; comdat associative
|$T37281| DCD |$L37280|
DCD 0x40000200
; Function compile flags: /Ogsy
00000 AREA |.text| { |?InitInterruptThread@BASEI2S@@IAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?InitInterruptThread@BASEI2S@@IAAHXZ| PROC ; BASEI2S::InitInterruptThread
; 262 : {
00000 |$L37280|
00000 |$M37278|
; 263 : return TRUE;
00000 e3a00001 mov r0, #1
; 264 : }
00004 e12fff1e bx lr
00008 |$M37279|
ENDP ; |?InitInterruptThread@BASEI2S@@IAAHXZ|, BASEI2S::InitInterruptThread
EXPORT |?Open@BASEI2S@@QAAHXZ| ; BASEI2S::Open
EXPORT |??_C@_1DC@MEKBLJDN@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAB?$AAA?$AAS?$AAE?$AAI?$AA2?$AAS?$AA?3?$AA?3?$AAo?$AAp@| [ DATA ] ; `string'
EXPORT |??_C@_1GA@PIKEJFKP@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| [ DATA ] ; `string'
EXPORT |??_C@_1GG@BNDIIIOO@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| [ DATA ] ; `string'
EXPORT |??_C@_1GE@GMDDECGJ@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| [ DATA ] ; `string'
IMPORT |?SetPCMOUTDataWidth@MES_AUDIO03@@QAAXW4DATAWIDTH@1@@Z| ; MES_AUDIO03::SetPCMOUTDataWidth
IMPORT |?SetSPDIFOUTDataWidth@MES_AUDIO03@@QAAXW4DATAWIDTH@1@@Z| ; MES_AUDIO03::SetSPDIFOUTDataWidth
IMPORT |?SetPCMINDataWidth@MES_AUDIO03@@QAAXW4DATAWIDTH@1@@Z| ; MES_AUDIO03::SetPCMINDataWidth
IMPORT |??2@YAPAXI@Z| ; operator new
IMPORT |Sleep|
IMPORT |??0MutexI2C@@QAA@EIW4I2CDEV@0@@Z| ; MutexI2C::MutexI2C
IMPORT |?Init@MutexI2C@@QAAXW4TXCLKSRC@MES_I2C03@@KH@Z| ; MutexI2C::Init
IMPORT |NKDbgPrintfW|
IMPORT |InitializeCriticalSection|
IMPORT |?SetClockPClkMode@MES_IClockControl@@QAAXW4PCLKMODE@1@@Z| ; MES_IClockControl::SetClockPClkMode
IMPORT |?SetClockBClkMode@MES_IClockControl@@QAAXW4BCLKMODE@1@@Z| ; MES_IClockControl::SetClockBClkMode
IMPORT |?SetClockDivisorEnable@MES_IClockControl@@QAAXH@Z| ; MES_IClockControl::SetClockDivisorEnable
IMPORT |?SetClockDivisor@MES_IClockControl@@QAAXKK@Z| ; MES_IClockControl::SetClockDivisor
IMPORT |?SetClockSource@MES_IClockControl@@QAAXKK@Z| ; MES_IClockControl::SetClockSource
IMPORT |?SetClockOutInv@MES_IClockControl@@QAAXKH@Z| ; MES_IClockControl::SetClockOutInv
IMPORT |?SetClockOutEnb@MES_IClockControl@@QAAXKH@Z| ; MES_IClockControl::SetClockOutEnb
IMPORT |?SetAC97ControllerReset@MES_AUDIO03@@QAAXH@Z| ; MES_AUDIO03::SetAC97ControllerReset
IMPORT |?SetAC97ColdReset@MES_AUDIO03@@QAAXH@Z| ; MES_AUDIO03::SetAC97ColdReset
IMPORT |?SetAC97LinkOn@MES_AUDIO03@@QAAXH@Z| ; MES_AUDIO03::SetAC97LinkOn
IMPORT |?SetI2SLinkOn@MES_AUDIO03@@QAAXH@Z| ; MES_AUDIO03::SetI2SLinkOn
IMPORT |?SetI2SControllerReset@MES_AUDIO03@@QAAXH@Z| ; MES_AUDIO03::SetI2SControllerReset
IMPORT |?SetI2SControllerMode@MES_AUDIO03@@QAAXW4MODE@1@@Z| ; MES_AUDIO03::SetI2SControllerMode
IMPORT |?SetSyncPeriod@MES_AUDIO03@@QAAXW4SYNCPERIOD@1@@Z| ; MES_AUDIO03::SetSyncPeriod
00000 AREA |.text| { |?Open@BASEI2S@@QAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?Open@BASEI2S@@QAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?Open@BASEI2S@@QAAHXZ| } ; comdat associative
|$T37304| DCD |$L37303|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -