📄 hw_config.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\hw_config.o --depend=.\Int_Flash\hw_config.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\hw_config.crf ..\source\hw_config.c]
THUMB
AREA ||i.MAL_Config||, CODE, READONLY, ALIGN=1
MAL_Config PROC
000000 b510 PUSH {r4,lr}
000002 2000 MOVS r0,#0
000004 f7fffffe BL MAL_Init
000008 2101 MOVS r1,#1
00000a 0208 LSLS r0,r1,#8
00000c f7fffffe BL RCC_AHBPeriphClockCmd
000010 e8bd4010 POP {r4,lr}
000014 2001 MOVS r0,#1
000016 f7ffbffe B.W MAL_Init
ENDP
AREA ||i.USB_Disconnect_Config||, CODE, READONLY, ALIGN=2
USB_Disconnect_Config PROC
000000 b508 PUSH {r3,lr}
000002 2101 MOVS r1,#1
000004 2008 MOVS r0,#8
000006 f7fffffe BL RCC_APB2PeriphClockCmd
00000a f44f4080 MOV r0,#0x4000
00000e f8ad0000 STRH r0,[sp,#0]
000012 2003 MOVS r0,#3
000014 f88d0002 STRB r0,[sp,#2]
000018 2014 MOVS r0,#0x14
00001a f88d0003 STRB r0,[sp,#3]
00001e 4669 MOV r1,sp
000020 4801 LDR r0,|L2.40|
000022 f7fffffe BL GPIO_Init
000026 bd08 POP {r3,pc}
ENDP
|L2.40|
000028 40010c00 DCD 0x40010c00
AREA ||i.Set_System||, CODE, READONLY, ALIGN=1
Set_System PROC
;;;42 void Set_System(void)
;;;43 {
000000 b510 PUSH {r4,lr}
;;;44 /* RCC configuration */
;;;45 RCC_Config();
000002 f7fffffe BL RCC_Config
;;;46
;;;47 /* Enable and GPIOD clock */
;;;48 USB_Disconnect_Config();
000006 f7fffffe BL USB_Disconnect_Config
;;;49
;;;50 /* MAL configuration */
;;;51 MAL_Config();
00000a e8bd4010 POP {r4,lr}
00000e f7ffbffe B.W MAL_Config
;;;52 }
;;;53
ENDP
AREA ||i.Set_USBClock||, CODE, READONLY, ALIGN=1
Set_USBClock PROC
;;;60 void Set_USBClock(void)
;;;61 {
000000 b510 PUSH {r4,lr}
;;;62 /* USBCLK = PLLCLK */
;;;63 RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);
000002 2000 MOVS r0,#0
000004 f7fffffe BL RCC_USBCLKConfig
;;;64
;;;65 /* Enable USB clock */
;;;66 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);
000008 2101 MOVS r1,#1
00000a e8bd4010 POP {r4,lr}
00000e 05c8 LSLS r0,r1,#23
000010 f7ffbffe B.W RCC_APB1PeriphClockCmd
;;;67 }
;;;68
ENDP
AREA ||i.Enter_LowPowerMode||, CODE, READONLY, ALIGN=2
Enter_LowPowerMode PROC
;;;77 /* Set the device state to suspend */
;;;78 bDeviceState = SUSPENDED;
000000 4901 LDR r1,|L5.8|
000002 2003 MOVS r0,#3
000004 6008 STR r0,[r1,#0] ; bDeviceState
;;;79 }
000006 4770 BX lr
;;;80
ENDP
|L5.8|
000008 00000000 DCD bDeviceState
AREA ||i.Leave_LowPowerMode||, CODE, READONLY, ALIGN=2
Leave_LowPowerMode PROC
;;;88 {
;;;89 DEVICE_INFO *pInfo = &Device_Info;
000000 4804 LDR r0,|L6.20|
;;;90
;;;91 /* Set the device state to the correct state */
;;;92 if (pInfo->Current_Configuration != 0)
000002 7a81 LDRB r1,[r0,#0xa]
000004 4804 LDR r0,|L6.24|
000006 b109 CBZ r1,|L6.12|
;;;93 {
;;;94 /* Device configured */
;;;95 bDeviceState = CONFIGURED;
000008 2105 MOVS r1,#5
00000a e000 B |L6.14|
|L6.12|
;;;96 }
;;;97 else
;;;98 {
;;;99 bDeviceState = ATTACHED;
00000c 2101 MOVS r1,#1
|L6.14|
00000e 6001 STR r1,[r0,#0] ;95 ; bDeviceState
;;;100 }
;;;101
;;;102 }
000010 4770 BX lr
;;;103
ENDP
000012 0000 DCW 0x0000
|L6.20|
000014 00000000 DCD Device_Info
|L6.24|
000018 00000000 DCD bDeviceState
AREA ||i.USB_Interrupts_Config||, CODE, READONLY, ALIGN=1
USB_Interrupts_Config PROC
;;;110 void USB_Interrupts_Config(void)
;;;111 {
000000 b538 PUSH {r3-r5,lr}
;;;112 NVIC_InitTypeDef NVIC_InitStructure;
;;;113
;;;114 #ifdef VECT_TAB_RAM
;;;115 /* Set the Vector Table base location at 0x20000000 */
;;;116 NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
;;;117 #else /* VECT_TAB_FLASH */
;;;118 /* Set the Vector Table base location at 0x08000000 */
;;;119 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
000002 2100 MOVS r1,#0
000004 f04f6000 MOV r0,#0x8000000
000008 f7fffffe BL NVIC_SetVectorTable
;;;120 #endif
;;;121
;;;122 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
00000c f44f60c0 MOV r0,#0x600
000010 f7fffffe BL NVIC_PriorityGroupConfig
;;;123
;;;124 NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN_RX0_IRQChannel;
000014 2014 MOVS r0,#0x14
000016 f88d0000 STRB r0,[sp,#0]
;;;125 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
00001a 2401 MOVS r4,#1
00001c f88d4001 STRB r4,[sp,#1]
;;;126 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
000020 f88d4002 STRB r4,[sp,#2]
;;;127 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000024 f88d4003 STRB r4,[sp,#3]
;;;128 NVIC_Init(&NVIC_InitStructure);
000028 4668 MOV r0,sp
00002a f7fffffe BL NVIC_Init
;;;129
;;;130 NVIC_InitStructure.NVIC_IRQChannel = USB_HP_CAN_TX_IRQChannel;
00002e 2013 MOVS r0,#0x13
000030 f88d0000 STRB r0,[sp,#0]
;;;131 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
000034 f88d4001 STRB r4,[sp,#1]
;;;132 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000038 2500 MOVS r5,#0
00003a f88d5002 STRB r5,[sp,#2]
;;;133 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00003e f88d4003 STRB r4,[sp,#3]
;;;134 NVIC_Init(&NVIC_InitStructure);
000042 4668 MOV r0,sp
000044 f7fffffe BL NVIC_Init
;;;135
;;;136 NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQChannel;
000048 2031 MOVS r0,#0x31
00004a f88d0000 STRB r0,[sp,#0]
;;;137 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
00004e f88d5001 STRB r5,[sp,#1]
;;;138 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000052 f88d5002 STRB r5,[sp,#2]
;;;139 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000056 f88d4003 STRB r4,[sp,#3]
;;;140 NVIC_Init(&NVIC_InitStructure);
00005a 4668 MOV r0,sp
00005c f7fffffe BL NVIC_Init
;;;141
;;;142 }
000060 bd38 POP {r3-r5,pc}
;;;143
ENDP
AREA ||i.Led_Config||, CODE, READONLY, ALIGN=2
Led_Config PROC
;;;151 void Led_Config(void)
;;;152 {
000000 b508 PUSH {r3,lr}
;;;153 GPIO_InitTypeDef GPIO_InitStructure;
;;;154
;;;155 /* Enable USB_LED_PORT clock */
;;;156 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_LED, ENABLE);
000002 2101 MOVS r1,#1
000004 2008 MOVS r0,#8
000006 f7fffffe BL RCC_APB2PeriphClockCmd
;;;157
;;;158 /* Configure USB_LED_PORT pin6, pin7, pin8 and pin9 as output push-pull */
;;;159 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8;
00000a f44f70e0 MOV r0,#0x1c0
00000e f8ad0000 STRH r0,[sp,#0]
;;;160 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
000012 2010 MOVS r0,#0x10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -