📄 stm32f10x_it.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\stm32f10x_it.o --depend=.\Obj\stm32f10x_it.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\stm32f10x_it.crf ..\..\source\stm32f10x_it.c]
THUMB
AREA ||i.NMIException||, CODE, READONLY, ALIGN=2
NMIException PROC
;;;39 void NMIException(void)
;;;40 {
000000 b570 PUSH {r4-r6,lr}
;;;41 u32 tmp = 318, index = 0;
;;;42
;;;43 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
000002 2101 MOVS r1,#1
000004 f44ff44f MOV r5,#0x13e ;41
000008 2400 MOVS r4,#0 ;41
00000a 0208 LSLS r0,r1,#8
00000c f7fff7ff BL RCC_AHBPeriphClockCmd
;;;44
;;;45 /* Disable LCD Window mode */
;;;46 LCD_WindowModeDisable();
000010 f7fff7ff BL LCD_WindowModeDisable
;;;47
;;;48 /* If HSE is not detected at program startup or HSE clock failed during program execution */
;;;49 if((Get_HSEStartUpStatus() == ERROR) || (RCC_GetITStatus(RCC_IT_CSS) != RESET))
000014 f7fff7ff BL Get_HSEStartUpStatus
000018 b120 CBZ r0,|L1.36|
00001a 2080 MOVS r0,#0x80
00001c f7fff7ff BL RCC_GetITStatus
000020 2800 CMP r0,#0
000022 d07c BEQ |L1.286|
|L1.36|
;;;50 {
;;;51 /* Clear the LCD */
;;;52 LCD_Clear(White);
000024 f64ff64f MOV r6,#0xffff
000028 4630 MOV r0,r6
00002a f7fff7ff BL LCD_Clear
;;;53 /* Set the LCD Back Color */
;;;54 LCD_SetBackColor(Blue);
00002e 201f MOVS r0,#0x1f
000030 f7fff7ff BL LCD_SetBackColor
;;;55
;;;56 /* Set the LCD Text Color */
;;;57 LCD_SetTextColor(White);
000034 4630 MOV r0,r6
000036 f7fff7ff BL LCD_SetTextColor
;;;58
;;;59 /* Display " No Clock Detected " message */
;;;60 LCD_DisplayStringLine(Line0, "No HSE Clock ");
00003a a139 ADR r1,|L1.288|
00003c 2000 MOVS r0,#0
00003e f7fff7ff BL LCD_DisplayStringLine
;;;61 LCD_DisplayStringLine(Line1, "Detected. STANDBY ");
000042 a13d ADR r1,|L1.312|
000044 2018 MOVS r0,#0x18
000046 f7fff7ff BL LCD_DisplayStringLine
;;;62 LCD_DisplayStringLine(Line2, "mode in few seconds.");
00004a a141 ADR r1,|L1.336|
00004c 2030 MOVS r0,#0x30
00004e f7fff7ff BL LCD_DisplayStringLine
;;;63
;;;64 LCD_DisplayStringLine(Line5, "If HSE Clock ");
000052 a145 ADR r1,|L1.360|
000054 2078 MOVS r0,#0x78
000056 f7fff7ff BL LCD_DisplayStringLine
;;;65 LCD_DisplayStringLine(Line6, "recovers before the ");
00005a a149 ADR r1,|L1.384|
00005c 2090 MOVS r0,#0x90
00005e f7fff7ff BL LCD_DisplayStringLine
;;;66 LCD_DisplayStringLine(Line7, "time out, a System ");
000062 a14d ADR r1,|L1.408|
000064 20a8 MOVS r0,#0xa8
000066 f7fff7ff BL LCD_DisplayStringLine
;;;67 LCD_DisplayStringLine(Line8, "Reset is generated. ");
00006a a151 ADR r1,|L1.432|
00006c 20c0 MOVS r0,#0xc0
00006e f7fff7ff BL LCD_DisplayStringLine
;;;68 LCD_ClearLine(Line9);
000072 20d8 MOVS r0,#0xd8
000074 f7fff7ff BL LCD_ClearLine
;;;69 /* Clear Clock Security System interrupt pending bit */
;;;70 RCC_ClearITPendingBit(RCC_IT_CSS);
000078 2080 MOVS r0,#0x80
00007a f7fff7ff BL RCC_ClearITPendingBit
;;;71
;;;72 GPIO_SetBits(GPIOF, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9);
00007e f44ff44f MOV r1,#0x3c0
000082 4851 LDR r0,|L1.456|
000084 f7fff7ff BL GPIO_SetBits
;;;73
;;;74 /* Enable HSE */
;;;75 RCC_HSEConfig(RCC_HSE_ON);
000088 1c70 ADDS r0,r6,#1
00008a f7fff7ff BL RCC_HSEConfig
;;;76 LCD_ClearLine(Line4);
00008e 2060 MOVS r0,#0x60
000090 f7fff7ff BL LCD_ClearLine
;;;77 /* Set the Back Color */
;;;78 LCD_SetBackColor(White);
000094 4630 MOV r0,r6
000096 f7fff7ff BL LCD_SetBackColor
;;;79 /* Set the Text Color */
;;;80 LCD_SetTextColor(Red);
00009a f44ff44f MOV r0,#0xf800
00009e f7fff7ff BL LCD_SetTextColor
;;;81 LCD_DrawRect(71, 319, 25, 320);
0000a2 f44ff44f MOV r3,#0x140
0000a6 2219 MOVS r2,#0x19
0000a8 1e59 SUBS r1,r3,#1
0000aa 2047 MOVS r0,#0x47
0000ac f7fff7ff BL LCD_DrawRect
;;;82 LCD_SetBackColor(Green);
0000b0 f44ff44f MOV r0,#0x7e0
0000b4 f7fff7ff BL LCD_SetBackColor
;;;83 LCD_SetTextColor(White);
0000b8 4630 MOV r0,r6
0000ba f7fff7ff BL LCD_SetTextColor
0000be 4e43 LDR r6,|L1.460|
0000c0 e024 B |L1.268|
|L1.194|
;;;84
;;;85 /* Wait till HSE is ready */
;;;86 while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
;;;87 {
;;;88 if(index == 0x3FFFF)
0000c2 42b4 CMP r4,r6
0000c4 d106 BNE |L1.212|
;;;89 {
;;;90 LCD_DisplayChar(Line3, tmp, 0x20);
0000c6 2220 MOVS r2,#0x20
0000c8 b2a9 UXTH r1,r5
0000ca 2048 MOVS r0,#0x48
0000cc f7fff7ff BL LCD_DisplayChar
;;;91 tmp -= 16;
0000d0 3d10 SUBS r5,r5,#0x10
;;;92 index = 0;
0000d2 2400 MOVS r4,#0
|L1.212|
;;;93 }
;;;94 index++;
0000d4 1c64 ADDS r4,r4,#1
;;;95 /* Enters the system in STANDBY mode */
;;;96 if(tmp < 16)
0000d6 2d10 CMP r5,#0x10
0000d8 d218 BCS |L1.268|
;;;97 {
;;;98 LCD_SetBackColor(Blue);
0000da 201f MOVS r0,#0x1f
0000dc f7fff7ff BL LCD_SetBackColor
;;;99 LCD_ClearLine(Line3);
0000e0 2048 MOVS r0,#0x48
0000e2 f7fff7ff BL LCD_ClearLine
;;;100 LCD_ClearLine(Line4);
0000e6 2060 MOVS r0,#0x60
0000e8 f7fff7ff BL LCD_ClearLine
;;;101 LCD_ClearLine(Line5);
0000ec 2078 MOVS r0,#0x78
0000ee f7fff7ff BL LCD_ClearLine
;;;102 LCD_ClearLine(Line6);
0000f2 2090 MOVS r0,#0x90
0000f4 f7fff7ff BL LCD_ClearLine
;;;103 LCD_DisplayStringLine(Line7, " MCU in STANDBY Mode");
0000f8 a135 ADR r1,|L1.464|
0000fa 20a8 MOVS r0,#0xa8
0000fc f7fff7ff BL LCD_DisplayStringLine
;;;104 LCD_DisplayStringLine(Line8, "To exit press Wakeup");
000100 a139 ADR r1,|L1.488|
000102 20c0 MOVS r0,#0xc0
000104 f7fff7ff BL LCD_DisplayStringLine
;;;105 /* Request to enter STANDBY mode */
;;;106 PWR_EnterSTANDBYMode();
000108 f7fff7ff BL PWR_EnterSTANDBYMode
|L1.268|
00010c 2031 MOVS r0,#0x31 ;86
00010e f7fff7ff BL RCC_GetFlagStatus
000112 2800 CMP r0,#0 ;86
000114 d0d5 BEQ |L1.194|
;;;107 }
;;;108 }
;;;109
;;;110 /* Generate a system reset */
;;;111 NVIC_GenerateSystemReset();
000116 e8bde8bd POP {r4-r6,lr}
00011a f7fff7ff B.W NVIC_GenerateSystemReset
|L1.286|
;;;112 }
;;;113 }
00011e bd70 POP {r4-r6,pc}
;;;114
ENDP
|L1.288|
000120 4e6f2048 DCB "No H"
000124 53452043 DCB "SE C"
000128 6c6f636b DCB "lock"
00012c 20202020 DCB " "
000130 20202020 DCB " "
000134 00000000 DCB "\0\0\0\0"
|L1.312|
000138 44657465 DCB "Dete"
00013c 63746564 DCB "cted"
000140 2e205354 DCB ". ST"
000144 414e4442 DCB "ANDB"
000148 59202020 DCB "Y "
00014c 00000000 DCB "\0\0\0\0"
|L1.336|
000150 6d6f6465 DCB "mode"
000154 20696e20 DCB " in "
000158 66657720 DCB "few "
00015c 7365636f DCB "seco"
000160 6e64732e DCB "nds."
000164 00000000 DCB "\0\0\0\0"
|L1.360|
000168 49662048 DCB "If H"
00016c 53452043 DCB "SE C"
000170 6c6f636b DCB "lock"
000174 20202020 DCB " "
000178 20202020 DCB " "
00017c 20000000 DCB " \0\0\0"
|L1.384|
000180 7265636f DCB "reco"
000184 76657273 DCB "vers"
000188 20626566 DCB " bef"
00018c 6f726520 DCB "ore "
000190 74686520 DCB "the "
000194 20000000 DCB " \0\0\0"
|L1.408|
000198 74696d65 DCB "time"
00019c 206f7574 DCB " out"
0001a0 2c206120 DCB ", a "
0001a4 53797374 DCB "Syst"
0001a8 656d2020 DCB "em "
0001ac 20000000 DCB " \0\0\0"
|L1.432|
0001b0 52657365 DCB "Rese"
0001b4 74206973 DCB "t is"
0001b8 2067656e DCB " gen"
0001bc 65726174 DCB "erat"
0001c0 65642e20 DCB "ed. "
0001c4 20000000 DCB " \0\0\0"
|L1.456|
0001c8 40011c00 DCD 0x40011c00
|L1.460|
0001cc 0003ffff DCD 0x0003ffff
|L1.464|
0001d0 204d4355 DCB " MCU"
0001d4 20696e20 DCB " in "
0001d8 5354414e DCB "STAN"
0001dc 44425920 DCB "DBY "
0001e0 4d6f6465 DCB "Mode"
0001e4 00000000 DCB "\0\0\0\0"
|L1.488|
0001e8 546f2065 DCB "To e"
0001ec 78697420 DCB "xit "
0001f0 70726573 DCB "pres"
0001f4 73205761 DCB "s Wa"
0001f8 6b657570 DCB "keup"
0001fc 00000000 DCB "\0\0\0\0"
AREA ||i.HardFaultException||, CODE, READONLY, ALIGN=1
HardFaultException PROC
;;;124 /* Go to infinite loop when Hard Fault exception occurs */
;;;125 while (1)
000000 e7fe B HardFaultException
;;;126 {
;;;127 }
;;;128 }
;;;129
ENDP
AREA ||i.MemManageException||, CODE, READONLY, ALIGN=1
MemManageException PROC
;;;139 /* Go to infinite loop when Memory Manage exception occurs */
;;;140 while (1)
000000 e7fe B MemManageException
;;;141 {
;;;142 }
;;;143 }
;;;144
ENDP
AREA ||i.BusFaultException||, CODE, READONLY, ALIGN=1
BusFaultException PROC
;;;154 /* Go to infinite loop when Bus Fault exception occurs */
;;;155 while (1)
000000 e7fe B BusFaultException
;;;156 {
;;;157 }
;;;158 }
;;;159
ENDP
AREA ||i.UsageFaultException||, CODE, READONLY, ALIGN=1
UsageFaultException PROC
;;;169 /* Go to infinite loop when Usage Fault exception occurs */
;;;170 while (1)
000000 e7fe B UsageFaultException
;;;171 {
;;;172 }
;;;173 }
;;;174
ENDP
AREA ||i.DebugMonitor||, CODE, READONLY, ALIGN=1
DebugMonitor PROC
;;;183 {
;;;184 }
000000 4770 BX lr
;;;185
ENDP
AREA ||i.SVCHandler||, CODE, READONLY, ALIGN=1
SVCHandler PROC
;;;194 {
;;;195 }
000000 4770 BX lr
;;;196
ENDP
AREA ||i.PendSVC||, CODE, READONLY, ALIGN=1
PendSVC PROC
;;;205 {
;;;206 }
000000 4770 BX lr
;;;207
ENDP
AREA ||i.SysTickHandler||, CODE, READONLY, ALIGN=1
SysTickHandler PROC
;;;217 /* Decrement the TimingDelay variable */
;;;218 Decrement_TimingDelay();
000000 f7fff7ff B.W Decrement_TimingDelay
;;;219 }
;;;220
ENDP
AREA ||i.WWDG_IRQHandler||, CODE, READONLY, ALIGN=1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -