📄 lowpower.txt
字号:
000052 0000 DCW 0x0000
|L5.84|
DCD ||.data||
|L5.88|
DCD 0x40010800
|L5.92|
DCD 0x40011000
|L5.96|
DCD 0x40012000
AREA ||i.GPIO_SaveConfig||, CODE, READONLY, ALIGN=2
GPIO_SaveConfig PROC
;;;399 *******************************************************************************/
;;;400 static void GPIO_SaveConfig(void)
000000 b538 PUSH {r3-r5,lr}
;;;401 {
000002 4926 LDR r1,|L6.156|
;;;402 GPIO_InitTypeDef GPIO_InitStructure;
;;;403
;;;404 GPIOA_CRL = GPIOA->CRL;
000004 680a LDR r2,[r1,#0]
000006 4826 LDR r0,|L6.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 f8d12400 LDR r2,[r1,#0x400]
;;;408 GPIOB_CRH = GPIOB->CRH;
000012 60c2 STR r2,[r0,#0xc] ; GPIOB_CRL
000014 f8d11404 LDR r1,[r1,#0x404]
;;;409
;;;410 GPIOC_CRL = GPIOC->CRL;
000018 4c22 LDR r4,|L6.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 f8d41400 LDR r1,[r4,#0x400]
;;;414 GPIOD_CRH = GPIOD->CRH;
000028 61c1 STR r1,[r0,#0x1c] ; GPIOD_CRL
00002a f8d41404 LDR r1,[r4,#0x404]
;;;415
;;;416 GPIOE_CRL = GPIOE->CRL;
00002e 6201 STR r1,[r0,#0x20] ; GPIOD_CRH
000030 f8d41800 LDR r1,[r4,#0x800]
;;;417 GPIOE_CRH = GPIOE->CRH;
000034 6241 STR r1,[r0,#0x24] ; GPIOE_CRL
000036 f8d41804 LDR r1,[r4,#0x804]
;;;418
;;;419 GPIOF_CRL = GPIOF->CRL;
00003a 6281 STR r1,[r0,#0x28] ; GPIOE_CRH
00003c f8d41c00 LDR r1,[r4,#0xc00]
;;;420 GPIOF_CRH = GPIOF->CRH;
000040 62c1 STR r1,[r0,#0x2c] ; GPIOF_CRL
000042 f8d41c04 LDR r1,[r4,#0xc04]
;;;421
;;;422 GPIOG_CRL = GPIOG->CRL;
000046 4d18 LDR r5,|L6.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 f64f70ff MOV r0,#0xffff
000056 f8ad0000 STRH r0,[sp,#0]
;;;427 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
00005a 2000 MOVS r0,#0
00005c f88d0003 STRB r0,[sp,#3]
;;;428 GPIO_Init(GPIOA, &GPIO_InitStructure);
000060 4669 MOV r1,sp
000062 480e LDR r0,|L6.156|
000064 f7fffffe BL GPIO_Init
;;;429 GPIO_Init(GPIOB, &GPIO_InitStructure);
000068 4669 MOV r1,sp
00006a 4810 LDR r0,|L6.172|
00006c f7fffffe BL GPIO_Init
;;;430 GPIO_Init(GPIOC, &GPIO_InitStructure);
000070 4669 MOV r1,sp
000072 4620 MOV r0,r4
000074 f7fffffe BL GPIO_Init
;;;431 GPIO_Init(GPIOD, &GPIO_InitStructure);
000078 4669 MOV r1,sp
00007a 480d LDR r0,|L6.176|
00007c f7fffffe BL GPIO_Init
;;;432 GPIO_Init(GPIOE, &GPIO_InitStructure);
000080 4669 MOV r1,sp
000082 480c LDR r0,|L6.180|
000084 f7fffffe BL GPIO_Init
;;;433 GPIO_Init(GPIOF, &GPIO_InitStructure);
000088 4669 MOV r1,sp
00008a 480b LDR r0,|L6.184|
00008c f7fffffe BL GPIO_Init
;;;434 GPIO_Init(GPIOG, &GPIO_InitStructure);
000090 4669 MOV r1,sp
000092 4628 MOV r0,r5
000094 f7fffffe BL GPIO_Init
;;;435 }
000098 bd38 POP {r3-r5,pc}
;;;436
ENDP
00009a 0000 DCW 0x0000
|L6.156|
DCD 0x40010800
|L6.160|
DCD ||.data||
|L6.164|
DCD 0x40011000
|L6.168|
DCD 0x40012000
|L6.172|
DCD 0x40010c00
|L6.176|
DCD 0x40011400
|L6.180|
DCD 0x40011800
|L6.184|
DCD 0x40011c00
AREA ||i.LowPower_Init||, CODE, READONLY, ALIGN=1
LowPower_Init PROC
;;;41 *******************************************************************************/
;;;42 void LowPower_Init(void)
000000 b510 PUSH {r4,lr}
;;;43 {
;;;44 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
000002 2101 MOVS r1,#1
000004 0708 LSLS r0,r1,#28
000006 f7fffffe BL RCC_APB1PeriphClockCmd
;;;45
;;;46 /* Enable WakeUp pin */
;;;47 PWR_WakeUpPinCmd(ENABLE);
00000a 2001 MOVS r0,#1
00000c f7fffffe BL PWR_WakeUpPinCmd
;;;48
;;;49 /* Enable Clock Security System(CSS) */
;;;50 RCC_ClockSecuritySystemCmd(ENABLE);
000010 e8bd4010 POP {r4,lr}
000014 2001 MOVS r0,#1
000016 f7ffbffe B.W RCC_ClockSecuritySystemCmd
;;;51 }
;;;52
ENDP
AREA ||i.SYSCLKConfig_STOP||, CODE, READONLY, ALIGN=2
SYSCLKConfig_STOP PROC
;;;60 *******************************************************************************/
;;;61 void SYSCLKConfig_STOP(void)
000000 b510 PUSH {r4,lr}
;;;62 {
;;;63 ErrorStatus HSEStartUpStatus;
;;;64
;;;65 /* Enable HSE */
;;;66 RCC_HSEConfig(RCC_HSE_ON);
000002 f44f3080 MOV r0,#0x10000
000006 f7fffffe BL RCC_HSEConfig
;;;67
;;;68 /* Wait till HSE is ready */
;;;69 HSEStartUpStatus = RCC_WaitForHSEStartUp();
00000a f7fffffe BL RCC_WaitForHSEStartUp
;;;70
;;;71 if(HSEStartUpStatus == SUCCESS)
00000e 2801 CMP r0,#1
000010 d10e BNE |L8.48|
;;;72 {
;;;73 /* Enable PLL */
;;;74 RCC_PLLCmd(ENABLE);
000012 f7fffffe BL RCC_PLLCmd
|L8.22|
;;;75
;;;76 /* Wait till PLL is ready */
;;;77 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
000016 2039 MOVS r0,#0x39
000018 f7fffffe BL RCC_GetFlagStatus
00001c 2800 CMP r0,#0
00001e d0fa BEQ |L8.22|
;;;78 {
;;;79 }
;;;80
;;;81 /* Select PLL as system clock source */
;;;82 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000020 2002 MOVS r0,#2
000022 f7fffffe BL RCC_SYSCLKConfig
;;;83
;;;84 /* Wait till PLL is used as system clock source */
;;;85 while(RCC_GetSYSCLKSource() != 0x08)
000026 bf00 NOP
|L8.40|
000028 f7fffffe BL RCC_GetSYSCLKSource
00002c 2808 CMP r0,#8
00002e d1fb BNE |L8.40|
|L8.48|
;;;86 {
;;;87 }
;;;88 }
;;;89 }
000030 bd10 POP {r4,pc}
;;;90
ENDP
AREA ||i.Set_STOPModeStatus||, CODE, READONLY, ALIGN=2
Set_STOPModeStatus PROC
;;;386 *******************************************************************************/
;;;387 void Set_STOPModeStatus(void)
000000 4901 LDR r1,|L9.8|
;;;388 {
;;;389 STOPModeStatus = 1;
000002 2001 MOVS r0,#1
000004 6008 STR r0,[r1,#0] ; STOPModeStatus
;;;390 }
000006 4770 BX lr
;;;391
ENDP
|L9.8|
DCD ||.data||
AREA ||.data||, DATA, ALIGN=2
STOPModeStatus
DCD 0x00000000
GPIOA_CRL
DCD 0x00000000
GPIOA_CRH
DCD 0x00000000
GPIOB_CRL
DCD 0x00000000
GPIOB_CRH
DCD 0x00000000
GPIOC_CRL
DCD 0x00000000
GPIOC_CRH
DCD 0x00000000
GPIOD_CRL
DCD 0x00000000
GPIOD_CRH
DCD 0x00000000
GPIOE_CRL
DCD 0x00000000
GPIOE_CRH
DCD 0x00000000
GPIOF_CRL
DCD 0x00000000
GPIOF_CRH
DCD 0x00000000
GPIOG_CRL
DCD 0x00000000
GPIOG_CRH
DCD 0x00000000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -