📄 main.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 942] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Int_Flash\main.o --depend=.\Int_Flash\main.d --device=DARMSTM --apcs=interwork -O3 -I..\include -I..\..\..\..\..\INC\ST\STM32F10x\USB -Id:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB --omf_browse=.\Int_Flash\main.crf ..\source\main.c]
THUMB
AREA ||i.IntExtOnOffConfig||, CODE, READONLY, ALIGN=1
IntExtOnOffConfig PROC
;;;318 void IntExtOnOffConfig(FunctionalState NewState)
;;;319 {
000000 b57c PUSH {r2-r6,lr}
000002 4606 MOV r6,r0
;;;320 EXTI_InitTypeDef EXTI_InitStructure;
;;;321
;;;322 /* Initializes the EXTI_InitStructure */
;;;323 EXTI_StructInit(&EXTI_InitStructure);
000004 4668 MOV r0,sp
000006 f7fffffe BL EXTI_StructInit
00000a 2400 MOVS r4,#0
00000c f2480588 MOV r5,#0x8088
;;;324
;;;325 /* Disable the EXTI line 3, 7 and 15 on falling edge */
;;;326 if(NewState == DISABLE)
000010 b91e CBNZ r6,|L1.26|
;;;327 {
;;;328 EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;329 EXTI_InitStructure.EXTI_LineCmd = DISABLE;
000012 9500 STR r5,[sp,#0]
000014 f88d4006 STRB r4,[sp,#6]
;;;330 EXTI_Init(&EXTI_InitStructure);
000018 e00b B |L1.50|
|L1.26|
;;;331 }
;;;332 /* Enable the EXTI line 3, 7 and 15 on falling edge */
;;;333 else
;;;334 {
;;;335 /* Clear the the EXTI line 3, 7 and 15 interrupt pending bit */
;;;336 EXTI_ClearITPendingBit(EXTI_Line3 | EXTI_Line7 | EXTI_Line15);
00001a 4628 MOV r0,r5
00001c f7fffffe BL EXTI_ClearITPendingBit
;;;337
;;;338 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
000020 f88d4004 STRB r4,[sp,#4]
;;;339 EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;340 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
000024 200c MOVS r0,#0xc
000026 f88d0005 STRB r0,[sp,#5]
;;;341 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
00002a 2001 MOVS r0,#1
00002c 9500 STR r5,[sp,#0] ;340
00002e f88d0006 STRB r0,[sp,#6]
|L1.50|
000032 4668 MOV r0,sp ;330
000034 f7fffffe BL EXTI_Init
;;;342 EXTI_Init(&EXTI_InitStructure);
;;;343 }
;;;344 }
000038 bd7c POP {r2-r6,pc}
;;;345
ENDP
AREA ||i.LedShow||, CODE, READONLY, ALIGN=2
LedShow PROC
;;;520 void LedShow(FunctionalState NewState)
;;;521 {
000000 b510 PUSH {r4,lr}
000002 490c LDR r1,|L2.52|
000004 4c0c LDR r4,|L2.56|
;;;522 /* Enable LEDs toggling */
;;;523 if(NewState == ENABLE)
000006 2801 CMP r0,#1
000008 d107 BNE |L2.26|
;;;524 {
;;;525 LedShowStatus = 1;
00000a 6088 STR r0,[r1,#8] ; LedShowStatus
;;;526 /* Enable the TIM1 Update Interrupt */
;;;527 TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);
00000c 4602 MOV r2,r0
00000e 4601 MOV r1,r0
000010 4620 MOV r0,r4
000012 f7fffffe BL TIM_ITConfig
;;;528 /* TIM1 counter enable */
;;;529 TIM_Cmd(TIM1, ENABLE);
000016 2101 MOVS r1,#1
000018 e007 B |L2.42|
|L2.26|
;;;530 }
;;;531 /* Disable LEDs toggling */
;;;532 else
;;;533 {
;;;534 LedShowStatus = 0;
00001a 2000 MOVS r0,#0
00001c 6088 STR r0,[r1,#8] ; LedShowStatus
;;;535 /* Disable the TIM1 Update Interrupt */
;;;536 TIM_ITConfig(TIM1, TIM_IT_Update, DISABLE);
00001e 4602 MOV r2,r0
000020 2101 MOVS r1,#1
000022 4620 MOV r0,r4
000024 f7fffffe BL TIM_ITConfig
;;;537 /* TIM1 counter disable */
;;;538 TIM_Cmd(TIM1, DISABLE);
000028 2100 MOVS r1,#0
|L2.42|
00002a 4620 MOV r0,r4
00002c e8bd4010 POP {r4,lr}
000030 f7ffbffe B.W TIM_Cmd
;;;539 }
;;;540 }
;;;541
ENDP
|L2.52|
000034 00000000 DCD ||.data||
|L2.56|
000038 40012c00 DCD 0x40012c00
AREA ||i.CheckBitmapFilesStatus||, CODE, READONLY, ALIGN=2
CheckBitmapFilesStatus PROC
;;;562 void CheckBitmapFilesStatus(void)
;;;563 {
000000 b510 PUSH {r4,lr}
;;;564 /* Checks if the Bitmap files are loaded */
;;;565 if(CheckBitmapFiles() != 0)
000002 f7fffffe BL CheckBitmapFiles
000006 2800 CMP r0,#0
000008 d033 BEQ |L3.114|
;;;566 {
;;;567 /* Set the LCD Back Color */
;;;568 LCD_SetBackColor(Blue);
00000a 201f MOVS r0,#0x1f
00000c f7fffffe BL LCD_SetBackColor
;;;569
;;;570 /* Set the LCD Text Color */
;;;571 LCD_SetTextColor(White);
000010 f64f70ff MOV r0,#0xffff
000014 f7fffffe BL LCD_SetTextColor
;;;572 LCD_DisplayStringLine(Line0, " Warning ");
000018 a116 ADR r1,|L3.116|
00001a 2000 MOVS r0,#0
00001c f7fffffe BL LCD_DisplayStringLine
;;;573 LCD_DisplayStringLine(Line1, "No loaded Bitmap ");
000020 a11a ADR r1,|L3.140|
000022 2018 MOVS r0,#0x18
000024 f7fffffe BL LCD_DisplayStringLine
;;;574 LCD_DisplayStringLine(Line2, "files. Demo can't be");
000028 a11e ADR r1,|L3.164|
00002a 2030 MOVS r0,#0x30
00002c f7fffffe BL LCD_DisplayStringLine
;;;575 LCD_DisplayStringLine(Line3, "executed. ");
000030 a122 ADR r1,|L3.188|
000032 2048 MOVS r0,#0x48
000034 f7fffffe BL LCD_DisplayStringLine
;;;576 LCD_DisplayStringLine(Line4, "Please be sure that ");
000038 a126 ADR r1,|L3.212|
00003a 2060 MOVS r0,#0x60
00003c f7fffffe BL LCD_DisplayStringLine
;;;577 LCD_DisplayStringLine(Line5, "all files are ");
000040 a12a ADR r1,|L3.236|
000042 2078 MOVS r0,#0x78
000044 f7fffffe BL LCD_DisplayStringLine
;;;578 LCD_DisplayStringLine(Line6, "correctly programmed");
000048 a12e ADR r1,|L3.260|
00004a 2090 MOVS r0,#0x90
00004c f7fffffe BL LCD_DisplayStringLine
;;;579 LCD_DisplayStringLine(Line7, "in the SPI FLASH and");
000050 a132 ADR r1,|L3.284|
000052 20a8 MOVS r0,#0xa8
000054 f7fffffe BL LCD_DisplayStringLine
;;;580 LCD_DisplayStringLine(Line8, "restart the Demo. ");
000058 a136 ADR r1,|L3.308|
00005a 20c0 MOVS r0,#0xc0
00005c f7fffffe BL LCD_DisplayStringLine
;;;581 LCD_DisplayStringLine(Line9, " ");
000060 a13a ADR r1,|L3.332|
000062 20d8 MOVS r0,#0xd8
000064 f7fffffe BL LCD_DisplayStringLine
;;;582
;;;583 /* Deinitializes the NVIC */
;;;584 NVIC_DeInit();
000068 f7fffffe BL NVIC_DeInit
;;;585
;;;586 /* Deinitializes the RCC */
;;;587 RCC_DeInit();
00006c f7fffffe BL RCC_DeInit
|L3.112|
;;;588
;;;589 /* Demo Can't Start */
;;;590 while(1)
000070 e7fe B |L3.112|
|L3.114|
;;;591 {
;;;592 }
;;;593 }
;;;594 }
000072 bd10 POP {r4,pc}
;;;595
ENDP
|L3.116|
000074 2020202020205761726e696e672020202020202000 DCB " Warning ",0
000089 00 DCB 0
00008a 00 DCB 0
00008b 00 DCB 0
|L3.140|
00008c 4e6f206c6f61646564204269746d61702020202000 DCB "No loaded Bitmap ",0
0000a1 00 DCB 0
0000a2 00 DCB 0
0000a3 00 DCB 0
|L3.164|
0000a4 66696c65732e2044656d6f2063616e277420626500 DCB "files. Demo can't be",0
0000b9 00 DCB 0
0000ba 00 DCB 0
0000bb 00 DCB 0
|L3.188|
0000bc 65786563757465642e202020202020202020202000 DCB "executed. ",0
0000d1 00 DCB 0
0000d2 00 DCB 0
0000d3 00 DCB 0
|L3.212|
0000d4 506c65617365206265207375726520746861742000 DCB "Please be sure that ",0
0000e9 00 DCB 0
0000ea 00 DCB 0
0000eb 00 DCB 0
|L3.236|
0000ec 616c6c2066696c6573206172652020202020202000 DCB "all files are ",0
000101 00 DCB 0
000102 00 DCB 0
000103 00 DCB 0
|L3.260|
000104 636f72726563746c792070726f6772616d6d656400 DCB "correctly programmed",0
000119 00 DCB 0
00011a 00 DCB 0
00011b 00 DCB 0
|L3.284|
00011c 696e207468652053504920464c41534820616e6400 DCB "in the SPI FLASH and",0
000131 00 DCB 0
000132 00 DCB 0
000133 00 DCB 0
|L3.308|
000134 72657374617274207468652044656d6f2e20202000 DCB "restart the Demo. ",0
000149 00 DCB 0
00014a 00 DCB 0
00014b 00 DCB 0
|L3.332|
00014c 202020202020202020202020202020202020202000 DCB " ",0
000161 00 DCB 0
000162 00 DCB 0
000163 00 DCB 0
AREA ||i.LedShow_Init||, CODE, READONLY, ALIGN=2
LedShow_Init PROC
;;;471 void LedShow_Init(void)
;;;472 {
000000 b530 PUSH {r4,r5,lr}
000002 b089 SUB sp,sp,#0x24
;;;473 GPIO_InitTypeDef GPIO_InitStructure;
;;;474 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
;;;475 TIM_OCInitTypeDef TIM_OCInitStructure;
;;;476
;;;477 TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
000004 a805 ADD r0,sp,#0x14
000006 f7fffffe BL TIM_TimeBaseStructInit
;;;478 TIM_OCStructInit(&TIM_OCInitStructure);
00000a a801 ADD r0,sp,#4
00000c f7fffffe BL TIM_OCStructInit
;;;479
;;;480 #if STM3210E
;;;481 /* PF.06, PF.07, PF.08 and PF.09 as output push-pull */
;;;482 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
;;;483 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
;;;484 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
;;;485 GPIO_Init(GPIOF, &GPIO_InitStructure);
;;;486 #else
;;;487 /* PB8..PB13 as output push-pull */
;;;488 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 |
000010 f44f507c MOV r0,#0x3f00
000014 f8ad0020 STRH r0,[sp,#0x20]
;;;489 GPIO_Pin_12 | GPIO_Pin_13 ;
;;;490 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000018 2003 MOVS r0,#3
00001a f88d0022 STRB r0,[sp,#0x22]
;;;491 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
00001e 2010 MOVS r0,#0x10
000020 f88d0023 STRB r0,[sp,#0x23]
;;;492 GPIO_Init(GPIOB, &GPIO_InitStructure);
000024 a908 ADD r1,sp,#0x20
000026 4813 LDR r0,|L4.116|
000028 f7fffffe BL GPIO_Init
;;;493 #endif
;;;494
;;;495 /* Time Base configuration */
;;;496 TIM_TimeBaseStructure.TIM_Prescaler = 719;
00002c f24020cf MOV r0,#0x2cf
000030 f8ad0014 STRH r0,[sp,#0x14]
;;;497 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
000034 2400 MOVS r4,#0
;;;498 TIM_TimeBaseStructure.TIM_Period = 0x270F;
000036 f242700f MOV r0,#0x270f
00003a f8ad0018 STRH r0,[sp,#0x18]
;;;499 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
;;;500 TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;
;;;501
;;;502 TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
00003e 4d0e LDR r5,|L4.120|
000040 f8ad4016 STRH r4,[sp,#0x16] ;497
000044 f8ad401a STRH r4,[sp,#0x1a] ;499
000048 f88d401c STRB r4,[sp,#0x1c] ;500
00004c a905 ADD r1,sp,#0x14
00004e 4628 MOV r0,r5
000050 f7fffffe BL TIM_TimeBaseInit
;;;503
;;;504 /* Channel 1 Configuration in Timing mode */
;;;505 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing;
000054 f8ad4004 STRH r4,[sp,#4]
;;;506 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
000058 2001 MOVS r0,#1
00005a f8ad0006 STRH r0,[sp,#6]
;;;507 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
00005e f8ad4008 STRH r4,[sp,#8]
;;;508 TIM_OCInitStructure.TIM_Pulse = 0x0;
000062 f8ad400a STRH r4,[sp,#0xa]
;;;509
;;;510 TIM_OC1Init(TIM1, &TIM_OCInitStructure);
000066 a901 ADD r1,sp,#4
000068 4628 MOV r0,r5
00006a f7fffffe BL TIM_OC1Init
;;;511 }
00006e b009 ADD sp,sp,#0x24
000070 bd30 POP {r4,r5,pc}
;;;512
ENDP
000072 0000 DCW 0x0000
|L4.116|
000074 40010c00 DCD 0x40010c00
|L4.120|
000078 40012c00 DCD 0x40012c00
AREA ||i.SysTick_Config||, CODE, READONLY, ALIGN=2
SysTick_Config PROC
000000 b510 PUSH {r4,lr}
000002 2004 MOVS r0,#4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -