📄 xllp_suspendresume.cod
字号:
; 440 : // //Test whether we have get this point
; 441 : pGPIORegs->GPDR1 |= 0x80; //GPIO39 OUTPUT
00000 e59f10c0 ldr r1, [pc, #0xC0]
00004 e5912000 ldr r2, [r1]
00008 e5923010 ldr r3, [r2, #0x10]
0000c e3833080 orr r3, r3, #0x80
00010 e5823010 str r3, [r2, #0x10]
; 442 : pGPIORegs->GPSR1 |= 0x80; //GPIO39 LOW
00014 e5912000 ldr r2, [r1]
00018 e592301c ldr r3, [r2, #0x1C]
0001c e3833080 orr r3, r3, #0x80
00020 e582301c str r3, [r2, #0x1C]
; 443 : pGPIORegs->GPDR1 |= 0x100000; //GPIO52 OUTPUT
00024 e5912000 ldr r2, [r1]
00028 e5923010 ldr r3, [r2, #0x10]
0002c e3833601 orr r3, r3, #1, 12
00030 e5823010 str r3, [r2, #0x10]
; 444 : pGPIORegs->GPCR1 |= 0x100000; //GPIO52 HIGT
00034 e5912000 ldr r2, [r1]
00038 e5923028 ldr r3, [r2, #0x28]
0003c e3833601 orr r3, r3, #1, 12
00040 e5823028 str r3, [r2, #0x28]
; 445 : pGPIORegs->GPDR2 |= 0x20000; //GPIO81 OUTPUT
00044 e5912000 ldr r2, [r1]
00048 e5923014 ldr r3, [r2, #0x14]
0004c e3833802 orr r3, r3, #2, 16
00050 e5823014 str r3, [r2, #0x14]
; 446 : pGPIORegs->GPSR2 |= 0x20000; //GPIO81 LOW
00054 e5912000 ldr r2, [r1]
00058 e5923020 ldr r3, [r2, #0x20]
0005c e3833802 orr r3, r3, #2, 16
00060 e5823020 str r3, [r2, #0x20]
; 447 : pGPIORegs->GPDR2 |= 0x2000000; //GPIO89 OUTPUT
00064 e5912000 ldr r2, [r1]
00068 e5923014 ldr r3, [r2, #0x14]
0006c e3833402 orr r3, r3, #2, 8
00070 e5823014 str r3, [r2, #0x14]
; 448 : pGPIORegs->GPCR2 |= 0x2000000; //GPIO89 HIGT
00074 e5912000 ldr r2, [r1]
00078 e592302c ldr r3, [r2, #0x2C]
0007c e3833402 orr r3, r3, #2, 8
00080 e582302c str r3, [r2, #0x2C]
; 449 : pGPIORegs->GPDR3 |= 0x800000; //GPIO119 OUTPUT
00084 e5912000 ldr r2, [r1]
00088 e592310c ldr r3, [r2, #0x10C]
0008c e3833502 orr r3, r3, #2, 10
00090 e582310c str r3, [r2, #0x10C]
; 450 : pGPIORegs->GPSR3 |= 0x800000; //GPIO119 LOW
00094 e5912000 ldr r2, [r1]
00098 e5923118 ldr r3, [r2, #0x118]
0009c e3833502 orr r3, r3, #2, 10
000a0 e5823118 str r3, [r2, #0x118]
; 451 : pGPIORegs->GPDR3 |= 0x1000000; //GPIO120 OUTPUT
000a4 e5912000 ldr r2, [r1]
000a8 e592310c ldr r3, [r2, #0x10C]
000ac e3833401 orr r3, r3, #1, 8
000b0 e582310c str r3, [r2, #0x10C]
; 452 : pGPIORegs->GPCR3 |= 0x1000000; //GPIO120 HIGT
000b4 e5912000 ldr r2, [r1]
000b8 e5923124 ldr r3, [r2, #0x124]
000bc e3833401 orr r3, r3, #1, 8
000c0 e5823124 str r3, [r2, #0x124]
000c4 |$L2154|
; 453 : while(1);
000c4 eafffffe b |$L2154|
000c8 |$L2535|
000c8 00000000 DCD |pGPIORegs|
000cc |$M2531|
ENDP ; |MyTestPoint|
EXPORT |??_C@_0CM@CPEIKGIJ@Xllp_SuspendResume?3?5BSP_MAINSTON@| [ DATA ] ; `string'
EXPORT |??_C@_0EN@OFCHHAJE@Xllp_SuspendResume?3?5Entry?3?5PCFR?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0EO@IPDFPBGF@Xllp_SuspendResume?3?5Entry?3?5CPSR?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0EM@DFLLKJJB@Xllp_SuspendResume?3?5Entry?3?5RCNR?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0DG@NFDPLLBH@Xllp_SuspendResume?3?5Entry?3?5RYAR1@| [ DATA ] ; `string'
EXPORT |??_C@_0EC@NLBGEJKB@Xllp_SuspendResume?3?5Entry?3?5OSCR0@| [ DATA ] ; `string'
EXPORT |??_C@_0FA@NNCKJJFE@Xllp_SuspendResume?3?5Entry?3?5OSMR0@| [ DATA ] ; `string'
EXPORT |??_C@_0FA@LMDOHGKF@Xllp_SuspendResume?3?5Entry?3?5OSMR4@| [ DATA ] ; `string'
EXPORT |??_C@_0FC@BKHKIANA@Xllp_SuspendResume?3?5Entry?3?5OSMR8@| [ DATA ] ; `string'
EXPORT |??_C@_0DN@ENBKAJIG@Xllp_SuspendResume?3?5Entry?3?5Resum@| [ DATA ] ; `string'
EXPORT |??_C@_0DE@BABMLOJA@Xllp_SuspendResume?3?5Entry?3?5ICPR?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0DE@LGBPNLIP@Xllp_SuspendResume?3?5Entry?3?5IMER?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0DJ@HLEJOCGD@Xllp_SuspendResume?3?5mode?5specifi@| [ DATA ] ; `string'
EXPORT |??_C@_0GB@MPMLBGEH@Xllp_SuspendResume?3?5PWER?$DNx?$CF08x?9?$DO@| [ DATA ] ; `string'
EXPORT |??_C@_0FF@CENHMBHN@Xllp_SuspendResume?3?5PCFR?$DNx?$CF08x?9?$DO@| [ DATA ] ; `string'
EXPORT |??_C@_0CH@FAPBJLBJ@?6?$AN?5To?5make?5an?5OS?5Timer?5Interrupt@| [ DATA ] ; `string'
EXPORT |??_C@_0FB@PJMJFBAP@Xllp_SuspendResume?3?5Wake?5Reason?3@| [ DATA ] ; `string'
EXPORT |??_C@_0CP@BGOGCDBF@Xllp_SuspendResume?3?5Exit?3?5?$CIentry@| [ DATA ] ; `string'
EXPORT |??_C@_0EL@PEHMOFJC@Xllp_SuspendResume?3?5Exit?3?5RCNR?$DNx@| [ DATA ] ; `string'
EXPORT |??_C@_0DF@HLFNJMBK@Xllp_SuspendResume?3?5Exit?3?5RYAR1?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0EB@BDGKFPCI@Xllp_SuspendResume?3?5Exit?3?5OSCR0?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0EP@KOJOJDEG@Xllp_SuspendResume?3?5Exit?3?5OMCR4?$DN@| [ DATA ] ; `string'
EXPORT |??_C@_0DA@MNHDJAII@Xllp_SuspendResume?3?5Exit2?3?5?$CIentr@| [ DATA ] ; `string'
EXPORT |Xllp_SuspendAndResume|
IMPORT |xllp_LogMessage|
IMPORT |Xllp_Get_ARM_CPSR|
IMPORT |Xllp_Set_ARM_CPSR|
IMPORT |Xllp_Get_ARM_SPSR|
IMPORT |Xllp_Set_ARM_SPSR|
IMPORT |Xllp_Get_ARM_SP|
IMPORT |Xllp_SuspendAndResumeA|
IMPORT |Xllp_SaveMSARMRegs|
IMPORT |Xllp_RestoreMSARMRegs|
IMPORT |Pcf506ClearAllInt|
IMPORT |OSD_DebugCommsResume|
IMPORT |OSD_ExecuteAfterAllResets|
IMPORT |Xllp_Set_CoProc_Access|
00004 AREA |.bss|, NOINIT
|PmuReg| % 0x18
|pPmuReg| % 0x4
00000 AREA |.text| { |Xllp_SuspendAndResume| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$Xllp_SuspendAndResume|, PDATA, SELECTION=5, ASSOC=|.text| { |Xllp_SuspendAndResume| } ; comdat associative
|$T2583| DCD |$L2582|
DCD 0x40021c02
00000 AREA |.rdata| { |??_C@_0FB@PJMJFBAP@Xllp_SuspendResume?3?5Wake?5Reason?3@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0FB@PJMJFBAP@Xllp_SuspendResume?3?5Wake?5Reason?3@| DCB "Xllp_Susp"
DCB "endResume: Wake Reason: PEDR=x%08x, PKSR=x%08x, ISCR=x%0"
DCB "8x, IER=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0CP@BGOGCDBF@Xllp_SuspendResume?3?5Exit?3?5?$CIentry@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CP@BGOGCDBF@Xllp_SuspendResume?3?5Exit?3?5?$CIentry@| DCB "Xllp_S"
DCB "uspendResume: Exit: (entry_CPSR=x%08x)", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0EL@PEHMOFJC@Xllp_SuspendResume?3?5Exit?3?5RCNR?$DNx@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0EL@PEHMOFJC@Xllp_SuspendResume?3?5Exit?3?5RCNR?$DNx@| DCB "Xllp_S"
DCB "uspendResume: Exit: RCNR=x%08x, RTAR=x%08x, RTSR=x%08x, "
DCB "PICR=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0DF@HLFNJMBK@Xllp_SuspendResume?3?5Exit?3?5RYAR1?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DF@HLFNJMBK@Xllp_SuspendResume?3?5Exit?3?5RYAR1?$DN@| DCB "Xllp_S"
DCB "uspendResume: Exit: RYAR1=x%08x, RDAR1=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0EB@BDGKFPCI@Xllp_SuspendResume?3?5Exit?3?5OSCR0?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0EB@BDGKFPCI@Xllp_SuspendResume?3?5Exit?3?5OSCR0?$DN@| DCB "Xllp_S"
DCB "uspendResume: Exit: OSCR0=x%08x, OSMR0=x%08x, OIER=x%08x"
DCB 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0EP@KOJOJDEG@Xllp_SuspendResume?3?5Exit?3?5OMCR4?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0EP@KOJOJDEG@Xllp_SuspendResume?3?5Exit?3?5OMCR4?$DN@| DCB "Xllp_S"
DCB "uspendResume: Exit: OMCR4=x%08x, OMCR5=x%08x, OMCR6=x%08"
DCB "x, OMCR7=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0DA@MNHDJAII@Xllp_SuspendResume?3?5Exit2?3?5?$CIentr@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DA@MNHDJAII@Xllp_SuspendResume?3?5Exit2?3?5?$CIentr@| DCB "Xllp_S"
DCB "uspendResume: Exit2: (entry_CPSR=x%08x)", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0CH@FAPBJLBJ@?6?$AN?5To?5make?5an?5OS?5Timer?5Interrupt@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CH@FAPBJLBJ@?6?$AN?5To?5make?5an?5OS?5Timer?5Interrupt@| DCB 0xa, 0xd
DCB " To make an OS Timer Interrupt dd ", 0xa, 0xd, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0CM@CPEIKGIJ@Xllp_SuspendResume?3?5BSP_MAINSTON@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CM@CPEIKGIJ@Xllp_SuspendResume?3?5BSP_MAINSTON@| DCB "Xllp_Suspen"
DCB "dResume: BSP_MAINSTONE defined", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0EN@OFCHHAJE@Xllp_SuspendResume?3?5Entry?3?5PCFR?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0EN@OFCHHAJE@Xllp_SuspendResume?3?5Entry?3?5PCFR?$DN@| DCB "Xllp_S"
DCB "uspendResume: Entry: PCFR==x%08x,OSCC==x%08x,CCSR==x%08x"
DCB ",CCCR==x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0EO@IPDFPBGF@Xllp_SuspendResume?3?5Entry?3?5CPSR?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0EO@IPDFPBGF@Xllp_SuspendResume?3?5Entry?3?5CPSR?$DN@| DCB "Xllp_S"
DCB "uspendResume: Entry: CPSR==x%08x, SPSR=x%08x, SP=x%08x, "
DCB "pBCRegS=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0EM@DFLLKJJB@Xllp_SuspendResume?3?5Entry?3?5RCNR?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0EM@DFLLKJJB@Xllp_SuspendResume?3?5Entry?3?5RCNR?$DN@| DCB "Xllp_S"
DCB "uspendResume: Entry: RCNR=x%08x, RTAR=x%08x, RTSR=x%08x,"
DCB " PICR=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0DG@NFDPLLBH@Xllp_SuspendResume?3?5Entry?3?5RYAR1@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DG@NFDPLLBH@Xllp_SuspendResume?3?5Entry?3?5RYAR1@| DCB "Xllp_Susp"
DCB "endResume: Entry: RYAR1=x%08x, RDAR1=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0EC@NLBGEJKB@Xllp_SuspendResume?3?5Entry?3?5OSCR0@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0EC@NLBGEJKB@Xllp_SuspendResume?3?5Entry?3?5OSCR0@| DCB "Xllp_Susp"
DCB "endResume: Entry: OSCR0=x%08x, OSMR0=x%08x, OIER=x%08x", 0xd
DCB 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0FA@NNCKJJFE@Xllp_SuspendResume?3?5Entry?3?5OSMR0@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0FA@NNCKJJFE@Xllp_SuspendResume?3?5Entry?3?5OSMR0@| DCB "Xllp_Susp"
DCB "endResume: Entry: OSMR0=x%08x, OSMR1=x%08x, OSMR2=x%08x,"
DCB " OSMR3=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0FA@LMDOHGKF@Xllp_SuspendResume?3?5Entry?3?5OSMR4@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0FA@LMDOHGKF@Xllp_SuspendResume?3?5Entry?3?5OSMR4@| DCB "Xllp_Susp"
DCB "endResume: Entry: OSMR4=x%08x, OSMR5=x%08x, OSMR6=x%08x,"
DCB " OSMR7=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0FC@BKHKIANA@Xllp_SuspendResume?3?5Entry?3?5OSMR8@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0FC@BKHKIANA@Xllp_SuspendResume?3?5Entry?3?5OSMR8@| DCB "Xllp_Susp"
DCB "endResume: Entry: OSMR8=x%08x, OSMR9=x%08x, OSMR10=x%08x"
DCB ", OSMR11=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0DN@ENBKAJIG@Xllp_SuspendResume?3?5Entry?3?5Resum@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DN@ENBKAJIG@Xllp_SuspendResume?3?5Entry?3?5Resum@| DCB "Xllp_Susp"
DCB "endResume: Entry: ResumePhase2Data @ x%08x->x%08x", 0xd, 0xa
DCB 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0DE@BABMLOJA@Xllp_SuspendResume?3?5Entry?3?5ICPR?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DE@BABMLOJA@Xllp_SuspendResume?3?5Entry?3?5ICPR?$DN@| DCB "Xllp_S"
DCB "uspendResume: Entry: ICPR=x%08x, ICMR=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0DE@LGBPNLIP@Xllp_SuspendResume?3?5Entry?3?5IMER?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DE@LGBPNLIP@Xllp_SuspendResume?3?5Entry?3?5IMER?$DN@| DCB "Xllp_S"
DCB "uspendResume: Entry: IMER=x%08x, ISCR=x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0DJ@HLEJOCGD@Xllp_SuspendResume?3?5mode?5specifi@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DJ@HLEJOCGD@Xllp_SuspendResume?3?5mode?5specifi@| DCB "Xllp_Suspe"
DCB "ndResume: mode specific core registers saved", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0GB@MPMLBGEH@Xllp_SuspendResume?3?5PWER?$DNx?$CF08x?9?$DO@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0GB@MPMLBGEH@Xllp_SuspendResume?3?5PWER?$DNx?$CF08x?9?$DO@| DCB "X"
DCB "llp_SuspendResume: PWER=x%08x->x%08x, PRER=x%08x->x%08x,"
DCB " PFER=x%08x->x%08x, PKWR=x%08x->x%08x", 0xd, 0xa, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_0FF@CENHMBHN@Xllp_SuspendResume?3?5PCFR?$DNx?$CF08x?9?$DO@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0FF@CENHMBHN@Xllp_SuspendResume?3?5PCFR?$DNx?$CF08x?9?$DO@| DCB "X"
DCB "llp_SuspendResume: PCFR=x%08x->x%08x, PSLR=x%08x->x%08x,"
DCB " PSSR=0x%08x, PMCR=0x%08x", 0xd, 0xa, 0x0 ; `string'
; Function compile flags: /Ogsy
00000 AREA |.text| { |Xllp_SuspendAndResume| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |Xllp_SuspendAndResume| PROC
; 458 : {
00000 |$L2582|
00000 e92d4ff0 stmdb sp!, {r4 - r11, lr}
00004 e24dd014 sub sp, sp, #0x14
00008 |$M2580|
00008 e1a07000 mov r7, r0
; 459 : // This routine is called from a priveledged mode (eg. SVC, SYS).
; 460 : // Stack space is therefore limited.
; 461 : // Since this routine does/should not need to be re-entrant most variables are static.
; 462 : //if(OST0_MAXCount == 1000)
; 463 : // DBGMSG(("OST0_MAXCount == 1000\r\n"));
; 464 : //OST0_MAXCount = 1;
; 465 :
; 466 : entry_CPSR = Xllp_Get_ARM_CPSR();
0000c eb000000 bl Xllp_Get_ARM_CPSR
00010 e59fb854 ldr r11, [pc, #0x854]
00014 e1a03000 mov r3, r0
; 467 : // Make sure all interrupts are disabled
; 468 : Xllp_Set_ARM_CPSR(entry_CPSR | (XLLP_CPSR_I_bit | XLLP_CPSR_F_bit));
00018 e38300c0 orr r0, r3, #0xC0
0001c e58b3000 str r3, [r11]
00020 eb000000 bl Xllp_Set_ARM_CPSR
; 469 :
; 470 : entry_SPSR = Xllp_Get_ARM_SPSR();
00024 eb000000 bl Xllp_Get_ARM_SPSR
00028 e59f372c ldr r3, [pc, #0x72C]
0002c e5830000 str r0, [r3]
; 471 : entry_SP = Xllp_Get_ARM_SP(); // This is only for debugging
00030 eb000000 bl Xllp_Get_ARM_SP
00034 e59f582c ldr r5, [pc, #0x82C]
; 472 :
; 473 : // Get OS dependent addresses passed in
; 474 : pMEMCRegs = (XLLP_MEMORY_CONTROL_REGISTER_T *)pOSDAddr->pMEMCRegs;
00038 e59f97b0 ldr r9, [pc, #0x7B0]
; 475 : pRTCRegs = (XLLP_RTC_T *)pOSDAddr->pRTCRegs;
0003c e59f2730 ldr r2, [pc, #0x730]
00040 e5850000 str r0, [r5]
00044 e5973034 ldr r3, [r7, #0x34]
; 476 : pOSTRegs = (XLLP_OST_T *)pOSDAddr->pOSTRegs;
00048 e59fa814 ldr r10, [pc, #0x814]
; 477 : pGPIORegs = (XLLP_GPIO_T *)pOSDAddr->pGPIORegs;
0004c e59fe74c ldr lr, [pc, #0x74C]
00050 e5893000 str r3, [r9]
00054 e5973004 ldr r3, [r7, #4]
; 478 : pINTCRegs = (XLLP_INTC_T *)pOSDAddr->pINTCRegs;
00058 e59f873c ldr r8, [pc, #0x73C]
; 479 : pPWRRegs = (XLLP_PWRMGR_T *)pOSDAddr->pPWRRegs;
0005c e59f0780 ldr r0, [pc, #0x780]
00060 e5823000 str r3, [r2]
00064 e597400c ldr r4, [r7, #0xC]
; 480 : pCLKRegs = (XLLP_CLKMGR_T *)pOSDAddr->pCLKRegs;
00068 e59f9734 ldr r9, [pc, #0x734]
; 481 : pI2CRegs = (XLLP_I2C_T *)pOSDAddr->pI2CRegs;
0006c e59f27ec ldr r2, [pc, #0x7EC]
00070 e58a4000 str r4, [r10]
00074 e5973014 ldr r3, [r7, #0x14]
; 482 :
; 483 : PmuReg.ic_reg_base = (XLLP_INTC_T *) pOSDAddr->pINTCRegs;
; 484 : PmuReg.gpio_reg_base = (XLLP_GPIO_T *) pOSDAddr->pGPIORegs;
; 485 : PmuReg.ost_reg_base = (XLLP_OST_T *) pOSDAddr->pOSTRegs;
; 486 : PmuReg.pi2c_reg_base = (XLLP_PI2C_T *) pOSDAddr->pPWRRegs;
; 487 : PmuReg.clk_reg_base = (XLLP_CLKMGR_T *) pOSDAddr->pCLKRegs;
; 488 : PmuReg.mem_regbase = (XLLP_MEMORY_CONTROL_REGISTER_T *)pOSDAddr->pMEMCRegs;
; 489 : pPmuReg=&PmuReg;
; 490 :
; 491 :
; 492 : #ifdef BSP_MAINSTONE
; 493 : pBCRegs = (XLLP_BCR_T *)pOSDAddr->pBCRegs;
00078 e59f67dc ldr r6, [pc, #0x7DC]
; 494 : #endif // BSP_MAINSTONE
; 495 :
; 496 : pRestartData = (RESTART_DATA_T *)pOSDAddr->pRestartData;
; 497 : pResumePhase2Data = (RESUMEPHASE2_DATA_T *)&(pRestartData->RESUME_DATA[0]);
; 498 : ResumePhase2DataPA = (XLLP_UINT32_T)&(((RESTART_DATA_T *)(pOSDAddr->RestartDataPA))->RESUME_DATA[0]);
; 499 :
; 500 : #ifdef BSP_MAINSTONE
; 501 : pBCRegS = pBCRegs; // local static copy for HexLed functions
; 502 : #endif // BSP_MAINSTONE
; 503 : //entry_hexleds = GetHexLeds();
; 504 : //SetHexLeds(0xce050000);
; 505 : // How OST registers should be handled across suspend/resume is in doubt.
; 506 : // In general, it seems pointless to restore them to their pre-suspend state.
; 507 : // This will probably be OS dependent.
; 508 : // Currently...
; 509 : // WinCE seems to only use OSCR0 and seems to require an interrupt be generated on wakeup.
; 510 : entry_OSCR0 = pOSTRegs->oscr0;
0007c e59f17d4 ldr r1, [pc, #0x7D4]
00080 e58e3000 str r3, [lr]
00084 e597301c ldr r3, [r7, #0x1C]
00088 e59fe7c4 ldr lr, [pc, #0x7C4]
0008c e5883000 str r3, [r8]
00090 e5973024 ldr r3, [r7, #0x24]
00094 e59f87b4 ldr r8, [pc, #0x7B4]
00098 e5803000 str r3, [r0]
0009c e597302c ldr r3, [r7, #0x2C]
; 511 : entry_OSMR0 = pOSTRegs->osmr0;
; 512 : entry_OIER = pOSTRegs->oier;
; 513 :
; 514 : #ifdef BSP_MAINSTONE
; 515 : DBGMSG(("Xllp_SuspendResume: BSP_MAINSTONE defined\r\n"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -