📄 stm32f10x_it.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\stm32f10x_it.o --depend=.\Int_Flash\stm32f10x_it.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\stm32f10x_it.crf ..\source\stm32f10x_it.c]
THUMB
AREA ||i.NMIException||, CODE, READONLY, ALIGN=2
NMI_Handler ; Alternate entry point
NMIException PROC
;;;39 void NMIException(void)
;;;40 {
;;;41 u32 tmp = 318, index = 0;
;;;42
;;;43 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
;;;44
;;;45 /* Disable LCD Window mode */
;;;46 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))
;;;50 {
;;;51 /* Clear the LCD */
;;;52 LCD_Clear(White);
;;;53 /* Set the LCD Back Color */
;;;54 LCD_SetBackColor(Blue);
;;;55
;;;56 /* Set the LCD Text Color */
;;;57 LCD_SetTextColor(White);
;;;58
;;;59 /* Display " No Clock Detected " message */
;;;60 LCD_DisplayStringLine(Line0, "No HSE Clock ");
;;;61 LCD_DisplayStringLine(Line1, "Detected. STANDBY ");
;;;62 LCD_DisplayStringLine(Line2, "mode in few seconds.");
;;;63
;;;64 LCD_DisplayStringLine(Line5, "If HSE Clock ");
;;;65 LCD_DisplayStringLine(Line6, "recovers before the ");
;;;66 LCD_DisplayStringLine(Line7, "time out, a System ");
;;;67 LCD_DisplayStringLine(Line8, "Reset is generated. ");
;;;68 LCD_ClearLine(Line9);
;;;69 /* Clear Clock Security System interrupt pending bit */
;;;70 RCC_ClearITPendingBit(RCC_IT_CSS);
;;;71
;;;72 GPIO_SetBits(GPIOF, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9);
;;;73
;;;74 /* Enable HSE */
;;;75 RCC_HSEConfig(RCC_HSE_ON);
;;;76 LCD_ClearLine(Line4);
;;;77 /* Set the Back Color */
;;;78 LCD_SetBackColor(White);
;;;79 /* Set the Text Color */
;;;80 LCD_SetTextColor(Red);
;;;81 LCD_DrawRect(71, 319, 25, 320);
;;;82 LCD_SetBackColor(Green);
;;;83 LCD_SetTextColor(White);
;;;84
;;;85 /* Wait till HSE is ready */
;;;86 while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
;;;87 {
;;;88 if(index == 0x3FFFF)
;;;89 {
;;;90 LCD_DisplayChar(Line3, tmp, 0x20);
;;;91 tmp -= 16;
;;;92 index = 0;
;;;93 }
;;;94 index++;
;;;95 /* Enters the system in STANDBY mode */
;;;96 if(tmp < 16)
;;;97 {
;;;98 LCD_SetBackColor(Blue);
;;;99 LCD_ClearLine(Line3);
;;;100 LCD_ClearLine(Line4);
;;;101 LCD_ClearLine(Line5);
;;;102 LCD_ClearLine(Line6);
;;;103 LCD_DisplayStringLine(Line7, " MCU in STANDBY Mode");
;;;104 LCD_DisplayStringLine(Line8, "To exit press Wakeup");
;;;105 /* Request to enter STANDBY mode */
;;;106 PWR_EnterSTANDBYMode();
;;;107 }
;;;108 }
;;;109
;;;110 /* Generate a system reset */
;;;111 NVIC_GenerateSystemReset();
;;;112 }
;;;113 }
;;;114
000000 b570 PUSH {r4-r6,lr}
000002 2101 MOVS r1,#1
000004 f44f759f MOV r5,#0x13e
000008 2400 MOVS r4,#0
00000a 0208 LSLS r0,r1,#8
00000c f7fffffe BL RCC_AHBPeriphClockCmd
000010 f7fffffe BL LCD_WindowModeDisable
000014 f7fffffe BL Get_HSEStartUpStatus
000018 b120 CBZ r0,|L1.36|
00001a 2080 MOVS r0,#0x80
00001c f7fffffe BL RCC_GetITStatus
000020 2800 CMP r0,#0
000022 d07c BEQ |L1.286|
|L1.36|
000024 f64f76ff MOV r6,#0xffff
000028 4630 MOV r0,r6
00002a f7fffffe BL LCD_Clear
00002e 201f MOVS r0,#0x1f
000030 f7fffffe BL LCD_SetBackColor
000034 4630 MOV r0,r6
000036 f7fffffe BL LCD_SetTextColor
00003a a139 ADR r1,|L1.288|
00003c 2000 MOVS r0,#0
00003e f7fffffe BL LCD_DisplayStringLine
000042 a13d ADR r1,|L1.312|
000044 2018 MOVS r0,#0x18
000046 f7fffffe BL LCD_DisplayStringLine
00004a a141 ADR r1,|L1.336|
00004c 2030 MOVS r0,#0x30
00004e f7fffffe BL LCD_DisplayStringLine
000052 a145 ADR r1,|L1.360|
000054 2078 MOVS r0,#0x78
000056 f7fffffe BL LCD_DisplayStringLine
00005a a149 ADR r1,|L1.384|
00005c 2090 MOVS r0,#0x90
00005e f7fffffe BL LCD_DisplayStringLine
000062 a14d ADR r1,|L1.408|
000064 20a8 MOVS r0,#0xa8
000066 f7fffffe BL LCD_DisplayStringLine
00006a a151 ADR r1,|L1.432|
00006c 20c0 MOVS r0,#0xc0
00006e f7fffffe BL LCD_DisplayStringLine
000072 20d8 MOVS r0,#0xd8
000074 f7fffffe BL LCD_ClearLine
000078 2080 MOVS r0,#0x80
00007a f7fffffe BL RCC_ClearITPendingBit
00007e f44f7170 MOV r1,#0x3c0
000082 4851 LDR r0,|L1.456|
000084 f7fffffe BL GPIO_SetBits
000088 1c70 ADDS r0,r6,#1
00008a f7fffffe BL RCC_HSEConfig
00008e 2060 MOVS r0,#0x60
000090 f7fffffe BL LCD_ClearLine
000094 4630 MOV r0,r6
000096 f7fffffe BL LCD_SetBackColor
00009a f44f4078 MOV r0,#0xf800
00009e f7fffffe BL LCD_SetTextColor
0000a2 f44f73a0 MOV r3,#0x140
0000a6 2219 MOVS r2,#0x19
0000a8 1e59 SUBS r1,r3,#1
0000aa 2047 MOVS r0,#0x47
0000ac f7fffffe BL LCD_DrawRect
0000b0 f44f60fc MOV r0,#0x7e0
0000b4 f7fffffe BL LCD_SetBackColor
0000b8 4630 MOV r0,r6
0000ba f7fffffe BL LCD_SetTextColor
0000be 4e43 LDR r6,|L1.460|
0000c0 e024 B |L1.268|
|L1.194|
0000c2 42b4 CMP r4,r6
0000c4 d106 BNE |L1.212|
0000c6 2220 MOVS r2,#0x20
0000c8 b2a9 UXTH r1,r5
0000ca 2048 MOVS r0,#0x48
0000cc f7fffffe BL LCD_DisplayChar
0000d0 3d10 SUBS r5,r5,#0x10
0000d2 2400 MOVS r4,#0
|L1.212|
0000d4 1c64 ADDS r4,r4,#1
0000d6 2d10 CMP r5,#0x10
0000d8 d218 BCS |L1.268|
0000da 201f MOVS r0,#0x1f
0000dc f7fffffe BL LCD_SetBackColor
0000e0 2048 MOVS r0,#0x48
0000e2 f7fffffe BL LCD_ClearLine
0000e6 2060 MOVS r0,#0x60
0000e8 f7fffffe BL LCD_ClearLine
0000ec 2078 MOVS r0,#0x78
0000ee f7fffffe BL LCD_ClearLine
0000f2 2090 MOVS r0,#0x90
0000f4 f7fffffe BL LCD_ClearLine
0000f8 a135 ADR r1,|L1.464|
0000fa 20a8 MOVS r0,#0xa8
0000fc f7fffffe BL LCD_DisplayStringLine
000100 a139 ADR r1,|L1.488|
000102 20c0 MOVS r0,#0xc0
000104 f7fffffe BL LCD_DisplayStringLine
000108 f7fffffe BL PWR_EnterSTANDBYMode
|L1.268|
00010c 2031 MOVS r0,#0x31
00010e f7fffffe BL RCC_GetFlagStatus
000112 2800 CMP r0,#0
000114 d0d5 BEQ |L1.194|
000116 e8bd4070 POP {r4-r6,lr}
00011a f7ffbffe B.W NVIC_GenerateSystemReset
|L1.286|
00011e bd70 POP {r4-r6,pc}
ENDP
|L1.288|
000120 4e6f2048534520436c6f636b202020202020202000 DCB "No HSE Clock ",0
000135 00 DCB 0
000136 00 DCB 0
000137 00 DCB 0
|L1.312|
000138 44657465637465642e205354414e44425920202000 DCB "Detected. STANDBY ",0
00014d 00 DCB 0
00014e 00 DCB 0
00014f 00 DCB 0
|L1.336|
000150 6d6f646520696e20666577207365636f6e64732e00 DCB "mode in few seconds.",0
000165 00 DCB 0
000166 00 DCB 0
000167 00 DCB 0
|L1.360|
000168 49662048534520436c6f636b20202020202020202000 DCB "If HSE Clock ",0
00017e 00 DCB 0
00017f 00 DCB 0
|L1.384|
000180 7265636f76657273206265666f726520746865202000 DCB "recovers before the ",0
000196 00 DCB 0
000197 00 DCB 0
|L1.408|
000198 74696d65206f75742c20612053797374656d20202000 DCB "time out, a System ",0
0001ae 00 DCB 0
0001af 00 DCB 0
|L1.432|
0001b0 52657365742069732067656e6572617465642e202000 DCB "Reset is generated. ",0
0001c6 00 DCB 0
0001c7 00 DCB 0
|L1.456|
0001c8 40011c00 DCD 0x40011c00
|L1.460|
0001cc 0003ffff DCD 0x0003ffff
|L1.464|
0001d0 204d435520696e205354414e444259204d6f646500 DCB " MCU in STANDBY Mode",0
0001e5 00 DCB 0
0001e6 00 DCB 0
0001e7 00 DCB 0
|L1.488|
0001e8 546f20657869742070726573732057616b65757000 DCB "To exit press Wakeup",0
0001fd 00 DCB 0
0001fe 00 DCB 0
0001ff 00 DCB 0
AREA ||i.HardFaultException||, CODE, READONLY, ALIGN=1
HardFault_Handler ; Alternate entry point
HardFaultException PROC
;;;124 /* Go to infinite loop when Hard Fault exception occurs */
;;;125 while (1)
;;;126 {
;;;127 }
;;;128 }
;;;129
000000 e7fe B HardFault_Handler
ENDP
AREA ||i.MemManageException||, CODE, READONLY, ALIGN=1
MemManage_Handler ; Alternate entry point
MemManageException PROC
;;;139 /* Go to infinite loop when Memory Manage exception occurs */
;;;140 while (1)
;;;141 {
;;;142 }
;;;143 }
;;;144
000000 e7fe B MemManage_Handler
ENDP
AREA ||i.BusFaultException||, CODE, READONLY, ALIGN=1
BusFault_Handler ; Alternate entry point
BusFaultException PROC
;;;154 /* Go to infinite loop when Bus Fault exception occurs */
;;;155 while (1)
;;;156 {
;;;157 }
;;;158 }
;;;159
000000 e7fe B BusFault_Handler
ENDP
AREA ||i.UsageFaultException||, CODE, READONLY, ALIGN=1
UsageFault_Handler ; Alternate entry point
UsageFaultException PROC
;;;169 /* Go to infinite loop when Usage Fault exception occurs */
;;;170 while (1)
;;;171 {
;;;172 }
;;;173 }
;;;174
000000 e7fe B UsageFault_Handler
ENDP
AREA ||i.DebugMonitor||, CODE, READONLY, ALIGN=1
DebugMon_Handler ; Alternate entry point
DebugMonitor PROC
;;;183 {
;;;184 }
;;;185
000000 4770 BX lr
ENDP
AREA ||i.SVCHandler||, CODE, READONLY, ALIGN=1
SVC_Handler ; Alternate entry point
SVCHandler PROC
;;;194 {
;;;195 }
;;;196
000000 4770 BX lr
ENDP
AREA ||i.PendSVC||, CODE, READONLY, ALIGN=1
PendSV_Handler ; Alternate entry point
PendSVC PROC
;;;205 {
;;;206 }
;;;207
000000 4770 BX lr
ENDP
AREA ||i.SysTickHandler||, CODE, READONLY, ALIGN=1
SysTick_Handler ; Alternate entry point
SysTickHandler PROC
;;;217 /* Decrement the TimingDelay variable */
;;;218 Decrement_TimingDelay();
;;;219 }
;;;220
000000 f7ffbffe B.W Decrement_TimingDelay
ENDP
AREA ||i.WWDG_IRQHandler||, CODE, READONLY, ALIGN=1
WWDG_IRQHandler PROC
;;;229 {
;;;230 }
000000 4770 BX lr
;;;231
ENDP
AREA ||i.PVD_IRQHandler||, CODE, READONLY, ALIGN=1
PVD_IRQHandler PROC
;;;240 {
;;;241 }
000000 4770 BX lr
;;;242
ENDP
AREA ||i.TAMPER_IRQHandler||, CODE, READONLY, ALIGN=1
TAMPER_IRQHandler PROC
;;;251 {
;;;252 }
000000 4770 BX lr
;;;253
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -