⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 idle.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 3 页
字号:
  00084	e5996000	 ldr         r6, [r9]

; 221  : 
; 222  :         //
; 223  :         // Power down the clocks as much as possible.
; 224  :         //
; 225  :         *CSC_SYSLOCK                    = 0xAA;
; 226  :         *CSC_PWRCNT                     = 0;
; 227  : 
; 228  :         *CSC_SYSLOCK                    = 0xAA;
; 229  :         *CSC_DEVCFG                     = (ulCscDevCfg & 
; 230  :                                           ~(DEVCFG_KEYS | DEVCFG_ADCPD | DEVCFG_RAS  |
; 231  :                                             DEVCFG_TIN  | DEVCFG_U1EN  | DEVCFG_U2EN |
; 232  :                                             DEVCFG_U3EN)) | DEVCFG_SHENA;

  00088	e59f3190	 ldr         r3, [pc, #0x190]
  0008c	e584e000	 str         lr, [r4]
  00090	e5882000	 str         r2, [r8]
  00094	e0063003	 and         r3, r6, r3

; 233  : 
; 234  :         *CSC_SYSLOCK                    = 0xAA;
; 235  :         *CSC_CLKSET2                    = CLKSET2_VALUE & ~( CLKSET2_PLL2_EN | CLKSET2_PLL2_NBYP);

  00098	e59f217c	 ldr         r2, [pc, #0x17C]
  0009c	e3833001	 orr         r3, r3, #1
  000a0	e584e000	 str         lr, [r4]
  000a4	e5893000	 str         r3, [r9]
  000a8	e584e000	 str         lr, [r4]

; 236  : 
; 237  :         *SDRAM_REFRESH                  = SDRAM_14MHZ_REFRESH_VALUE;
; 238  : 
; 239  : 
; 240  :         *CSC_SYSLOCK                    = 0xAA;
; 241  :         *CSC_CLKSET1                    = CLKSET1_VALUE & ~CLKSET1_PLL1_NBYP;

  000ac	e59f3164	 ldr         r3, [pc, #0x164]
  000b0	e58b2000	 str         r2, [r11]
  000b4	e3a02070	 mov         r2, #0x70
  000b8	e5812000	 str         r2, [r1]
  000bc	e584e000	 str         lr, [r4]
  000c0	e5803000	 str         r3, [r0]

; 242  : 
; 243  :         //
; 244  :         // Flush the pipeline.
; 245  :         //    
; 246  :         __emit(0xe1a00000);

  000c4	e1a00000	 mov         r0, r0

; 247  :         __emit(0xe1a00000);

  000c8	e1a00000	 mov         r0, r0

; 248  :         __emit(0xe1a00000);

  000cc	e1a00000	 mov         r0, r0

; 249  :         __emit(0xe1a00000);

  000d0	e1a00000	 mov         r0, r0

; 250  :         __emit(0xe1a00000);

  000d4	e1a00000	 mov         r0, r0

; 251  :         __emit(0xe1a00000);

  000d8	e1a00000	 mov         r0, r0
  000dc	e3a02000	 mov         r2, #0
  000e0	ea000001	 b           |$L14383|
  000e4		 |$L14509|
  000e4	e59d7000	 ldr         r7, [sp]
  000e8	e59d6000	 ldr         r6, [sp]
  000ec		 |$L14383|

; 252  :     }
; 253  : 
; 254  : 
; 255  :     gfResumeFlag = FALSE;

  000ec	e59f5120	 ldr         r5, [pc, #0x120]
  000f0	e5852000	 str         r2, [r5]

; 256  : 
; 257  :     INTERRUPTS_ON();

  000f4	eb000000	 bl          INTERRUPTS_ON

; 258  : 
; 259  : 	dwTimeValueWhenSuspend= *RTC_DR;// *TIM_DEBUGVALUELOW;

  000f8	e3a0320b	 mov         r3, #0xB, 4
  000fc	e3833892	 orr         r3, r3, #0x92, 16
  00100	e5933000	 ldr         r3, [r3]
  00104	e59f2104	 ldr         r2, [pc, #0x104]
  00108	e5823000	 str         r3, [r2]

; 260  : 
; 261  :     while(!gfResumeFlag)

  0010c	ea000006	 b           |$L14400|
  00110		 |$L14397|

; 262  :     {
; 263  : 
; 264  :         if(gulCS8950KitlUsed)

  00110	e59a3000	 ldr         r3, [r10]
  00114	e3530000	 cmp         r3, #0
  00118	0a000002	 beq         |$L14399|

; 265  :         {
; 266  :             CPUEnterIdle(0);

  0011c	e3a00000	 mov         r0, #0
  00120	eb000000	 bl          CPUEnterIdle

; 267  :         }
; 268  :         else

  00124	ea000000	 b           |$L14400|
  00128		 |$L14399|

; 269  :         {
; 270  : 			EnterStandbyMode( );

  00128	eb000000	 bl          EnterStandbyMode
  0012c		 |$L14400|

; 260  : 
; 261  :     while(!gfResumeFlag)

  0012c	e5953000	 ldr         r3, [r5]
  00130	e3530000	 cmp         r3, #0
  00134	0afffff5	 beq         |$L14397|

; 271  :             //ulTemp = *CSC_STBY;
; 272  :         }
; 273  :     }
; 274  : 
; 275  :     INTERRUPTS_OFF();

  00138	eb000000	 bl          INTERRUPTS_OFF

; 276  : 
; 277  :     //
; 278  :     // Check to see if there is a kitl connection.  If so then 
; 279  :     // keep the clocks on.
; 280  :     //
; 281  :     if(!gulCS8950KitlUsed)

  0013c	e59a3000	 ldr         r3, [r10]
  00140	e3530000	 cmp         r3, #0
  00144	1a000014	 bne         |$L14401|

; 282  :     {
; 283  :         //
; 284  :         // Power down the system clocks here.
; 285  :         //
; 286  :         *CSC_SYSLOCK                    = 0xAA;
; 287  :         *CSC_CLKSET1                    = CLKSET1_VALUE;

  00148	e59f30bc	 ldr         r3, [pc, #0xBC]
  0014c	e59f20b4	 ldr         r2, [pc, #0xB4]
  00150	e3a000aa	 mov         r0, #0xAA
  00154	e5840000	 str         r0, [r4]
  00158	e5823000	 str         r3, [r2]

; 288  : 
; 289  :         //
; 290  :         // Flush the pipeline.
; 291  :         //    
; 292  :         __emit(0xe1a00000);

  0015c	e1a00000	 mov         r0, r0

; 293  :         __emit(0xe1a00000);

  00160	e1a00000	 mov         r0, r0

; 294  :         __emit(0xe1a00000);

  00164	e1a00000	 mov         r0, r0

; 295  :         __emit(0xe1a00000);

  00168	e1a00000	 mov         r0, r0

; 296  :         __emit(0xe1a00000);

  0016c	e1a00000	 mov         r0, r0

; 297  :         __emit(0xe1a00000);

  00170	e1a00000	 mov         r0, r0

; 298  : 
; 299  :         *SDRAM_REFRESH                  = SDRAM_REFRESH_VALUE;
; 300  : 
; 301  : 
; 302  :         *CSC_SYSLOCK                    = 0xAA;
; 303  :         *CSC_CLKSET2                    = CLKSET2_VALUE;

  00174	e59f2088	 ldr         r2, [pc, #0x88]
  00178	e59f3080	 ldr         r3, [pc, #0x80]
  0017c	e3a01fc6	 mov         r1, #0xC6, 30
  00180	e5821000	 str         r1, [r2]
  00184	e5840000	 str         r0, [r4]
  00188	e58b3000	 str         r3, [r11]

; 304  :                                           
; 305  :         *CSC_SYSLOCK                    = 0xAA;

  0018c	e5840000	 str         r0, [r4]

; 306  :         *CSC_DEVCFG                     = ulCscDevCfg;

  00190	e5896000	 str         r6, [r9]

; 307  : 
; 308  :         *CSC_SYSLOCK                    = 0xAA;

  00194	e5840000	 str         r0, [r4]

; 309  :         *CSC_PWRCNT                     = ulCscPwrCnt;

  00198	e5887000	 str         r7, [r8]
  0019c		 |$L14401|

; 310  :     }
; 311  : 
; 312  :     //
; 313  :     // Restore the original interupt mask.
; 314  :     //
; 315  :     *VIC1_INTCLEAR  = 0xFFFFFFFF;
; 316  :     *VIC2_INTCLEAR  = 0xFFFFFFFF;
; 317  :     *VIC1_INTENABLE = gdwInterruptMask1 | INT1_TIMER1;

  0019c	e59f2058	 ldr         r2, [pc, #0x58]
  001a0	e3e01000	 mvn         r1, #0
  001a4	e59f304c	 ldr         r3, [pc, #0x4C]
  001a8	e5821000	 str         r1, [r2]
  001ac	e59f2040	 ldr         r2, [pc, #0x40]
  001b0	e3e01000	 mvn         r1, #0
  001b4	e5821000	 str         r1, [r2]
  001b8	e5933000	 ldr         r3, [r3]

; 318  :     *VIC2_INTENABLE = gdwInterruptMask2;

  001bc	e59f102c	 ldr         r1, [pc, #0x2C]
  001c0	e59f2024	 ldr         r2, [pc, #0x24]
  001c4	e3833010	 orr         r3, r3, #0x10
  001c8	e5813000	 str         r3, [r1]
  001cc	e5923000	 ldr         r3, [r2]
  001d0	e59f2010	 ldr         r2, [pc, #0x10]
  001d4	e5823000	 str         r3, [r2]

; 319  : 
; 320  :     INTERRUPTS_ON();

  001d8	eb000000	 bl          INTERRUPTS_ON

; 321  : }

  001dc	e28dd004	 add         sp, sp, #4
  001e0	e8bd4ff0	 ldmia       sp!, {r4 - r11, lr}
  001e4	e12fff1e	 bx          lr
  001e8		 |$L14518|
  001e8	b00c0010	 DCD         0xb00c0010
  001ec	00000000	 DCD         |gdwInterruptMask2|
  001f0	b00b0010	 DCD         0xb00b0010
  001f4	b00c0014	 DCD         0xb00c0014
  001f8	00000000	 DCD         |gdwInterruptMask1|
  001fc	b00b0014	 DCD         0xb00b0014
  00200	300dc317	 DCD         0x300dc317
  00204	b0060008	 DCD         0xb0060008
  00208	b0930020	 DCD         0xb0930020
  0020c	02a4a3d7	 DCD         0x2a4a3d7
  00210	00000000	 DCD         |dwTimeValueWhenSuspend|
  00214	00000000	 DCD         |gfResumeFlag|
  00218	0224a3d7	 DCD         0x224a3d7
  0021c	3001c317	 DCD         0x3001c317
  00220	fee9fff1	 DCD         0xfee9fff1
  00224	b0930024	 DCD         0xb0930024
  00228	b09300c0	 DCD         0xb09300c0
  0022c	b0930080	 DCD         0xb0930080
  00230	b0930004	 DCD         0xb0930004
  00234	00000000	 DCD         |gdwInterruptWakeMask2|
  00238	00000000	 DCD         |gulCS8950KitlUsed|
  0023c	00000000	 DCD         |gdwInterruptWakeMask1|
  00240	00000000	 DCD         |??_C@_1BM@FCDOICL@?$AAO?$AAE?$AAM?$AAP?$AAo?$AAw?$AAe?$AAr?$AAO?$AAf?$AAf?$AA?$AN?$AA?6?$AA?$AA@|
  00244		 |$M14514|

			 ENDP  ; |OEMPowerOff|

	EXPORT	|OEMPowerManagerInit|
	IMPORT	|gfSysIntrWakeupMask|

  00000			 AREA	 |.text| { |OEMPowerManagerInit| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$OEMPowerManagerInit|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMPowerManagerInit| } ; comdat associative
|$T14529| DCD	|$L14528|
	DCD	0x40001301
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |OEMPowerManagerInit| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |OEMPowerManagerInit| PROC

; 332  : {

  00000		 |$L14528|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M14526|

; 333  :     int ulInt;
; 334  :     for(ulInt = 0; ulInt < SYSINTR_MAXIMUM ; ulInt++)

  00004	e59f103c	 ldr         r1, [pc, #0x3C]
  00008	e3a02000	 mov         r2, #0
  0000c	e3a0e000	 mov         lr, #0
  00010		 |$L14419|

; 335  :     {
; 336  :         gfSysIntrWakeupMask[ ulInt ]  = 0;

  00010	e0823001	 add         r3, r2, r1
  00014	e2822001	 add         r2, r2, #1
  00018	e3520048	 cmp         r2, #0x48
  0001c	e5c3e000	 strb        lr, [r3]
  00020	bafffffa	 blt         |$L14419|

; 337  :     }
; 338  : 
; 339  :     //
; 340  :     // Clear the interrupt wake mask
; 341  :     //
; 342  :     gdwInterruptWakeMask1   = 0 ; 

  00024	e59f3018	 ldr         r3, [pc, #0x18]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -