📄 hw_config.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 938] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\hw_config.o --depend=.\Obj\hw_config.d --device=DARMSTM --apcs=interwork -O3 -I.\Code\FATSystem\INC -I.\Code\Library\INC -I.\Code\SDCard\INC -I.\Code\Speaker\INC -I.\Code\System\INC -I.\Code\USBMassStorage\INC -I.\Code\User\INC -I.\Code\VS1003\INC -ID:\Keil\ARM\INC\ST\STM32F10x --omf_browse=.\Obj\hw_config.crf Code\System\SRC\hw_config.c]
THUMB
AREA ||i.Set_System||, CODE, READONLY, ALIGN=1
Set_System PROC
;;;38 void Set_System(void)
;;;39 {
000000 b510 PUSH {r4,lr}
;;;40
;;;41 /* Enable GPIOB, TIM2 & TIM4 clock */
;;;42 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);
000002 2101 MOVS r1,#1
000004 2008 MOVS r0,#8
000006 f7fffffe BL RCC_APB2PeriphClockCmd
;;;43
;;;44 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM4 , ENABLE);
00000a 2101 MOVS r1,#1
00000c e8bd4010 POP {r4,lr}
000010 2005 MOVS r0,#5
000012 f7ffbffe B.W RCC_APB1PeriphClockCmd
;;;45
;;;46 }
;;;47
ENDP
AREA ||i.NVIC_Config||, CODE, READONLY, ALIGN=1
NVIC_Config PROC
;;;54 void NVIC_Config(void)
;;;55 {
000000 b508 PUSH {r3,lr}
;;;56 NVIC_InitTypeDef NVIC_InitStructure;
;;;57
;;;58 #ifdef VECT_TAB_RAM
;;;59 /* Set the Vector Table base location at 0x20000000 */
;;;60 NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
;;;61 #else /* VECT_TAB_FLASH */
;;;62 /* Set the Vector Table base location at 0x08000000 */
;;;63 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
000002 2100 MOVS r1,#0
000004 f04f6000 MOV r0,#0x8000000
000008 f7fffffe BL NVIC_SetVectorTable
;;;64 #endif
;;;65
;;;66 /* Enable the TIM2 Interrupt */
;;;67 NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
00000c 201c MOVS r0,#0x1c
00000e f88d0000 STRB r0,[sp,#0]
;;;68 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
000012 2000 MOVS r0,#0
000014 f88d0001 STRB r0,[sp,#1]
;;;69 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000018 f88d0002 STRB r0,[sp,#2]
;;;70 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00001c 2001 MOVS r0,#1
00001e f88d0003 STRB r0,[sp,#3]
;;;71 NVIC_Init(&NVIC_InitStructure);
000022 4668 MOV r0,sp
000024 f7fffffe BL NVIC_Init
;;;72 }
000028 bd08 POP {r3,pc}
;;;73
ENDP
AREA ||i.Set_USBClock||, CODE, READONLY, ALIGN=2
Set_USBClock PROC
;;;80 void Set_USBClock(void)
;;;81 {
000000 b508 PUSH {r3,lr}
;;;82 GPIO_InitTypeDef GPIO_InitStructure;
;;;83
;;;84 /* Enable and GPIOD clock */
;;;85 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
000002 2101 MOVS r1,#1
000004 2020 MOVS r0,#0x20
000006 f7fffffe BL RCC_APB2PeriphClockCmd
;;;86
;;;87 /* PD.09 used as USB pull-up */
;;;88 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
00000a f44f7000 MOV r0,#0x200
00000e f8ad0000 STRH r0,[sp,#0]
;;;89 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000012 2003 MOVS r0,#3
000014 f88d0002 STRB r0,[sp,#2]
;;;90 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
000018 2014 MOVS r0,#0x14
00001a f88d0003 STRB r0,[sp,#3]
;;;91 GPIO_Init(GPIOD, &GPIO_InitStructure);
00001e 4669 MOV r1,sp
000020 4805 LDR r0,|L3.56|
000022 f7fffffe BL GPIO_Init
;;;92 /* USBCLK = PLLCLK */
;;;93 RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);
000026 2000 MOVS r0,#0
000028 f7fffffe BL RCC_USBCLKConfig
;;;94
;;;95 /* Enable USB clock */
;;;96 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);
00002c 2101 MOVS r1,#1
00002e 05c8 LSLS r0,r1,#23
000030 f7fffffe BL RCC_APB1PeriphClockCmd
;;;97
;;;98 }
000034 bd08 POP {r3,pc}
;;;99
ENDP
000036 0000 DCW 0x0000
|L3.56|
000038 40011400 DCD 0x40011400
AREA ||i.Enter_LowPowerMode||, CODE, READONLY, ALIGN=1
Enter_LowPowerMode PROC
;;;107 {
;;;108 }
000000 4770 BX lr
;;;109
ENDP
AREA ||i.Leave_LowPowerMode||, CODE, READONLY, ALIGN=1
Leave_LowPowerMode PROC
;;;117 {
;;;118 }
000000 4770 BX lr
;;;119
ENDP
AREA ||i.USB_Interrupts_Config||, CODE, READONLY, ALIGN=1
USB_Interrupts_Config PROC
;;;126 void USB_Interrupts_Config(void)
;;;127 {
000000 b538 PUSH {r3-r5,lr}
;;;128 NVIC_InitTypeDef NVIC_InitStructure;
;;;129
;;;130 #ifdef VECT_TAB_RAM
;;;131 /* Set the Vector Table base location at 0x20000000 */
;;;132 NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
;;;133 #else /* VECT_TAB_FLASH */
;;;134 /* Set the Vector Table base location at 0x08000000 */
;;;135 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
000002 2100 MOVS r1,#0
000004 f04f6000 MOV r0,#0x8000000
000008 f7fffffe BL NVIC_SetVectorTable
;;;136 #endif
;;;137
;;;138 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
00000c f44f60c0 MOV r0,#0x600
000010 f7fffffe BL NVIC_PriorityGroupConfig
;;;139
;;;140 NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN_RX0_IRQChannel;
000014 2014 MOVS r0,#0x14
000016 f88d0000 STRB r0,[sp,#0]
;;;141 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
00001a 2501 MOVS r5,#1
00001c f88d5001 STRB r5,[sp,#1]
;;;142 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000020 2400 MOVS r4,#0
000022 f88d4002 STRB r4,[sp,#2]
;;;143 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000026 f88d5003 STRB r5,[sp,#3]
;;;144 NVIC_Init(&NVIC_InitStructure);
00002a 4668 MOV r0,sp
00002c f7fffffe BL NVIC_Init
;;;145
;;;146 NVIC_InitStructure.NVIC_IRQChannel = USB_HP_CAN_TX_IRQChannel;
000030 2013 MOVS r0,#0x13
000032 f88d0000 STRB r0,[sp,#0]
;;;147 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
000036 f88d4001 STRB r4,[sp,#1]
;;;148 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
00003a f88d4002 STRB r4,[sp,#2]
;;;149 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00003e f88d5003 STRB r5,[sp,#3]
;;;150 NVIC_Init(&NVIC_InitStructure);
000042 4668 MOV r0,sp
000044 f7fffffe BL NVIC_Init
;;;151 }
000048 bd38 POP {r3-r5,pc}
;;;152
ENDP
AREA ||i.Led_Config||, CODE, READONLY, ALIGN=2
Led_Config PROC
;;;160 void Led_Config(void)
;;;161 {
000000 b508 PUSH {r3,lr}
;;;162 GPIO_InitTypeDef GPIO_InitStructure;
;;;163
;;;164 /* Enable GPIOC clock */
;;;165 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
000002 2101 MOVS r1,#1
000004 2010 MOVS r0,#0x10
000006 f7fffffe BL RCC_APB2PeriphClockCmd
;;;166
;;;167 /* Configure PC.06, PC.07, PC.08 and PC.09 as output push-pull */
;;;168 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
00000a f44f7070 MOV r0,#0x3c0
00000e f8ad0000 STRH r0,[sp,#0]
;;;169 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
000012 2010 MOVS r0,#0x10
000014 f88d0003 STRB r0,[sp,#3]
;;;170 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000018 2003 MOVS r0,#3
00001a f88d0002 STRB r0,[sp,#2]
;;;171 GPIO_Init(GPIOC, &GPIO_InitStructure);
00001e 4669 MOV r1,sp
000020 4801 LDR r0,|L7.40|
000022 f7fffffe BL GPIO_Init
;;;172 }
000026 bd08 POP {r3,pc}
;;;173
ENDP
|L7.40|
000028 40011000 DCD 0x40011000
AREA ||i.Led_RW_ON||, CODE, READONLY, ALIGN=2
Led_RW_ON PROC
;;;182 {
;;;183 GPIO_SetBits(GPIOC, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9);
000000 f44f7170 MOV r1,#0x3c0
000004 4801 LDR r0,|L8.12|
000006 f7ffbffe B.W GPIO_SetBits
;;;184 }
;;;185
ENDP
00000a 0000 DCW 0x0000
|L8.12|
00000c 40011000 DCD 0x40011000
AREA ||i.Led_RW_OFF||, CODE, READONLY, ALIGN=2
Led_RW_OFF PROC
;;;194 {
;;;195 GPIO_ResetBits(GPIOC, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9);
000000 f44f7170 MOV r1,#0x3c0
000004 4801 LDR r0,|L9.12|
000006 f7ffbffe B.W GPIO_ResetBits
;;;196 }
;;;197
ENDP
00000a 0000 DCW 0x0000
|L9.12|
00000c 40011000 DCD 0x40011000
AREA ||i.USB_Cable_Config||, CODE, READONLY, ALIGN=2
USB_Cable_Config PROC
;;;204 void USB_Cable_Config (FunctionalState NewState)
;;;205 {
000000 4a04 LDR r2,|L10.20|
;;;206 if (NewState != DISABLE)
000002 2800 CMP r0,#0
000004 f44f7100 MOV r1,#0x200 ;205
;;;207 {
;;;208 GPIO_ResetBits(GPIOD, GPIO_Pin_9);
000008 4610 MOV r0,r2
00000a d001 BEQ |L10.16|
00000c f7ffbffe B.W GPIO_ResetBits
|L10.16|
;;;209 }
;;;210 else
;;;211 {
;;;212 GPIO_SetBits(GPIOD, GPIO_Pin_9);
000010 f7ffbffe B.W GPIO_SetBits
;;;213 }
;;;214 }
;;;215
ENDP
|L10.20|
000014 40011400 DCD 0x40011400
AREA ||.data||, DATA, ALIGN=0
HSEStartUpStatus
000000 00 DCB 0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -