; generated by Component: ARM Compiler 5.05 update 1 (build 106) Tool: ArmCC [4d0efa]
; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\flash\obj\bsp_fpga_power.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\bsp_fpga_power.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 -IC:\Keil_v5\ARM\RV31\INC -IC:\Keil_v5\ARM\CMSIS\Include -IC:\Keil_v5\ARM\Inc\ST\STM32F10x -D__MICROLIB -D__UVISION_VERSION=514 -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD --omf_browse=.\flash\obj\bsp_fpga_power.crf ..\..\User\bsp\src\bsp_fpga_power.c]
                          THUMB

                          AREA ||i.bsp_FpgaPowerCmd||, CODE, READONLY, ALIGN=2

                  bsp_FpgaPowerCmd PROC
;;;53     //------------------------------------------------------------------------------
;;;54     void bsp_FpgaPowerCmd(FunctionalState _NewState)
000000  2801              CMP      r0,#1
;;;55     {
;;;56       if(_NewState==ENABLE)
000002  d103              BNE      |L1.12|
;;;57       {
;;;58         GPIO_PORT_PWR->BSRR = GPIO_PIN_PWR;
000004  0381              LSLS     r1,r0,#14
000006  4a05              LDR      r2,|L1.28|
000008  6011              STR      r1,[r2,#0]
00000a  e005              B        |L1.24|
                  |L1.12|
;;;59       }
;;;60       else if(_NewState==DISABLE)
00000c  b920              CBNZ     r0,|L1.24|
;;;61       {
;;;62         GPIO_PORT_PWR->BRR = GPIO_PIN_PWR;
00000e  f44f4180          MOV      r1,#0x4000
000012  4a02              LDR      r2,|L1.28|
000014  1d12              ADDS     r2,r2,#4
000016  6011              STR      r1,[r2,#0]
                  |L1.24|
;;;63       }
;;;64     }
000018  4770              BX       lr
;;;65     
                          ENDP

00001a  0000              DCW      0x0000
                  |L1.28|
                          DCD      0x40011810

                          AREA ||i.bsp_FpgaPowerMainLoop||, CODE, READONLY, ALIGN=2

                  bsp_FpgaPowerMainLoop PROC
;;;71     //------------------------------------------------------------------------------
;;;72     void bsp_FpgaPowerMainLoop(uint16_t _delay_n_10ms)
000000  b500              PUSH     {lr}
;;;73     {
000002  4603              MOV      r3,r0
;;;74       static uint16_t cnt=0;
;;;75       if(!s_gucStartOk)
000004  4809              LDR      r0,|L2.44|
000006  7800              LDRB     r0,[r0,#0]  ; s_gucStartOk
000008  b970              CBNZ     r0,|L2.40|
;;;76       {
;;;77         if(++cnt>=_delay_n_10ms)
00000a  4809              LDR      r0,|L2.48|
00000c  8800              LDRH     r0,[r0,#0]  ; cnt
00000e  1c40              ADDS     r0,r0,#1
000010  b280              UXTH     r0,r0
000012  4907              LDR      r1,|L2.48|
000014  8008              STRH     r0,[r1,#0]
000016  4298              CMP      r0,r3
000018  db06              BLT      |L2.40|
;;;78         {
;;;79           cnt = 0;
00001a  2000              MOVS     r0,#0
00001c  8008              STRH     r0,[r1,#0]
;;;80           s_gucStartOk = 1;
00001e  2001              MOVS     r0,#1
000020  4902              LDR      r1,|L2.44|
000022  7008              STRB     r0,[r1,#0]
;;;81           bsp_FpgaPowerCmd(ENABLE);
000024  f7fffffe          BL       bsp_FpgaPowerCmd
                  |L2.40|
;;;82         }
;;;83       }
;;;84     }
000028  bd00              POP      {pc}
;;;85     
                          ENDP

00002a  0000              DCW      0x0000
                  |L2.44|
                          DCD      s_gucStartOk
                  |L2.48|
                          DCD      ||cnt||

                          AREA ||i.bsp_InitFpgaPower||, CODE, READONLY, ALIGN=2

                  bsp_InitFpgaPower PROC
;;;32     //------------------------------------------------------------------------------
;;;33     void bsp_InitFpgaPower(void)
000000  b508              PUSH     {r3,lr}
;;;34     {
;;;35       
;;;36     	GPIO_InitTypeDef GPIO_InitStructure;
;;;37     
;;;38     	// 打开GPIO时钟
;;;39     	RCC_APB2PeriphClockCmd(RCC_ALL_FPGA_POWER, ENABLE);
000002  2101              MOVS     r1,#1
000004  2040              MOVS     r0,#0x40
000006  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;40       
;;;41     	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
00000a  2003              MOVS     r0,#3
00000c  f88d0002          STRB     r0,[sp,#2]
;;;42     	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;	// 推挽输出模式
000010  2010              MOVS     r0,#0x10
000012  f88d0003          STRB     r0,[sp,#3]
;;;43     
;;;44     	GPIO_InitStructure.GPIO_Pin = GPIO_PIN_PWR;
000016  0280              LSLS     r0,r0,#10
000018  f8ad0000          STRH     r0,[sp,#0]
;;;45     	GPIO_Init(GPIO_PORT_PWR, &GPIO_InitStructure);
00001c  4669              MOV      r1,sp
00001e  4802              LDR      r0,|L3.40|
000020  f7fffffe          BL       GPIO_Init
;;;46     }
000024  bd08              POP      {r3,pc}
;;;47     
                          ENDP

000026  0000              DCW      0x0000
                  |L3.40|
                          DCD      0x40011800

                          AREA ||.data||, DATA, ALIGN=1

                  s_gucStartOk
000000  0000              DCB      0x00,0x00
                  ||cnt||
000002  0000              DCW      0x0000

;*** Start embedded assembler ***

#line 1 "..\\..\\User\\bsp\\src\\bsp_fpga_power.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___16_bsp_fpga_power_c_e013a162____REV16|
#line 114 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___16_bsp_fpga_power_c_e013a162____REV16| PROC
#line 115

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___16_bsp_fpga_power_c_e013a162____REVSH|
#line 128
|__asm___16_bsp_fpga_power_c_e013a162____REVSH| PROC
#line 129

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
