This commit is contained in:
刘正航
2026-04-16 16:55:01 +08:00
commit 609eb878d1
624 changed files with 214375 additions and 0 deletions

View File

@@ -0,0 +1,249 @@
; generated by Component: ARM Compiler 5.06 update 7 (build 960) Tool: ArmCC [4d365d]
; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\flash\obj\misc.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\misc.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931,870 -I..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include -I..\..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\..\Libraries\STM32_USB-FS-Device_Driver\inc -I..\..\Libraries\CMSIS\Include -I..\..\User\bsp -I..\..\User\bsp\inc -I..\..\User\app\inc -I..\..\User -IC:\Users\w1619\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__MICROLIB -D__UVISION_VERSION=538 -DSTM32F10X_HD -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD --omf_browse=.\flash\obj\misc.crf ..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c]
THUMB
AREA ||i.NVIC_Init||, CODE, READONLY, ALIGN=2
NVIC_Init PROC
;;;117 */
;;;118 void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)
000000 b570 PUSH {r4-r6,lr}
;;;119 {
;;;120 uint32_t tmppriority = 0x00, tmppre = 0x00, tmpsub = 0x0F;
000002 2100 MOVS r1,#0
000004 2300 MOVS r3,#0
000006 220f MOVS r2,#0xf
;;;121
;;;122 /* Check the parameters */
;;;123 assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd));
;;;124 assert_param(IS_NVIC_PREEMPTION_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority));
;;;125 assert_param(IS_NVIC_SUB_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelSubPriority));
;;;126
;;;127 if (NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE)
000008 78c4 LDRB r4,[r0,#3]
00000a b304 CBZ r4,|L1.78|
;;;128 {
;;;129 /* Compute the Corresponding IRQ Priority --------------------------------*/
;;;130 tmppriority = (0x700 - ((SCB->AIRCR) & (uint32_t)0x700))>> 0x08;
00000c 4c15 LDR r4,|L1.100|
00000e 6824 LDR r4,[r4,#0]
000010 f40464e0 AND r4,r4,#0x700
000014 f5c464e0 RSB r4,r4,#0x700
000018 0a21 LSRS r1,r4,#8
;;;131 tmppre = (0x4 - tmppriority);
00001a f1c10304 RSB r3,r1,#4
;;;132 tmpsub = tmpsub >> tmppriority;
00001e 40ca LSRS r2,r2,r1
;;;133
;;;134 tmppriority = (uint32_t)NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << tmppre;
000020 7844 LDRB r4,[r0,#1]
000022 fa04f103 LSL r1,r4,r3
;;;135 tmppriority |= NVIC_InitStruct->NVIC_IRQChannelSubPriority & tmpsub;
000026 7884 LDRB r4,[r0,#2]
000028 4014 ANDS r4,r4,r2
00002a 4321 ORRS r1,r1,r4
;;;136 tmppriority = tmppriority << 0x04;
00002c 0109 LSLS r1,r1,#4
;;;137
;;;138 NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
00002e 4c0e LDR r4,|L1.104|
000030 7806 LDRB r6,[r0,#0]
000032 55a1 STRB r1,[r4,r6]
;;;139
;;;140 /* Enable the Selected IRQ Channels --------------------------------------*/
;;;141 NVIC->ISER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] =
000034 7804 LDRB r4,[r0,#0]
000036 f004051f AND r5,r4,#0x1f
00003a 2401 MOVS r4,#1
00003c 40ac LSLS r4,r4,r5
00003e 7805 LDRB r5,[r0,#0]
000040 116d ASRS r5,r5,#5
000042 00ad LSLS r5,r5,#2
000044 f10525e0 ADD r5,r5,#0xe000e000
000048 f8c54100 STR r4,[r5,#0x100]
00004c e009 B |L1.98|
|L1.78|
;;;142 (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F);
;;;143 }
;;;144 else
;;;145 {
;;;146 /* Disable the Selected IRQ Channels -------------------------------------*/
;;;147 NVIC->ICER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] =
00004e 7804 LDRB r4,[r0,#0]
000050 f004051f AND r5,r4,#0x1f
000054 2401 MOVS r4,#1
000056 40ac LSLS r4,r4,r5
000058 4d04 LDR r5,|L1.108|
00005a 7806 LDRB r6,[r0,#0]
00005c 1176 ASRS r6,r6,#5
00005e f8454026 STR r4,[r5,r6,LSL #2]
|L1.98|
;;;148 (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F);
;;;149 }
;;;150 }
000062 bd70 POP {r4-r6,pc}
;;;151
ENDP
|L1.100|
DCD 0xe000ed0c
|L1.104|
DCD 0xe000e400
|L1.108|
DCD 0xe000e180
AREA ||i.NVIC_PriorityGroupConfig||, CODE, READONLY, ALIGN=2
NVIC_PriorityGroupConfig PROC
;;;101 */
;;;102 void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)
000000 4902 LDR r1,|L2.12|
;;;103 {
;;;104 /* Check the parameters */
;;;105 assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));
;;;106
;;;107 /* Set the PRIGROUP[10:8] bits according to NVIC_PriorityGroup value */
;;;108 SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup;
000002 4301 ORRS r1,r1,r0
000004 4a02 LDR r2,|L2.16|
000006 6011 STR r1,[r2,#0]
;;;109 }
000008 4770 BX lr
;;;110
ENDP
00000a 0000 DCW 0x0000
|L2.12|
DCD 0x05fa0000
|L2.16|
DCD 0xe000ed0c
AREA ||i.NVIC_SetVectorTable||, CODE, READONLY, ALIGN=2
NVIC_SetVectorTable PROC
;;;161 */
;;;162 void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset)
000000 4a02 LDR r2,|L3.12|
;;;163 {
;;;164 /* Check the parameters */
;;;165 assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));
;;;166 assert_param(IS_NVIC_OFFSET(Offset));
;;;167
;;;168 SCB->VTOR = NVIC_VectTab | (Offset & (uint32_t)0x1FFFFF80);
000002 400a ANDS r2,r2,r1
000004 4302 ORRS r2,r2,r0
000006 4b02 LDR r3,|L3.16|
000008 601a STR r2,[r3,#0]
;;;169 }
00000a 4770 BX lr
;;;170
ENDP
|L3.12|
DCD 0x1fffff80
|L3.16|
DCD 0xe000ed08
AREA ||i.NVIC_SystemLPConfig||, CODE, READONLY, ALIGN=2
NVIC_SystemLPConfig PROC
;;;180 */
;;;181 void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState)
000000 b129 CBZ r1,|L4.14|
;;;182 {
;;;183 /* Check the parameters */
;;;184 assert_param(IS_NVIC_LP(LowPowerMode));
;;;185 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;186
;;;187 if (NewState != DISABLE)
;;;188 {
;;;189 SCB->SCR |= LowPowerMode;
000002 4a06 LDR r2,|L4.28|
000004 6812 LDR r2,[r2,#0]
000006 4302 ORRS r2,r2,r0
000008 4b04 LDR r3,|L4.28|
00000a 601a STR r2,[r3,#0]
00000c e004 B |L4.24|
|L4.14|
;;;190 }
;;;191 else
;;;192 {
;;;193 SCB->SCR &= (uint32_t)(~(uint32_t)LowPowerMode);
00000e 4a03 LDR r2,|L4.28|
000010 6812 LDR r2,[r2,#0]
000012 4382 BICS r2,r2,r0
000014 4b01 LDR r3,|L4.28|
000016 601a STR r2,[r3,#0]
|L4.24|
;;;194 }
;;;195 }
000018 4770 BX lr
;;;196
ENDP
00001a 0000 DCW 0x0000
|L4.28|
DCD 0xe000ed10
AREA ||i.SysTick_CLKSourceConfig||, CODE, READONLY, ALIGN=1
SysTick_CLKSourceConfig PROC
;;;204 */
;;;205 void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)
000000 2804 CMP r0,#4
;;;206 {
;;;207 /* Check the parameters */
;;;208 assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource));
;;;209 if (SysTick_CLKSource == SysTick_CLKSource_HCLK)
000002 d108 BNE |L5.22|
;;;210 {
;;;211 SysTick->CTRL |= SysTick_CLKSource_HCLK;
000004 f04f21e0 MOV r1,#0xe000e000
000008 6909 LDR r1,[r1,#0x10]
00000a f0410104 ORR r1,r1,#4
00000e f04f22e0 MOV r2,#0xe000e000
000012 6111 STR r1,[r2,#0x10]
000014 e007 B |L5.38|
|L5.22|
;;;212 }
;;;213 else
;;;214 {
;;;215 SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8;
000016 f04f21e0 MOV r1,#0xe000e000
00001a 6909 LDR r1,[r1,#0x10]
00001c f0210104 BIC r1,r1,#4
000020 f04f22e0 MOV r2,#0xe000e000
000024 6111 STR r1,[r2,#0x10]
|L5.38|
;;;216 }
;;;217 }
000026 4770 BX lr
;;;218
ENDP
;*** Start embedded assembler ***
#line 1 "..\\..\\Libraries\\STM32F10x_StdPeriph_Driver\\src\\misc.c"
AREA ||.rev16_text||, CODE
THUMB
EXPORT |__asm___6_misc_c_d0fc1254____REV16|
#line 114 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___6_misc_c_d0fc1254____REV16| PROC
#line 115
rev16 r0, r0
bx lr
ENDP
AREA ||.revsh_text||, CODE
THUMB
EXPORT |__asm___6_misc_c_d0fc1254____REVSH|
#line 128
|__asm___6_misc_c_d0fc1254____REVSH| PROC
#line 129
revsh r0, r0
bx lr
ENDP
;*** End embedded assembler ***