📄 hw_config.txt
字号:
;;;295
;;;296 /* PCLK1 = HCLK/2 */
;;;297 RCC_PCLK1Config(RCC_HCLK_Div2);
000036 11a0 ASRS r0,r4,#6
000038 f7fffffe BL RCC_PCLK1Config
;;;298
;;;299 /* ADCCLK = PCLK2/6 */
;;;300 RCC_ADCCLKConfig(RCC_PCLK2_Div6);
00003c 1060 ASRS r0,r4,#1
00003e f7fffffe BL RCC_ADCCLKConfig
;;;301
;;;302
;;;303 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
000042 f44f11e0 MOV r1,#0x1c0000
000046 4620 MOV r0,r4
000048 f7fffffe BL RCC_PLLConfig
;;;304
;;;305 /* Enable PLL */
;;;306 RCC_PLLCmd(ENABLE);
00004c 2001 MOVS r0,#1
00004e f7fffffe BL RCC_PLLCmd
|L8.82|
;;;307
;;;308 /* Wait till PLL is ready */
;;;309 while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
000052 2039 MOVS r0,#0x39
000054 f7fffffe BL RCC_GetFlagStatus
000058 2800 CMP r0,#0
00005a d0fa BEQ |L8.82|
;;;310 {}
;;;311
;;;312 /* Select PLL as system clock source */
;;;313 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
00005c 2002 MOVS r0,#2
00005e f7fffffe BL RCC_SYSCLKConfig
;;;314
;;;315 /* Wait till PLL is used as system clock source */
;;;316 while (RCC_GetSYSCLKSource() != 0x08)
000062 bf00 NOP
|L8.100|
000064 f7fffffe BL RCC_GetSYSCLKSource
000068 2808 CMP r0,#8
00006a d1fb BNE |L8.100|
|L8.108|
;;;317 {}
;;;318 }
;;;319 }
00006c bd10 POP {r4,pc}
;;;320
ENDP
00006e 0000 DCW 0x0000
|L8.112|
DCD ||.data||
AREA ||i.Set_System||, CODE, READONLY, ALIGN=1
Set_System PROC
;;;41 *******************************************************************************/
;;;42 void Set_System(void)
000000 b510 PUSH {r4,lr}
;;;43 {
;;;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
;;;59 *******************************************************************************/
;;;60 void Set_USBClock(void)
000000 b510 PUSH {r4,lr}
;;;61 {
;;;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.USB_Cable_Config||, CODE, READONLY, ALIGN=2
USB_Cable_Config PROC
;;;217 *******************************************************************************/
;;;218 void USB_Cable_Config (FunctionalState NewState)
000000 4a04 LDR r2,|L11.20|
;;;219 {
;;;220 if (NewState != DISABLE)
000002 2800 CMP r0,#0
;;;221 {
;;;222 GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN);
000004 f44f4180 MOV r1,#0x4000
000008 4610 MOV r0,r2
00000a d001 BEQ |L11.16|
00000c f7ffbffe B.W GPIO_ResetBits
|L11.16|
;;;223 }
;;;224 else
;;;225 {
;;;226 GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN);
000010 f7ffbffe B.W GPIO_SetBits
;;;227 }
;;;228 }
;;;229
ENDP
|L11.20|
DCD 0x40010c00
AREA ||i.USB_Configured_LED||, CODE, READONLY, ALIGN=2
USB_Configured_LED PROC
;;;194 *******************************************************************************/
;;;195 void USB_Configured_LED(void)
000000 2140 MOVS r1,#0x40
;;;196 {
;;;197 GPIO_SetBits(USB_LED_PORT, GPIO_Pin_6);
000002 4801 LDR r0,|L12.8|
000004 f7ffbffe B.W GPIO_SetBits
;;;198 }
;;;199
ENDP
|L12.8|
DCD 0x40011c00
AREA ||i.USB_Disconnect_Config||, CODE, READONLY, ALIGN=2
USB_Disconnect_Config PROC
;;;341 *******************************************************************************/
;;;342 void USB_Disconnect_Config(void)
000000 b508 PUSH {r3,lr}
;;;343 {
;;;344 GPIO_InitTypeDef GPIO_InitStructure;
;;;345
;;;346 /* Enable USB_DISCONNECT GPIO clock */
;;;347 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_DISCONNECT, ENABLE);
000002 2101 MOVS r1,#1
000004 2008 MOVS r0,#8
000006 f7fffffe BL RCC_APB2PeriphClockCmd
;;;348
;;;349 /* USB_DISCONNECT_PIN used as USB pull-up */
;;;350 GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN;
00000a f44f4080 MOV r0,#0x4000
00000e f8ad0000 STRH r0,[sp,#0]
;;;351 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000012 2003 MOVS r0,#3
000014 f88d0002 STRB r0,[sp,#2]
;;;352 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
000018 2014 MOVS r0,#0x14
00001a f88d0003 STRB r0,[sp,#3]
;;;353 GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure);
00001e 4669 MOV r1,sp
000020 4801 LDR r0,|L13.40|
000022 f7fffffe BL GPIO_Init
;;;354 }
000026 bd08 POP {r3,pc}
;;;355
ENDP
|L13.40|
DCD 0x40010c00
AREA ||i.USB_Interrupts_Config||, CODE, READONLY, ALIGN=1
USB_Interrupts_Config PROC
;;;109 *******************************************************************************/
;;;110 void USB_Interrupts_Config(void)
000000 b538 PUSH {r3-r5,lr}
;;;111 {
;;;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.USB_NotConfigured_LED||, CODE, READONLY, ALIGN=2
USB_NotConfigured_LED PROC
;;;206 *******************************************************************************/
;;;207 void USB_NotConfigured_LED(void)
000000 2140 MOVS r1,#0x40
;;;208 {
;;;209 GPIO_ResetBits(USB_LED_PORT, GPIO_Pin_6);
000002 4801 LDR r0,|L15.8|
000004 f7ffbffe B.W GPIO_ResetBits
;;;210 }
;;;211
ENDP
|L15.8|
DCD 0x40011c00
AREA ||.data||, DATA, ALIGN=0
HSEStartUpStatus
000000 00 DCB 0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -