📄 main.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\main.o --depend=.\Obj\main.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\main.crf ..\..\source\main.c]
THUMB
AREA ||i.IntExtOnOffConfig||, CODE, READONLY, ALIGN=1
IntExtOnOffConfig PROC
;;;339 void IntExtOnOffConfig(FunctionalState NewState)
;;;340 {
000000 b57c PUSH {r2-r6,lr}
000002 4606 MOV r6,r0
;;;341 EXTI_InitTypeDef EXTI_InitStructure;
;;;342
;;;343 /* Initializes the EXTI_InitStructure */
;;;344 EXTI_StructInit(&EXTI_InitStructure);
000004 4668 MOV r0,sp
000006 f7fff7ff BL EXTI_StructInit
00000a 2400 MOVS r4,#0
00000c f248f248 MOV r5,#0x8088
;;;345
;;;346 /* Disable the EXTI line 3, 7 and 15 on falling edge */
;;;347 if(NewState == DISABLE)
000010 b91e CBNZ r6,|L1.26|
;;;348 {
;;;349 EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;350 EXTI_InitStructure.EXTI_LineCmd = DISABLE;
000012 9500 STR r5,[sp,#0]
000014 f88df88d STRB r4,[sp,#6]
;;;351 EXTI_Init(&EXTI_InitStructure);
000018 e00b B |L1.50|
|L1.26|
;;;352 }
;;;353 /* Enable the EXTI line 3, 7 and 15 on falling edge */
;;;354 else
;;;355 {
;;;356 /* Clear the the EXTI line 3, 7 and 15 interrupt pending bit */
;;;357 EXTI_ClearITPendingBit(EXTI_Line3 | EXTI_Line7 | EXTI_Line15);
00001a 4628 MOV r0,r5
00001c f7fff7ff BL EXTI_ClearITPendingBit
;;;358
;;;359 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
000020 f88df88d STRB r4,[sp,#4]
;;;360 EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;361 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
000024 200c MOVS r0,#0xc
000026 f88df88d STRB r0,[sp,#5]
;;;362 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
00002a 2001 MOVS r0,#1
00002c 9500 STR r5,[sp,#0] ;361
00002e f88df88d STRB r0,[sp,#6]
|L1.50|
000032 4668 MOV r0,sp ;351
000034 f7fff7ff BL EXTI_Init
;;;363 EXTI_Init(&EXTI_InitStructure);
;;;364 }
;;;365 }
000038 bd7c POP {r2-r6,pc}
;;;366
ENDP
AREA ||i.LedShow_Init||, CODE, READONLY, ALIGN=2
LedShow_Init PROC
;;;499 void LedShow_Init(void)
;;;500 {
000000 b530 PUSH {r4,r5,lr}
000002 b089 SUB sp,sp,#0x24
;;;501 GPIO_InitTypeDef GPIO_InitStructure;
;;;502 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
;;;503 TIM_OCInitTypeDef TIM_OCInitStructure;
;;;504
;;;505 TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
000004 a805 ADD r0,sp,#0x14
000006 f7fff7ff BL TIM_TimeBaseStructInit
;;;506 TIM_OCStructInit(&TIM_OCInitStructure);
00000a a801 ADD r0,sp,#4
00000c f7fff7ff BL TIM_OCStructInit
;;;507
;;;508 /* PF.06, PF.07, PF.08 and PF.09 as output push-pull */
;;;509 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
000010 f44ff44f MOV r0,#0x3c0
000014 f8adf8ad STRH r0,[sp,#0x20]
;;;510 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000018 2003 MOVS r0,#3
00001a f88df88d STRB r0,[sp,#0x22]
;;;511 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
00001e 2410 MOVS r4,#0x10
000020 f88df88d STRB r4,[sp,#0x23]
;;;512 GPIO_Init(GPIOF, &GPIO_InitStructure);
000024 a908 ADD r1,sp,#0x20
000026 4817 LDR r0,|L2.132|
000028 f7fff7ff BL GPIO_Init
;;;513
;;;514 /* Configure PD.03 as input floating */
;;;515 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
00002c f8adf8ad STRH r4,[sp,#0x20]
;;;516 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
000030 f88df88d STRB r4,[sp,#0x23]
;;;517 GPIO_Init(GPIOD, &GPIO_InitStructure);
000034 a908 ADD r1,sp,#0x20
000036 4814 LDR r0,|L2.136|
000038 f7fff7ff BL GPIO_Init
;;;518
;;;519 /* Time Base configuration */
;;;520 TIM_TimeBaseStructure.TIM_Prescaler = 719;
00003c f240f240 MOV r0,#0x2cf
000040 f8adf8ad STRH r0,[sp,#0x14]
;;;521 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
000044 2400 MOVS r4,#0
;;;522 TIM_TimeBaseStructure.TIM_Period = 0x270F;
000046 f242f242 MOV r0,#0x270f
00004a f8adf8ad STRH r0,[sp,#0x18]
;;;523 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
;;;524 TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;
;;;525
;;;526 TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
00004e 4d0f LDR r5,|L2.140|
000050 f8adf8ad STRH r4,[sp,#0x16] ;521
000054 f8adf8ad STRH r4,[sp,#0x1a] ;523
000058 f88df88d STRB r4,[sp,#0x1c] ;524
00005c a905 ADD r1,sp,#0x14
00005e 4628 MOV r0,r5
000060 f7fff7ff BL TIM_TimeBaseInit
;;;527
;;;528 /* Channel 1 Configuration in Timing mode */
;;;529 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing;
000064 f8adf8ad STRH r4,[sp,#4]
;;;530 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
000068 2001 MOVS r0,#1
00006a f8adf8ad STRH r0,[sp,#6]
;;;531 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
00006e f8adf8ad STRH r4,[sp,#8]
;;;532 TIM_OCInitStructure.TIM_Pulse = 0x0;
000072 f8adf8ad STRH r4,[sp,#0xa]
;;;533
;;;534 TIM_OC1Init(TIM1, &TIM_OCInitStructure);
000076 a901 ADD r1,sp,#4
000078 4628 MOV r0,r5
00007a f7fff7ff BL TIM_OC1Init
;;;535 }
00007e b009 ADD sp,sp,#0x24
000080 bd30 POP {r4,r5,pc}
;;;536
ENDP
000082 0000 DCW 0x0000
|L2.132|
000084 40011c00 DCD 0x40011c00
|L2.136|
000088 40011400 DCD 0x40011400
|L2.140|
00008c 40012c00 DCD 0x40012c00
AREA ||i.SysTick_Config||, CODE, READONLY, ALIGN=2
SysTick_Config PROC
000000 b510 PUSH {r4,lr}
000002 2004 MOVS r0,#4
000004 f7fff7ff BL SysTick_CLKSourceConfig
000008 4803 LDR r0,|L3.24|
00000a f7fff7ff BL SysTick_SetReload
00000e e8bde8bd POP {r4,lr}
000012 2001 MOVS r0,#1
000014 f7fff7ff B.W SysTick_ITConfig
ENDP
|L3.24|
000018 000afc80 DCD 0x000afc80
AREA ||i.InterruptConfig||, CODE, READONLY, ALIGN=2
InterruptConfig PROC
;;;228 void InterruptConfig(void)
;;;229 {
000000 b5fe PUSH {r1-r7,lr}
;;;230 NVIC_InitTypeDef NVIC_InitStructure;
;;;231 EXTI_InitTypeDef EXTI_InitStructure;
;;;232
;;;233 /* Deinitializes the NVIC */
;;;234 NVIC_DeInit();
000002 f7fff7ff BL NVIC_DeInit
;;;235
;;;236 /* Set the Vector Table base address at 0x08000000 */
;;;237 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00);
000006 2100 MOVS r1,#0
000008 f04ff04f MOV r0,#0x8000000
00000c f7fff7ff BL NVIC_SetVectorTable
;;;238
;;;239 /* Configure the Priority Group to 2 bits */
;;;240 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
000010 f44ff44f MOV r0,#0x500
000014 f7fff7ff BL NVIC_PriorityGroupConfig
;;;241
;;;242 /* Configure the SysTick handler priority */
;;;243 NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 0, 0);
000018 2200 MOVS r2,#0
00001a 4611 MOV r1,r2
00001c 4839 LDR r0,|L4.260|
00001e f7fff7ff BL NVIC_SystemHandlerPriorityConfig
;;;244
;;;245 /* Enable the EXTI3 Interrupt */
;;;246 NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel;
000022 2009 MOVS r0,#9
000024 f88df88d STRB r0,[sp,#8]
;;;247 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
000028 2502 MOVS r5,#2
00002a f88df88d STRB r5,[sp,#9]
;;;248 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
00002e 2401 MOVS r4,#1
000030 f88df88d STRB r4,[sp,#0xa]
;;;249 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000034 f88df88d STRB r4,[sp,#0xb]
;;;250 NVIC_Init(&NVIC_InitStructure);
000038 a802 ADD r0,sp,#8
00003a f7fff7ff BL NVIC_Init
;;;251
;;;252 /* Enable the EXTI9_5 Interrupt */
;;;253 NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;
00003e 2017 MOVS r0,#0x17
000040 f88df88d STRB r0,[sp,#8]
;;;254 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
000044 f88df88d STRB r5,[sp,#9]
;;;255 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
000048 f88df88d STRB r4,[sp,#0xa]
;;;256 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00004c f88df88d STRB r4,[sp,#0xb]
;;;257 NVIC_Init(&NVIC_InitStructure);
000050 a802 ADD r0,sp,#8
000052 f7fff7ff BL NVIC_Init
;;;258
;;;259 /* Enable the EXTI15_10 Interrupt */
;;;260 NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQChannel;
000056 2028 MOVS r0,#0x28
000058 f88df88d STRB r0,[sp,#8]
;;;261 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
00005c f88df88d STRB r5,[sp,#9]
;;;262 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000060 2500 MOVS r5,#0
000062 f88df88d STRB r5,[sp,#0xa]
;;;263 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000066 f88df88d STRB r4,[sp,#0xb]
;;;264 NVIC_Init(&NVIC_InitStructure);
00006a a802 ADD r0,sp,#8
00006c f7fff7ff BL NVIC_Init
;;;265
;;;266 /* Enable the RTC Interrupt */
;;;267 NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQChannel;
000070 2603 MOVS r6,#3
000072 f88df88d STRB r6,[sp,#8]
;;;268 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
000076 f88df88d STRB r5,[sp,#9]
;;;269 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
00007a f88df88d STRB r5,[sp,#0xa]
;;;270 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00007e f88df88d STRB r4,[sp,#0xb]
;;;271 NVIC_Init(&NVIC_InitStructure);
000082 a802 ADD r0,sp,#8
000084 f7fff7ff BL NVIC_Init
;;;272
;;;273
;;;274 /* Enable the USB_LP_CAN_RX0 Interrupt */
;;;275 NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN_RX0_IRQChannel;
000088 2014 MOVS r0,#0x14
00008a f88df88d STRB r0,[sp,#8]
;;;276 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
00008e f88df88d STRB r4,[sp,#9]
;;;277 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000092 f88df88d STRB r5,[sp,#0xa]
;;;278 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000096 f88df88d STRB r4,[sp,#0xb]
;;;279 NVIC_Init(&NVIC_InitStructure);
00009a a802 ADD r0,sp,#8
00009c f7fff7ff BL NVIC_Init
;;;280
;;;281 /* Enable the USB_HP_CAN_TX Interrupt */
;;;282 NVIC_InitStructure.NVIC_IRQChannel = USB_HP_CAN_TX_IRQChannel;
0000a0 2013 MOVS r0,#0x13
0000a2 f88df88d STRB r0,[sp,#8]
;;;283 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
0000a6 f88df88d STRB r5,[sp,#9]
;;;284 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
0000aa f88df88d STRB r4,[sp,#0xa]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -