📄 main.txt
字号:
;;;285 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000ae f88df88d STRB r4,[sp,#0xb]
;;;286 NVIC_Init(&NVIC_InitStructure);
0000b2 a802 ADD r0,sp,#8
0000b4 f7fff7ff BL NVIC_Init
;;;287
;;;288 /* Enable the TIM1 UP Interrupt */
;;;289 NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQChannel;
0000b8 2019 MOVS r0,#0x19
0000ba f88df88d STRB r0,[sp,#8]
;;;290 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
0000be f88df88d STRB r4,[sp,#9]
;;;291 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
0000c2 f88df88d STRB r6,[sp,#0xa]
;;;292 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000c6 f88df88d STRB r4,[sp,#0xb]
;;;293 NVIC_Init(&NVIC_InitStructure);
0000ca a802 ADD r0,sp,#8
0000cc f7fff7ff BL NVIC_Init
;;;294
;;;295 /* Enable the RTC Alarm Interrupt */
;;;296 NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQChannel;
0000d0 2029 MOVS r0,#0x29
0000d2 f88df88d STRB r0,[sp,#8]
;;;297 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
0000d6 f88df88d STRB r4,[sp,#9]
;;;298 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
0000da f88df88d STRB r4,[sp,#0xa]
;;;299 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000de f88df88d STRB r4,[sp,#0xb]
;;;300 NVIC_Init(&NVIC_InitStructure);
0000e2 a802 ADD r0,sp,#8
0000e4 f7fff7ff BL NVIC_Init
;;;301
;;;302 /* Enable the EXTI Line17 Interrupt */
;;;303 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
;;;304 EXTI_InitStructure.EXTI_Line = EXTI_Line17;
0000e8 0460 LSLS r0,r4,#17
;;;305 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
0000ea 9000 STR r0,[sp,#0]
0000ec f88df88d STRB r5,[sp,#4] ;303
0000f0 2008 MOVS r0,#8
0000f2 f88df88d STRB r0,[sp,#5]
;;;306 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
0000f6 f88df88d STRB r4,[sp,#6]
;;;307 EXTI_Init(&EXTI_InitStructure);
0000fa 4668 MOV r0,sp
0000fc f7fff7ff BL EXTI_Init
;;;308 }
000100 bdfe POP {r1-r7,pc}
;;;309
ENDP
000102 0000 DCW 0x0000
|L4.260|
000104 0002c39a DCD 0x0002c39a
AREA ||i.GPIO_Config||, CODE, READONLY, ALIGN=2
GPIO_Config PROC
;;;374 void GPIO_Config(void)
;;;375 {
000000 b538 PUSH {r3-r5,lr}
;;;376 GPIO_InitTypeDef GPIO_InitStructure;
;;;377
;;;378
;;;379 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
000002 2101 MOVS r1,#1
000004 2004 MOVS r0,#4
000006 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;380 /* Configure PG.07, PG.08, PG.13, PG.14 and PG.15 as input floating */
;;;381 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
00000a f24ef24e MOV r0,#0xe180
00000e f8adf8ad STRH r0,[sp,#0]
;;;382 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
000012 2404 MOVS r4,#4
000014 f88df88d STRB r4,[sp,#3]
;;;383 GPIO_Init(GPIOG, &GPIO_InitStructure);
000018 4669 MOV r1,sp
00001a 4817 LDR r0,|L5.120|
00001c f7fff7ff BL GPIO_Init
;;;384 /* Configure PD.03 as input floating */
;;;385 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
000020 2010 MOVS r0,#0x10
000022 f8adf8ad STRH r0,[sp,#0]
;;;386 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
;;;387 GPIO_Init(GPIOD, &GPIO_InitStructure);
000026 4d15 LDR r5,|L5.124|
000028 f88df88d STRB r0,[sp,#3] ;386
00002c 4669 MOV r1,sp
00002e 4628 MOV r0,r5
000030 f7fff7ff BL GPIO_Init
;;;388
;;;389
;;;390 /* Configure PD.03 as input floating */
;;;391 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
000034 2008 MOVS r0,#8
000036 f8adf8ad STRH r0,[sp,#0]
;;;392 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00003a f88df88d STRB r4,[sp,#3]
;;;393 GPIO_Init(GPIOD, &GPIO_InitStructure);
00003e 4669 MOV r1,sp
000040 4628 MOV r0,r5
000042 f7fff7ff BL GPIO_Init
;;;394
;;;395 /* RIGHT Button */
;;;396 GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource13);
000046 210d MOVS r1,#0xd
000048 2006 MOVS r0,#6
00004a f7fff7ff BL GPIO_EXTILineConfig
;;;397
;;;398 /* LEFT Button */
;;;399 GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource14);
00004e 210e MOVS r1,#0xe
000050 2006 MOVS r0,#6
000052 f7fff7ff BL GPIO_EXTILineConfig
;;;400
;;;401 /* DOWN Button */
;;;402 GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);
000056 2103 MOVS r1,#3
000058 4608 MOV r0,r1
00005a f7fff7ff BL GPIO_EXTILineConfig
;;;403
;;;404 /* UP Button */
;;;405 GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource15);
00005e 210f MOVS r1,#0xf
000060 2006 MOVS r0,#6
000062 f7fff7ff BL GPIO_EXTILineConfig
;;;406
;;;407 /* SEL Button */
;;;408 GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource7);
000066 2107 MOVS r1,#7
000068 2006 MOVS r0,#6
00006a f7fff7ff BL GPIO_EXTILineConfig
;;;409
;;;410 /* KEY Button */
;;;411 GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource8);
00006e 2108 MOVS r1,#8
000070 2006 MOVS r0,#6
000072 f7fff7ff BL GPIO_EXTILineConfig
;;;412 }
000076 bd38 POP {r3-r5,pc}
;;;413
ENDP
|L5.120|
000078 40012000 DCD 0x40012000
|L5.124|
00007c 40011400 DCD 0x40011400
AREA ||i.Demo_Init||, CODE, READONLY, ALIGN=2
Demo_Init PROC
;;;84 void Demo_Init(void)
;;;85 {
000000 b570 PUSH {r4-r6,lr}
;;;86 u32 i ;
;;;87 unsigned int j;
;;;88 /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/
;;;89 /* RCC system reset(for debug purpose) */
;;;90 RCC_DeInit();
000002 f7fff7ff BL RCC_DeInit
;;;91
;;;92 /* Enable HSE */
;;;93 RCC_HSEConfig(RCC_HSE_ON);
000006 f44ff44f MOV r5,#0x10000
00000a 4628 MOV r0,r5
00000c f7fff7ff BL RCC_HSEConfig
;;;94
;;;95 /* Wait till HSE is ready */
;;;96 HSEStartUpStatus = RCC_WaitForHSEStartUp();
000010 f7fff7ff BL RCC_WaitForHSEStartUp
000014 4c34 LDR r4,|L6.232|
000016 7020 STRB r0,[r4,#0] ; HSEStartUpStatus
;;;97
;;;98 if(HSEStartUpStatus == SUCCESS)
000018 7820 LDRB r0,[r4,#0] ; HSEStartUpStatus
00001a 2801 CMP r0,#1
00001c d122 BNE |L6.100|
;;;99 {
;;;100 /* Enable Prefetch Buffer */
;;;101 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
00001e 2010 MOVS r0,#0x10
000020 f7fff7ff BL FLASH_PrefetchBufferCmd
;;;102
;;;103 /* Flash 2 wait state */
;;;104 FLASH_SetLatency(FLASH_Latency_2);
000024 2002 MOVS r0,#2
000026 f7fff7ff BL FLASH_SetLatency
;;;105
;;;106 /* HCLK = SYSCLK */
;;;107 RCC_HCLKConfig(RCC_SYSCLK_Div1);
00002a 2000 MOVS r0,#0
00002c f7fff7ff BL RCC_HCLKConfig
;;;108
;;;109 /* PCLK2 = HCLK */
;;;110 RCC_PCLK2Config(RCC_HCLK_Div1);
000030 2000 MOVS r0,#0
000032 f7fff7ff BL RCC_PCLK2Config
;;;111
;;;112 /* PCLK1 = HCLK/2 */
;;;113 RCC_PCLK1Config(RCC_HCLK_Div2);
000036 11a8 ASRS r0,r5,#6
000038 f7fff7ff BL RCC_PCLK1Config
;;;114
;;;115 /* PLLCLK = 8MHz * 9 = 72 MHz */
;;;116 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
00003c f44ff44f MOV r1,#0x1c0000
000040 4628 MOV r0,r5
000042 f7fff7ff BL RCC_PLLConfig
;;;117
;;;118 /* Enable PLL */
;;;119 RCC_PLLCmd(ENABLE);
000046 2001 MOVS r0,#1
000048 f7fff7ff BL RCC_PLLCmd
|L6.76|
;;;120
;;;121 /* Wait till PLL is ready */
;;;122 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
00004c 2039 MOVS r0,#0x39
00004e f7fff7ff BL RCC_GetFlagStatus
000052 2800 CMP r0,#0
000054 d0fa BEQ |L6.76|
;;;123 {
;;;124 }
;;;125
;;;126 /* Select PLL as system clock source */
;;;127 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000056 2002 MOVS r0,#2
000058 f7fff7ff BL RCC_SYSCLKConfig
|L6.92|
;;;128
;;;129 /* Wait till PLL is used as system clock source */
;;;130 while(RCC_GetSYSCLKSource() != 0x08)
00005c f7fff7ff BL RCC_GetSYSCLKSource
000060 2808 CMP r0,#8
000062 d1fb BNE |L6.92|
|L6.100|
;;;131 {
;;;132 }
;;;133 }
;;;134
;;;135 /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
;;;136 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC
000064 2101 MOVS r1,#1
000066 f240f240 MOV r0,#0x1fd
00006a f7fff7ff BL RCC_APB2PeriphClockCmd
;;;137 | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG
;;;138 | RCC_APB2Periph_AFIO, ENABLE);
;;;139
;;;140 /* TIM1 Periph clock enable */
;;;141 RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
00006e 2101 MOVS r1,#1
000070 02c8 LSLS r0,r1,#11
000072 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;142
;;;143 /*------------------- Resources Initialization -----------------------------*/
;;;144 /* GPIO Configuration */
;;;145 GPIO_Config();
000076 f7fff7ff BL GPIO_Config
;;;146 SetupUSART();
00007a f7fff7ff BL SetupUSART
;;;147 /* Interrupt Configuration */
;;;148 InterruptConfig();
00007e f7fff7ff BL InterruptConfig
;;;149
;;;150 /* Configure the systick */
;;;151 SysTick_Config();
000082 f7fff7ff BL SysTick_Config
;;;152
;;;153 /*------------------- Drivers Initialization -------------------------------*/
;;;154 /* Initialize the LEDs toogling */
;;;155 LedShow_Init();
000086 f7fff7ff BL LedShow_Init
;;;156 GPIO_ResetBits(GPIOA,GPIO_Pin_4);
00008a 2110 MOVS r1,#0x10
00008c 4817 LDR r0,|L6.236|
00008e f7fff7ff BL GPIO_ResetBits
;;;157
;;;158 /* Initialize the Low Power application */
;;;159 LowPower_Init();
000092 f7fff7ff BL LowPower_Init
;;;160 // SendChar('N');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -