📄 lowpower.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\lowpower.o --depend=.\Obj\lowpower.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\SRAM -I"D:\Program Files\MDK KEIL\ARM\INC\ST\STM32F10x" -D__MICROLIB --omf_browse=.\Obj\lowpower.crf ..\..\source\lowpower.c]
THUMB
AREA ||i.LowPower_Init||, CODE, READONLY, ALIGN=1
LowPower_Init PROC
;;;42 void LowPower_Init(void)
;;;43 {
000000 b510 PUSH {r4,lr}
;;;44 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
000002 2101 MOVS r1,#1
000004 0708 LSLS r0,r1,#28
000006 f7fff7ff BL RCC_APB1PeriphClockCmd
;;;45
;;;46 /* Enable WakeUp pin */
;;;47 PWR_WakeUpPinCmd(ENABLE);
00000a 2001 MOVS r0,#1
00000c f7fff7ff BL PWR_WakeUpPinCmd
;;;48
;;;49 /* Enable Clock Security System(CSS) */
;;;50 RCC_ClockSecuritySystemCmd(ENABLE);
000010 e8bde8bd POP {r4,lr}
000014 2001 MOVS r0,#1
000016 f7fff7ff B.W RCC_ClockSecuritySystemCmd
;;;51 }
;;;52
ENDP
AREA ||i.SYSCLKConfig_STOP||, CODE, READONLY, ALIGN=2
SYSCLKConfig_STOP PROC
;;;61 void SYSCLKConfig_STOP(void)
;;;62 {
000000 b510 PUSH {r4,lr}
;;;63 ErrorStatus HSEStartUpStatus;
;;;64
;;;65 /* Enable HSE */
;;;66 RCC_HSEConfig(RCC_HSE_ON);
000002 f44ff44f MOV r0,#0x10000
000006 f7fff7ff BL RCC_HSEConfig
;;;67
;;;68 /* Wait till HSE is ready */
;;;69 HSEStartUpStatus = RCC_WaitForHSEStartUp();
00000a f7fff7ff BL RCC_WaitForHSEStartUp
;;;70
;;;71 if(HSEStartUpStatus == SUCCESS)
00000e 2801 CMP r0,#1
000010 d10e BNE |L2.48|
;;;72 {
;;;73 /* Enable PLL */
;;;74 RCC_PLLCmd(ENABLE);
000012 f7fff7ff BL RCC_PLLCmd
|L2.22|
;;;75
;;;76 /* Wait till PLL is ready */
;;;77 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
000016 2039 MOVS r0,#0x39
000018 f7fff7ff BL RCC_GetFlagStatus
00001c 2800 CMP r0,#0
00001e d0fa BEQ |L2.22|
;;;78 {
;;;79 }
;;;80
;;;81 /* Select PLL as system clock source */
;;;82 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000020 2002 MOVS r0,#2
000022 f7fff7ff BL RCC_SYSCLKConfig
;;;83
;;;84 /* Wait till PLL is used as system clock source */
;;;85 while(RCC_GetSYSCLKSource() != 0x08)
000026 bf00 NOP
|L2.40|
000028 f7fff7ff BL RCC_GetSYSCLKSource
00002c 2808 CMP r0,#8
00002e d1fb BNE |L2.40|
|L2.48|
;;;86 {
;;;87 }
;;;88 }
;;;89 }
000030 bd10 POP {r4,pc}
;;;90
ENDP
AREA ||i.GPIO_RestoreConfig||, CODE, READONLY, ALIGN=2
GPIO_RestoreConfig PROC
;;;445 {
;;;446 GPIOA->CRL = GPIOA_CRL;
000000 4814 LDR r0,|L3.84|
000002 4915 LDR r1,|L3.88|
000004 6842 LDR r2,[r0,#4] ; GPIOA_CRL
000006 600a STR r2,[r1,#0]
;;;447 GPIOA->CRH = GPIOA_CRH;
000008 6882 LDR r2,[r0,#8] ; GPIOA_CRH
00000a 604a STR r2,[r1,#4]
;;;448
;;;449 GPIOB->CRL = GPIOB_CRL;
00000c 68c2 LDR r2,[r0,#0xc] ; GPIOB_CRL
00000e f8c1f8c1 STR r2,[r1,#0x400]
;;;450 GPIOB->CRH = GPIOB_CRH;
000012 6902 LDR r2,[r0,#0x10] ; GPIOB_CRH
000014 f8c1f8c1 STR r2,[r1,#0x404]
;;;451
;;;452 GPIOC->CRL = GPIOC_CRL;
000018 4910 LDR r1,|L3.92|
00001a 6942 LDR r2,[r0,#0x14] ; GPIOC_CRL
00001c 600a STR r2,[r1,#0]
;;;453 GPIOC->CRH = GPIOC_CRH;
00001e 6982 LDR r2,[r0,#0x18] ; GPIOC_CRH
000020 604a STR r2,[r1,#4]
;;;454
;;;455 GPIOD->CRL = GPIOD_CRL;
000022 69c2 LDR r2,[r0,#0x1c] ; GPIOD_CRL
000024 f8c1f8c1 STR r2,[r1,#0x400]
;;;456 GPIOD->CRH = GPIOD_CRH;
000028 6a02 LDR r2,[r0,#0x20] ; GPIOD_CRH
00002a f8c1f8c1 STR r2,[r1,#0x404]
;;;457
;;;458 GPIOE->CRL = GPIOE_CRL;
00002e 6a42 LDR r2,[r0,#0x24] ; GPIOE_CRL
000030 f8c1f8c1 STR r2,[r1,#0x800]
;;;459 GPIOE->CRH = GPIOE_CRH;
000034 6a82 LDR r2,[r0,#0x28] ; GPIOE_CRH
000036 f8c1f8c1 STR r2,[r1,#0x804]
;;;460
;;;461 GPIOF->CRL = GPIOF_CRL;
00003a 6ac2 LDR r2,[r0,#0x2c] ; GPIOF_CRL
00003c f8c1f8c1 STR r2,[r1,#0xc00]
;;;462 GPIOF->CRH = GPIOF_CRH;
000040 6b02 LDR r2,[r0,#0x30] ; GPIOF_CRH
000042 f8c1f8c1 STR r2,[r1,#0xc04]
;;;463
;;;464 GPIOG->CRL = GPIOG_CRL;
000046 4906 LDR r1,|L3.96|
000048 6b42 LDR r2,[r0,#0x34] ; GPIOG_CRL
00004a 600a STR r2,[r1,#0]
;;;465 GPIOG->CRH = GPIOG_CRH;
00004c 6b80 LDR r0,[r0,#0x38] ; GPIOG_CRH
00004e 6048 STR r0,[r1,#4]
;;;466 }
000050 4770 BX lr
;;;467
ENDP
000052 0000 DCW 0x0000
|L3.84|
000054 00000000 DCD ||.data||
|L3.88|
000058 40010800 DCD 0x40010800
|L3.92|
00005c 40011000 DCD 0x40011000
|L3.96|
000060 40012000 DCD 0x40012000
AREA ||i.GPIO_SaveConfig||, CODE, READONLY, ALIGN=2
GPIO_SaveConfig PROC
;;;400 static void GPIO_SaveConfig(void)
;;;401 {
000000 b538 PUSH {r3-r5,lr}
000002 4926 LDR r1,|L4.156|
;;;402 GPIO_InitTypeDef GPIO_InitStructure;
;;;403
;;;404 GPIOA_CRL = GPIOA->CRL;
000004 680a LDR r2,[r1,#0]
000006 4826 LDR r0,|L4.160|
;;;405 GPIOA_CRH = GPIOA->CRH;
000008 6042 STR r2,[r0,#4] ; GPIOA_CRL
00000a 684a LDR r2,[r1,#4]
;;;406
;;;407 GPIOB_CRL = GPIOB->CRL;
00000c 6082 STR r2,[r0,#8] ; GPIOA_CRH
00000e f8d1f8d1 LDR r2,[r1,#0x400]
;;;408 GPIOB_CRH = GPIOB->CRH;
000012 60c2 STR r2,[r0,#0xc] ; GPIOB_CRL
000014 f8d1f8d1 LDR r1,[r1,#0x404]
;;;409
;;;410 GPIOC_CRL = GPIOC->CRL;
000018 4c22 LDR r4,|L4.164|
00001a 6101 STR r1,[r0,#0x10] ; GPIOB_CRH
00001c 6821 LDR r1,[r4,#0]
;;;411 GPIOC_CRH = GPIOC->CRH;
00001e 6141 STR r1,[r0,#0x14] ; GPIOC_CRL
000020 6861 LDR r1,[r4,#4]
;;;412
;;;413 GPIOD_CRL = GPIOD->CRL;
000022 6181 STR r1,[r0,#0x18] ; GPIOC_CRH
000024 f8d4f8d4 LDR r1,[r4,#0x400]
;;;414 GPIOD_CRH = GPIOD->CRH;
000028 61c1 STR r1,[r0,#0x1c] ; GPIOD_CRL
00002a f8d4f8d4 LDR r1,[r4,#0x404]
;;;415
;;;416 GPIOE_CRL = GPIOE->CRL;
00002e 6201 STR r1,[r0,#0x20] ; GPIOD_CRH
000030 f8d4f8d4 LDR r1,[r4,#0x800]
;;;417 GPIOE_CRH = GPIOE->CRH;
000034 6241 STR r1,[r0,#0x24] ; GPIOE_CRL
000036 f8d4f8d4 LDR r1,[r4,#0x804]
;;;418
;;;419 GPIOF_CRL = GPIOF->CRL;
00003a 6281 STR r1,[r0,#0x28] ; GPIOE_CRH
00003c f8d4f8d4 LDR r1,[r4,#0xc00]
;;;420 GPIOF_CRH = GPIOF->CRH;
000040 62c1 STR r1,[r0,#0x2c] ; GPIOF_CRL
000042 f8d4f8d4 LDR r1,[r4,#0xc04]
;;;421
;;;422 GPIOG_CRL = GPIOG->CRL;
000046 4d18 LDR r5,|L4.168|
000048 6301 STR r1,[r0,#0x30] ; GPIOF_CRH
00004a 6829 LDR r1,[r5,#0]
;;;423 GPIOG_CRH = GPIOG->CRH;
00004c 6341 STR r1,[r0,#0x34] ; GPIOG_CRL
00004e 6869 LDR r1,[r5,#4]
;;;424
;;;425 /* Configure all GPIO port pins in Analog Input mode (floating input trigger OFF) */
;;;426 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
000050 6381 STR r1,[r0,#0x38] ; GPIOG_CRH
000052 f64ff64f MOV r0,#0xffff
000056 f8adf8ad STRH r0,[sp,#0]
;;;427 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
00005a 2000 MOVS r0,#0
00005c f88df88d STRB r0,[sp,#3]
;;;428 GPIO_Init(GPIOA, &GPIO_InitStructure);
000060 4669 MOV r1,sp
000062 480e LDR r0,|L4.156|
000064 f7fff7ff BL GPIO_Init
;;;429 GPIO_Init(GPIOB, &GPIO_InitStructure);
000068 4669 MOV r1,sp
00006a 4810 LDR r0,|L4.172|
00006c f7fff7ff BL GPIO_Init
;;;430 GPIO_Init(GPIOC, &GPIO_InitStructure);
000070 4669 MOV r1,sp
000072 4620 MOV r0,r4
000074 f7fff7ff BL GPIO_Init
;;;431 GPIO_Init(GPIOD, &GPIO_InitStructure);
000078 4669 MOV r1,sp
00007a 480d LDR r0,|L4.176|
00007c f7fff7ff BL GPIO_Init
;;;432 GPIO_Init(GPIOE, &GPIO_InitStructure);
000080 4669 MOV r1,sp
000082 480c LDR r0,|L4.180|
000084 f7fff7ff BL GPIO_Init
;;;433 GPIO_Init(GPIOF, &GPIO_InitStructure);
000088 4669 MOV r1,sp
00008a 480b LDR r0,|L4.184|
00008c f7fff7ff BL GPIO_Init
;;;434 GPIO_Init(GPIOG, &GPIO_InitStructure);
000090 4669 MOV r1,sp
000092 4628 MOV r0,r5
000094 f7fff7ff BL GPIO_Init
;;;435 }
000098 bd38 POP {r3-r5,pc}
;;;436
ENDP
00009a 0000 DCW 0x0000
|L4.156|
00009c 40010800 DCD 0x40010800
|L4.160|
0000a0 00000000 DCD ||.data||
|L4.164|
0000a4 40011000 DCD 0x40011000
|L4.168|
0000a8 40012000 DCD 0x40012000
|L4.172|
0000ac 40010c00 DCD 0x40010c00
|L4.176|
0000b0 40011400 DCD 0x40011400
|L4.180|
0000b4 40011800 DCD 0x40011800
|L4.184|
0000b8 40011c00 DCD 0x40011c00
AREA ||i.EnterSTOPMode_EXTI||, CODE, READONLY, ALIGN=2
EnterSTOPMode_EXTI PROC
;;;99 void EnterSTOPMode_EXTI(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -