; generated by ARM C/C++ Compiler, 4.1 [Build 894]
; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\STM324xG_EVAL\stm324xg_eval.o --asm_dir=.\STM324xG_EVAL\ --list_dir=.\STM324xG_EVAL\ --depend=.\STM324xG_EVAL\stm324xg_eval.d --cpu=Cortex-M4.fp --apcs=interwork -O0 -Otime -I..\ -I..\..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\..\Utilities\STM32_EVAL\Common -I..\..\..\Utilities\STM32_EVAL\STM3240_41_G_EVAL -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -IC:\Keil\ARM\Inc\ST\STM32F4xx -D__MICROLIB -DUSE_STM324xG_EVAL -DSTM32F4XX -DUSE_STDPERIPH_DRIVER --omf_browse=.\STM324xG_EVAL\stm324xg_eval.crf ..\..\..\Utilities\STM32_EVAL\STM3240_41_G_EVAL\stm324xg_eval.c]
                          THUMB

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

                  SD_LowLevel_DMA_RxConfig PROC
;;;502      */
;;;503    void SD_LowLevel_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize)
000000  b530              PUSH     {r4,r5,lr}
;;;504    {
000002  b08f              SUB      sp,sp,#0x3c
000004  4604              MOV      r4,r0
000006  460d              MOV      r5,r1
;;;505      DMA_InitTypeDef SDDMA_InitStructure;
;;;506    
;;;507      DMA_ClearFlag(SD_SDIO_DMA_STREAM, SD_SDIO_DMA_FLAG_FEIF | SD_SDIO_DMA_FLAG_DMEIF | SD_SDIO_DMA_FLAG_TEIF | SD_SDIO_DMA_FLAG_HTIF | SD_SDIO_DMA_FLAG_TCIF);
000008  f04f51fa          MOV      r1,#0x1f400000
00000c  481d              LDR      r0,|L1.132|
00000e  f7fffffe          BL       DMA_ClearFlag
;;;508    
;;;509      /* DMA2 Stream3  or Stream6 disable */
;;;510      DMA_Cmd(SD_SDIO_DMA_STREAM, DISABLE);
000012  2100              MOVS     r1,#0
000014  481b              LDR      r0,|L1.132|
000016  f7fffffe          BL       DMA_Cmd
;;;511    
;;;512      /* DMA2 Stream3 or Stream6 Config */
;;;513      DMA_DeInit(SD_SDIO_DMA_STREAM);
00001a  481a              LDR      r0,|L1.132|
00001c  f7fffffe          BL       DMA_DeInit
;;;514    
;;;515      SDDMA_InitStructure.DMA_Channel = SD_SDIO_DMA_CHANNEL;
000020  f04f6000          MOV      r0,#0x8000000
000024  9000              STR      r0,[sp,#0]
;;;516      SDDMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SDIO_FIFO_ADDRESS;
000026  4818              LDR      r0,|L1.136|
000028  9001              STR      r0,[sp,#4]
;;;517      SDDMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)BufferDST;
00002a  9402              STR      r4,[sp,#8]
;;;518      SDDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
00002c  2000              MOVS     r0,#0
00002e  9003              STR      r0,[sp,#0xc]
;;;519      SDDMA_InitStructure.DMA_BufferSize = 0;
000030  9004              STR      r0,[sp,#0x10]
;;;520      SDDMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
000032  9005              STR      r0,[sp,#0x14]
;;;521      SDDMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
000034  f44f6080          MOV      r0,#0x400
000038  9006              STR      r0,[sp,#0x18]
;;;522      SDDMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
00003a  0080              LSLS     r0,r0,#2
00003c  9007              STR      r0,[sp,#0x1c]
;;;523      SDDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
00003e  0080              LSLS     r0,r0,#2
000040  9008              STR      r0,[sp,#0x20]
;;;524      SDDMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
000042  2000              MOVS     r0,#0
000044  9009              STR      r0,[sp,#0x24]
;;;525      SDDMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
000046  f44f3040          MOV      r0,#0x30000
00004a  900a              STR      r0,[sp,#0x28]
;;;526      SDDMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;
00004c  2004              MOVS     r0,#4
00004e  900b              STR      r0,[sp,#0x2c]
;;;527      SDDMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
000050  2003              MOVS     r0,#3
000052  900c              STR      r0,[sp,#0x30]
;;;528      SDDMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_INC4;
000054  f44f0000          MOV      r0,#0x800000
000058  900d              STR      r0,[sp,#0x34]
;;;529      SDDMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_INC4;
00005a  1080              ASRS     r0,r0,#2
00005c  900e              STR      r0,[sp,#0x38]
;;;530      DMA_Init(SD_SDIO_DMA_STREAM, &SDDMA_InitStructure);
00005e  4669              MOV      r1,sp
000060  4808              LDR      r0,|L1.132|
000062  f7fffffe          BL       DMA_Init
;;;531      DMA_ITConfig(SD_SDIO_DMA_STREAM, DMA_IT_TC, ENABLE);
000066  2201              MOVS     r2,#1
000068  2110              MOVS     r1,#0x10
00006a  4806              LDR      r0,|L1.132|
00006c  f7fffffe          BL       DMA_ITConfig
;;;532      DMA_FlowControllerConfig(SD_SDIO_DMA_STREAM, DMA_FlowCtrl_Peripheral);
000070  2120              MOVS     r1,#0x20
000072  4804              LDR      r0,|L1.132|
000074  f7fffffe          BL       DMA_FlowControllerConfig
;;;533    
;;;534      /* DMA2 Stream3 or Stream6 enable */
;;;535      DMA_Cmd(SD_SDIO_DMA_STREAM, ENABLE);
000078  2101              MOVS     r1,#1
00007a  4802              LDR      r0,|L1.132|
00007c  f7fffffe          BL       DMA_Cmd
;;;536    }
000080  b00f              ADD      sp,sp,#0x3c
000082  bd30              POP      {r4,r5,pc}
;;;537    
                          ENDP

                  |L1.132|
                          DCD      0x40026458
                  |L1.136|
                          DCD      0x40012c80

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

                  SD_LowLevel_DMA_TxConfig PROC
;;;460      */
;;;461    void SD_LowLevel_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize)
000000  b530              PUSH     {r4,r5,lr}
;;;462    {
000002  b08f              SUB      sp,sp,#0x3c
000004  4604              MOV      r4,r0
000006  460d              MOV      r5,r1
;;;463      DMA_InitTypeDef SDDMA_InitStructure;
;;;464    
;;;465      DMA_ClearFlag(SD_SDIO_DMA_STREAM, SD_SDIO_DMA_FLAG_FEIF | SD_SDIO_DMA_FLAG_DMEIF | SD_SDIO_DMA_FLAG_TEIF | SD_SDIO_DMA_FLAG_HTIF | SD_SDIO_DMA_FLAG_TCIF);
000008  f04f51fa          MOV      r1,#0x1f400000
00000c  481e              LDR      r0,|L2.136|
00000e  f7fffffe          BL       DMA_ClearFlag
;;;466    
;;;467      /* DMA2 Stream3  or Stream6 disable */
;;;468      DMA_Cmd(SD_SDIO_DMA_STREAM, DISABLE);
000012  2100              MOVS     r1,#0
000014  481c              LDR      r0,|L2.136|
000016  f7fffffe          BL       DMA_Cmd
;;;469    
;;;470      /* DMA2 Stream3  or Stream6 Config */
;;;471      DMA_DeInit(SD_SDIO_DMA_STREAM);
00001a  481b              LDR      r0,|L2.136|
00001c  f7fffffe          BL       DMA_DeInit
;;;472    
;;;473      SDDMA_InitStructure.DMA_Channel = SD_SDIO_DMA_CHANNEL;
000020  f04f6000          MOV      r0,#0x8000000
000024  9000              STR      r0,[sp,#0]
;;;474      SDDMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SDIO_FIFO_ADDRESS;
000026  4819              LDR      r0,|L2.140|
000028  9001              STR      r0,[sp,#4]
;;;475      SDDMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)BufferSRC;
00002a  9402              STR      r4,[sp,#8]
;;;476      SDDMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;
00002c  2040              MOVS     r0,#0x40
00002e  9003              STR      r0,[sp,#0xc]
;;;477      SDDMA_InitStructure.DMA_BufferSize = 0;
000030  2000              MOVS     r0,#0
000032  9004              STR      r0,[sp,#0x10]
;;;478      SDDMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
000034  9005              STR      r0,[sp,#0x14]
;;;479      SDDMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
000036  f44f6080          MOV      r0,#0x400
00003a  9006              STR      r0,[sp,#0x18]
;;;480      SDDMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
00003c  0080              LSLS     r0,r0,#2
00003e  9007              STR      r0,[sp,#0x1c]
;;;481      SDDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
000040  0080              LSLS     r0,r0,#2
000042  9008              STR      r0,[sp,#0x20]
;;;482      SDDMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
000044  2000              MOVS     r0,#0
000046  9009              STR      r0,[sp,#0x24]
;;;483      SDDMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
000048  f44f3040          MOV      r0,#0x30000
00004c  900a              STR      r0,[sp,#0x28]
;;;484      SDDMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;
00004e  2004              MOVS     r0,#4
000050  900b              STR      r0,[sp,#0x2c]
;;;485      SDDMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
000052  2003              MOVS     r0,#3
000054  900c              STR      r0,[sp,#0x30]
;;;486      SDDMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_INC4;
000056  f44f0000          MOV      r0,#0x800000
00005a  900d              STR      r0,[sp,#0x34]
;;;487      SDDMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_INC4;
00005c  1080              ASRS     r0,r0,#2
00005e  900e              STR      r0,[sp,#0x38]
;;;488      DMA_Init(SD_SDIO_DMA_STREAM, &SDDMA_InitStructure);
000060  4669              MOV      r1,sp
000062  4809              LDR      r0,|L2.136|
000064  f7fffffe          BL       DMA_Init
;;;489      DMA_ITConfig(SD_SDIO_DMA_STREAM, DMA_IT_TC, ENABLE);
000068  2201              MOVS     r2,#1
00006a  2110              MOVS     r1,#0x10
00006c  4806              LDR      r0,|L2.136|
00006e  f7fffffe          BL       DMA_ITConfig
;;;490      DMA_FlowControllerConfig(SD_SDIO_DMA_STREAM, DMA_FlowCtrl_Peripheral);
000072  2120              MOVS     r1,#0x20
000074  4804              LDR      r0,|L2.136|
000076  f7fffffe          BL       DMA_FlowControllerConfig
;;;491    
;;;492      /* DMA2 Stream3  or Stream6 enable */
;;;493      DMA_Cmd(SD_SDIO_DMA_STREAM, ENABLE);
00007a  2101              MOVS     r1,#1
00007c  4802              LDR      r0,|L2.136|
00007e  f7fffffe          BL       DMA_Cmd
;;;494        
;;;495    }
000082  b00f              ADD      sp,sp,#0x3c
000084  bd30              POP      {r4,r5,pc}
;;;496    
                          ENDP

000086  0000              DCW      0x0000
                  |L2.136|
                          DCD      0x40026458
                  |L2.140|
                          DCD      0x40012c80

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

                  SD_LowLevel_DeInit PROC
;;;366      */
;;;367    void SD_LowLevel_DeInit(void)
000000  b51c              PUSH     {r2-r4,lr}
;;;368    {
;;;369      GPIO_InitTypeDef  GPIO_InitStructure;
;;;370      
;;;371      /*!< Disable SDIO Clock */
;;;372      SDIO_ClockCmd(DISABLE);
000002  2000              MOVS     r0,#0
000004  f7fffffe          BL       SDIO_ClockCmd
;;;373      
;;;374      /*!< Set Power State to OFF */
;;;375      SDIO_SetPowerState(SDIO_PowerState_OFF);
000008  2000              MOVS     r0,#0
00000a  f7fffffe          BL       SDIO_SetPowerState
;;;376    
;;;377      /*!< DeInitializes the SDIO peripheral */
;;;378      SDIO_DeInit();
00000e  f7fffffe          BL       SDIO_DeInit
;;;379      
;;;380      /* Disable the SDIO APB2 Clock */
;;;381      RCC_APB2PeriphClockCmd(RCC_APB2Periph_SDIO, DISABLE);
000012  2100              MOVS     r1,#0
000014  f44f6000          MOV      r0,#0x800
000018  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;382    
;;;383      GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_MCO);
00001c  2200              MOVS     r2,#0
00001e  2108              MOVS     r1,#8
000020  481a              LDR      r0,|L3.140|
000022  f7fffffe          BL       GPIO_PinAFConfig
;;;384      GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_MCO);
000026  2200              MOVS     r2,#0
000028  2109              MOVS     r1,#9
00002a  4818              LDR      r0,|L3.140|
00002c  f7fffffe          BL       GPIO_PinAFConfig
;;;385      GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_MCO);
000030  2200              MOVS     r2,#0
000032  210a              MOVS     r1,#0xa
000034  4815              LDR      r0,|L3.140|
000036  f7fffffe          BL       GPIO_PinAFConfig
;;;386      GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_MCO);
00003a  2200              MOVS     r2,#0
00003c  210b              MOVS     r1,#0xb
00003e  4813              LDR      r0,|L3.140|
000040  f7fffffe          BL       GPIO_PinAFConfig
;;;387      GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_MCO);
000044  2200              MOVS     r2,#0
000046  210c              MOVS     r1,#0xc
000048  4810              LDR      r0,|L3.140|
00004a  f7fffffe          BL       GPIO_PinAFConfig
;;;388      GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_MCO);
00004e  2200              MOVS     r2,#0
000050  2102              MOVS     r1,#2
000052  480f              LDR      r0,|L3.144|
000054  f7fffffe          BL       GPIO_PinAFConfig
;;;389    
;;;390      /* Configure PC.08, PC.09, PC.10, PC.11 pins: D0, D1, D2, D3 pins */
;;;391      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;
000058  f44f6070          MOV      r0,#0xf00
00005c  9000              STR      r0,[sp,#0]
;;;392      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
00005e  2000              MOVS     r0,#0
000060  f88d0004          STRB     r0,[sp,#4]
;;;393      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
000064  f88d0007          STRB     r0,[sp,#7]
;;;394      GPIO_Init(GPIOC, &GPIO_InitStructure);
000068  4669              MOV      r1,sp
00006a  4808              LDR      r0,|L3.140|
00006c  f7fffffe          BL       GPIO_Init
;;;395    
;;;396      /* Configure PD.02 CMD line */
;;;397      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
000070  2004              MOVS     r0,#4
000072  9000              STR      r0,[sp,#0]
;;;398      GPIO_Init(GPIOD, &GPIO_InitStructure);
000074  4669              MOV      r1,sp
000076  4806              LDR      r0,|L3.144|
000078  f7fffffe          BL       GPIO_Init
;;;399    
;;;400      /* Configure PC.12 pin: CLK pin */
;;;401      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
00007c  f44f5080          MOV      r0,#0x1000
000080  9000              STR      r0,[sp,#0]
;;;402      GPIO_Init(GPIOC, &GPIO_InitStructure);
000082  4669              MOV      r1,sp
000084  4801              LDR      r0,|L3.140|
000086  f7fffffe          BL       GPIO_Init
;;;403    }
00008a  bd1c              POP      {r2-r4,pc}
;;;404    
                          ENDP

                  |L3.140|
                          DCD      0x40020800
                  |L3.144|
                          DCD      0x40020c00

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

                  SD_LowLevel_Init PROC
;;;410      */
;;;411    void SD_LowLevel_Init(void)
000000  b51c              PUSH     {r2-r4,lr}
;;;412    {
;;;413      GPIO_InitTypeDef  GPIO_InitStructure;
;;;414    
;;;415      /* GPIOC and GPIOD Periph clock enable */
;;;416      RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | SD_DETECT_GPIO_CLK, ENABLE);
000002  2101              MOVS     r1,#1
000004  208c              MOVS     r0,#0x8c
000006  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;417    
;;;418      GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_SDIO);
00000a  220c              MOVS     r2,#0xc
00000c  2108              MOVS     r1,#8
00000e  482a              LDR      r0,|L4.184|
000010  f7fffffe          BL       GPIO_PinAFConfig
;;;419      GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_SDIO);
000014  220c              MOVS     r2,#0xc
000016  2109              MOVS     r1,#9
000018  4827              LDR      r0,|L4.184|
00001a  f7fffffe          BL       GPIO_PinAFConfig
;;;420      GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_SDIO);
00001e  220c              MOVS     r2,#0xc
000020  210a              MOVS     r1,#0xa
000022  4825              LDR      r0,|L4.184|
000024  f7fffffe          BL       GPIO_PinAFConfig
;;;421      GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_SDIO);
000028  220c              MOVS     r2,#0xc
00002a  210b              MOVS     r1,#0xb
00002c  4822              LDR      r0,|L4.184|
00002e  f7fffffe          BL       GPIO_PinAFConfig
;;;422      GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_SDIO);
000032  220c              MOVS     r2,#0xc
000034  4611              MOV      r1,r2
000036  4820              LDR      r0,|L4.184|
000038  f7fffffe          BL       GPIO_PinAFConfig
;;;423      GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_SDIO);
00003c  220c              MOVS     r2,#0xc
00003e  2102              MOVS     r1,#2
000040  481e              LDR      r0,|L4.188|
000042  f7fffffe          BL       GPIO_PinAFConfig
;;;424    
;;;425      /* Configure PC.08, PC.09, PC.10, PC.11 pins: D0, D1, D2, D3 pins */
;;;426      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;
000046  f44f6070          MOV      r0,#0xf00
00004a  9000              STR      r0,[sp,#0]
;;;427      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
00004c  2001              MOVS     r0,#1
00004e  f88d0005          STRB     r0,[sp,#5]
;;;428      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
000052  2002              MOVS     r0,#2
000054  f88d0004          STRB     r0,[sp,#4]
;;;429      GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
000058  2000              MOVS     r0,#0
00005a  f88d0006          STRB     r0,[sp,#6]
;;;430      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
00005e  2001              MOVS     r0,#1
000060  f88d0007          STRB     r0,[sp,#7]
;;;431      GPIO_Init(GPIOC, &GPIO_InitStructure);
000064  4669              MOV      r1,sp
000066  4814              LDR      r0,|L4.184|
000068  f7fffffe          BL       GPIO_Init
;;;432    
;;;433      /* Configure PD.02 CMD line */
;;;434      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
00006c  2004              MOVS     r0,#4
00006e  9000              STR      r0,[sp,#0]
;;;435      GPIO_Init(GPIOD, &GPIO_InitStructure);
000070  4669              MOV      r1,sp
000072  4812              LDR      r0,|L4.188|
000074  f7fffffe          BL       GPIO_Init
;;;436    
;;;437      /* Configure PC.12 pin: CLK pin */
;;;438      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
000078  f44f5080          MOV      r0,#0x1000
00007c  9000              STR      r0,[sp,#0]
;;;439      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
00007e  2000              MOVS     r0,#0
000080  f88d0007          STRB     r0,[sp,#7]
;;;440      GPIO_Init(GPIOC, &GPIO_InitStructure);
000084  4669              MOV      r1,sp
000086  480c              LDR      r0,|L4.184|
000088  f7fffffe          BL       GPIO_Init
;;;441      
;;;442      /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */
;;;443      GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN;
00008c  f44f5000          MOV      r0,#0x2000
000090  9000              STR      r0,[sp,#0]
;;;444      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
000092  2000              MOVS     r0,#0
000094  f88d0004          STRB     r0,[sp,#4]
;;;445      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
000098  2001              MOVS     r0,#1
00009a  f88d0007          STRB     r0,[sp,#7]
;;;446      GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure);
00009e  4669              MOV      r1,sp
0000a0  4807              LDR      r0,|L4.192|
0000a2  f7fffffe          BL       GPIO_Init
;;;447    
;;;448      /* Enable the SDIO APB2 Clock */
;;;449      RCC_APB2PeriphClockCmd(RCC_APB2Periph_SDIO, ENABLE);
0000a6  2101              MOVS     r1,#1
0000a8  02c8              LSLS     r0,r1,#11
0000aa  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;450    
;;;451      /* Enable the DMA2 Clock */
;;;452      RCC_AHB1PeriphClockCmd(SD_SDIO_DMA_CLK, ENABLE);
0000ae  2101              MOVS     r1,#1
0000b0  0588              LSLS     r0,r1,#22
0000b2  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;453    }
0000b6  bd1c              POP      {r2-r4,pc}
;;;454    
                          ENDP

                  |L4.184|
                          DCD      0x40020800
                  |L4.188|
                          DCD      0x40020c00
                  |L4.192|
                          DCD      0x40021c00

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

                  STM_EVAL_COMInit PROC
;;;321      */
;;;322    void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct)
000000  b57c              PUSH     {r2-r6,lr}
;;;323    {
000002  4604              MOV      r4,r0
000004  460d              MOV      r5,r1
;;;324      GPIO_InitTypeDef GPIO_InitStructure;
;;;325    
;;;326      /* Enable GPIO clock */
;;;327      RCC_AHB1PeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM], ENABLE);
000006  492d              LDR      r1,|L5.188|
000008  f8511024          LDR      r1,[r1,r4,LSL #2]
00000c  4a2c              LDR      r2,|L5.192|
00000e  f8522024          LDR      r2,[r2,r4,LSL #2]
000012  ea410002          ORR      r0,r1,r2
000016  2101              MOVS     r1,#1
000018  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;328    
;;;329      if (COM == COM1)
00001c  b92c              CBNZ     r4,|L5.42|
;;;330      {
;;;331        /* Enable UART clock */
;;;332        RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE);
00001e  4929              LDR      r1,|L5.196|
000020  f8510024          LDR      r0,[r1,r4,LSL #2]
000024  2101              MOVS     r1,#1
000026  f7fffffe          BL       RCC_APB1PeriphClockCmd
                  |L5.42|
;;;333      }
;;;334    
;;;335      /* Connect PXx to USARTx_Tx*/
;;;336      GPIO_PinAFConfig(COM_TX_PORT[COM], COM_TX_PIN_SOURCE[COM], COM_TX_AF[COM]);
00002a  4b27              LDR      r3,|L5.200|
00002c  f8333014          LDRH     r3,[r3,r4,LSL #1]
000030  b2da              UXTB     r2,r3
000032  4b26              LDR      r3,|L5.204|
000034  f8331014          LDRH     r1,[r3,r4,LSL #1]
000038  4b25              LDR      r3,|L5.208|
00003a  f8530024          LDR      r0,[r3,r4,LSL #2]
00003e  f7fffffe          BL       GPIO_PinAFConfig
;;;337    
;;;338      /* Connect PXx to USARTx_Rx*/
;;;339      GPIO_PinAFConfig(COM_RX_PORT[COM], COM_RX_PIN_SOURCE[COM], COM_RX_AF[COM]);
000042  4b24              LDR      r3,|L5.212|
000044  f8333014          LDRH     r3,[r3,r4,LSL #1]
000048  b2da              UXTB     r2,r3
00004a  4b23              LDR      r3,|L5.216|
00004c  f8331014          LDRH     r1,[r3,r4,LSL #1]
000050  4b22              LDR      r3,|L5.220|
000052  f8530024          LDR      r0,[r3,r4,LSL #2]
000056  f7fffffe          BL       GPIO_PinAFConfig
;;;340    
;;;341      /* Configure USART Tx as alternate function  */
;;;342      GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
00005a  2000              MOVS     r0,#0
00005c  f88d0006          STRB     r0,[sp,#6]
;;;343      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
000060  2001              MOVS     r0,#1
000062  f88d0007          STRB     r0,[sp,#7]
;;;344      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
000066  2002              MOVS     r0,#2
000068  f88d0004          STRB     r0,[sp,#4]
;;;345    
;;;346      GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM];
00006c  481c              LDR      r0,|L5.224|
00006e  f8300014          LDRH     r0,[r0,r4,LSL #1]
000072  9000              STR      r0,[sp,#0]
;;;347      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000074  2002              MOVS     r0,#2
000076  f88d0005          STRB     r0,[sp,#5]
;;;348      GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure);
00007a  4915              LDR      r1,|L5.208|
00007c  f8510024          LDR      r0,[r1,r4,LSL #2]
000080  4669              MOV      r1,sp
000082  f7fffffe          BL       GPIO_Init
;;;349    
;;;350      /* Configure USART Rx as alternate function  */
;;;351      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
000086  2002              MOVS     r0,#2
000088  f88d0004          STRB     r0,[sp,#4]
;;;352      GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM];
00008c  4815              LDR      r0,|L5.228|
00008e  f8300014          LDRH     r0,[r0,r4,LSL #1]
000092  9000              STR      r0,[sp,#0]
;;;353      GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure);
000094  4911              LDR      r1,|L5.220|
000096  f8510024          LDR      r0,[r1,r4,LSL #2]
00009a  4669              MOV      r1,sp
00009c  f7fffffe          BL       GPIO_Init
;;;354    
;;;355      /* USART configuration */
;;;356      USART_Init(COM_USART[COM], USART_InitStruct);
0000a0  4911              LDR      r1,|L5.232|
0000a2  f8510024          LDR      r0,[r1,r4,LSL #2]
0000a6  4629              MOV      r1,r5
0000a8  f7fffffe          BL       USART_Init
;;;357        
;;;358      /* Enable USART */
;;;359      USART_Cmd(COM_USART[COM], ENABLE);
0000ac  490e              LDR      r1,|L5.232|
0000ae  f8510024          LDR      r0,[r1,r4,LSL #2]
0000b2  2101              MOVS     r1,#1
0000b4  f7fffffe          BL       USART_Cmd
;;;360    }
0000b8  bd7c              POP      {r2-r6,pc}
;;;361    
                          ENDP

0000ba  0000              DCW      0x0000
                  |L5.188|
                          DCD      COM_TX_PORT_CLK
                  |L5.192|
                          DCD      COM_RX_PORT_CLK
                  |L5.196|
                          DCD      COM_USART_CLK
                  |L5.200|
                          DCD      COM_TX_AF
                  |L5.204|
                          DCD      COM_TX_PIN_SOURCE
                  |L5.208|
                          DCD      COM_TX_PORT
                  |L5.212|
                          DCD      COM_RX_AF
                  |L5.216|
                          DCD      COM_RX_PIN_SOURCE
                  |L5.220|
                          DCD      COM_RX_PORT
                  |L5.224|
                          DCD      COM_TX_PIN
                  |L5.228|
                          DCD      COM_RX_PIN
                  |L5.232|
                          DCD      COM_USART

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

                  STM_EVAL_LEDInit PROC
;;;162      */
;;;163    void STM_EVAL_LEDInit(Led_TypeDef Led)
000000  b51c              PUSH     {r2-r4,lr}
;;;164    {
000002  4604              MOV      r4,r0
;;;165      GPIO_InitTypeDef  GPIO_InitStructure;
;;;166      
;;;167      /* Enable the GPIO_LED Clock */
;;;168      RCC_AHB1PeriphClockCmd(GPIO_CLK[Led], ENABLE);
000004  490e              LDR      r1,|L6.64|
000006  f8510024          LDR      r0,[r1,r4,LSL #2]
00000a  2101              MOVS     r1,#1
00000c  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;169    
;;;170    
;;;171      /* Configure the GPIO_LED pin */
;;;172      GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led];
000010  480c              LDR      r0,|L6.68|
000012  f8300014          LDRH     r0,[r0,r4,LSL #1]
000016  9000              STR      r0,[sp,#0]
;;;173      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
000018  2001              MOVS     r0,#1
00001a  f88d0004          STRB     r0,[sp,#4]
;;;174      GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
00001e  2000              MOVS     r0,#0
000020  f88d0006          STRB     r0,[sp,#6]
;;;175      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
000024  2001              MOVS     r0,#1
000026  f88d0007          STRB     r0,[sp,#7]
;;;176      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
00002a  2002              MOVS     r0,#2
00002c  f88d0005          STRB     r0,[sp,#5]
;;;177      GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure);
000030  4905              LDR      r1,|L6.72|
000032  f8510024          LDR      r0,[r1,r4,LSL #2]
000036  4669              MOV      r1,sp
000038  f7fffffe          BL       GPIO_Init
;;;178    }
00003c  bd1c              POP      {r2-r4,pc}
;;;179    
                          ENDP

00003e  0000              DCW      0x0000
                  |L6.64|
                          DCD      GPIO_CLK
                  |L6.68|
                          DCD      GPIO_PIN
                  |L6.72|
                          DCD      GPIO_PORT

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

                  STM_EVAL_LEDOff PROC
;;;204      */
;;;205    void STM_EVAL_LEDOff(Led_TypeDef Led)
000000  4903              LDR      r1,|L7.16|
;;;206    {
;;;207      GPIO_PORT[Led]->BSRRH = GPIO_PIN[Led];  
000002  f8311010          LDRH     r1,[r1,r0,LSL #1]
000006  4a03              LDR      r2,|L7.20|
000008  f8522020          LDR      r2,[r2,r0,LSL #2]
00000c  8351              STRH     r1,[r2,#0x1a]
;;;208    }
00000e  4770              BX       lr
;;;209    
                          ENDP

                  |L7.16|
                          DCD      GPIO_PIN
                  |L7.20|
                          DCD      GPIO_PORT

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

                  STM_EVAL_LEDOn PROC
;;;189      */
;;;190    void STM_EVAL_LEDOn(Led_TypeDef Led)
000000  4903              LDR      r1,|L8.16|
;;;191    {
;;;192      GPIO_PORT[Led]->BSRRL = GPIO_PIN[Led];
000002  f8311010          LDRH     r1,[r1,r0,LSL #1]
000006  4a03              LDR      r2,|L8.20|
000008  f8522020          LDR      r2,[r2,r0,LSL #2]
00000c  8311              STRH     r1,[r2,#0x18]
;;;193    }
00000e  4770              BX       lr
;;;194    
                          ENDP

                  |L8.16|
                          DCD      GPIO_PIN
                  |L8.20|
                          DCD      GPIO_PORT

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

                  STM_EVAL_LEDToggle PROC
;;;219      */
;;;220    void STM_EVAL_LEDToggle(Led_TypeDef Led)
000000  4906              LDR      r1,|L9.28|
;;;221    {
;;;222      GPIO_PORT[Led]->ODR ^= GPIO_PIN[Led];
000002  f8511020          LDR      r1,[r1,r0,LSL #2]
000006  6949              LDR      r1,[r1,#0x14]
000008  4a05              LDR      r2,|L9.32|
00000a  f8322010          LDRH     r2,[r2,r0,LSL #1]
00000e  4051              EORS     r1,r1,r2
000010  4a02              LDR      r2,|L9.28|
000012  f8522020          LDR      r2,[r2,r0,LSL #2]
000016  6151              STR      r1,[r2,#0x14]
;;;223    }
000018  4770              BX       lr
;;;224    
                          ENDP

00001a  0000              DCW      0x0000
                  |L9.28|
                          DCD      GPIO_PORT
                  |L9.32|
                          DCD      GPIO_PIN

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

                  STM_EVAL_PBGetState PROC
;;;305      */
;;;306    uint32_t STM_EVAL_PBGetState(Button_TypeDef Button)
000000  b510              PUSH     {r4,lr}
;;;307    {
000002  4604              MOV      r4,r0
;;;308      return GPIO_ReadInputDataBit(BUTTON_PORT[Button], BUTTON_PIN[Button]);
000004  4a04              LDR      r2,|L10.24|
000006  f8321014          LDRH     r1,[r2,r4,LSL #1]
00000a  4a04              LDR      r2,|L10.28|
00000c  f8520024          LDR      r0,[r2,r4,LSL #2]
000010  f7fffffe          BL       GPIO_ReadInputDataBit
;;;309    }
000014  bd10              POP      {r4,pc}
;;;310    
                          ENDP

000016  0000              DCW      0x0000
                  |L10.24|
                          DCD      BUTTON_PIN
                  |L10.28|
                          DCD      BUTTON_PORT

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

                  STM_EVAL_PBInit PROC
;;;243      */
;;;244    void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode)
000000  b530              PUSH     {r4,r5,lr}
;;;245    {
000002  b085              SUB      sp,sp,#0x14
000004  4604              MOV      r4,r0
000006  460d              MOV      r5,r1
;;;246      GPIO_InitTypeDef GPIO_InitStructure;
;;;247      EXTI_InitTypeDef EXTI_InitStructure;
;;;248      NVIC_InitTypeDef NVIC_InitStructure;
;;;249    
;;;250    
;;;251      /* Enable the BUTTON Clock */
;;;252      RCC_AHB1PeriphClockCmd(BUTTON_CLK[Button], ENABLE);
000008  4926              LDR      r1,|L11.164|
00000a  f8510024          LDR      r0,[r1,r4,LSL #2]
00000e  2101              MOVS     r1,#1
000010  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;253      RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
000014  2101              MOVS     r1,#1
000016  0388              LSLS     r0,r1,#14
000018  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;254    
;;;255      /* Configure Button pin as input */
;;;256      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
00001c  2000              MOVS     r0,#0
00001e  f88d0010          STRB     r0,[sp,#0x10]
;;;257      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
000022  f88d0013          STRB     r0,[sp,#0x13]
;;;258      GPIO_InitStructure.GPIO_Pin = BUTTON_PIN[Button];
000026  4820              LDR      r0,|L11.168|
000028  f8300014          LDRH     r0,[r0,r4,LSL #1]
00002c  9003              STR      r0,[sp,#0xc]
;;;259      GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStructure);
00002e  491f              LDR      r1,|L11.172|
000030  f8510024          LDR      r0,[r1,r4,LSL #2]
000034  a903              ADD      r1,sp,#0xc
000036  f7fffffe          BL       GPIO_Init
;;;260    
;;;261    
;;;262      if (Button_Mode == BUTTON_MODE_EXTI)
00003a  2d01              CMP      r5,#1
00003c  d12f              BNE      |L11.158|
;;;263      {
;;;264        /* Connect Button EXTI Line to Button GPIO Pin */
;;;265        SYSCFG_EXTILineConfig(BUTTON_PORT_SOURCE[Button], BUTTON_PIN_SOURCE[Button]);
00003e  4a1c              LDR      r2,|L11.176|
000040  f8322014          LDRH     r2,[r2,r4,LSL #1]
000044  b2d1              UXTB     r1,r2
000046  4a1b              LDR      r2,|L11.180|
000048  f8322014          LDRH     r2,[r2,r4,LSL #1]
00004c  b2d0              UXTB     r0,r2
00004e  f7fffffe          BL       SYSCFG_EXTILineConfig
;;;266    
;;;267        /* Configure Button EXTI line */
;;;268        EXTI_InitStructure.EXTI_Line = BUTTON_EXTI_LINE[Button];
000052  4819              LDR      r0,|L11.184|
000054  f8300014          LDRH     r0,[r0,r4,LSL #1]
000058  9001              STR      r0,[sp,#4]
;;;269        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
00005a  2000              MOVS     r0,#0
00005c  f88d0008          STRB     r0,[sp,#8]
;;;270    
;;;271        if(Button != BUTTON_WAKEUP)
000060  b11c              CBZ      r4,|L11.106|
;;;272        {
;;;273          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;  
000062  200c              MOVS     r0,#0xc
000064  f88d0009          STRB     r0,[sp,#9]
000068  e002              B        |L11.112|
                  |L11.106|
;;;274        }
;;;275        else
;;;276        {
;;;277          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  
00006a  2008              MOVS     r0,#8
00006c  f88d0009          STRB     r0,[sp,#9]
                  |L11.112|
;;;278        }
;;;279        EXTI_InitStructure.EXTI_LineCmd = ENABLE;
000070  2001              MOVS     r0,#1
000072  f88d000a          STRB     r0,[sp,#0xa]
;;;280        EXTI_Init(&EXTI_InitStructure);
000076  a801              ADD      r0,sp,#4
000078  f7fffffe          BL       EXTI_Init
;;;281    
;;;282        /* Enable and set Button EXTI Interrupt to the lowest priority */
;;;283        NVIC_InitStructure.NVIC_IRQChannel = BUTTON_IRQn[Button];
00007c  480f              LDR      r0,|L11.188|
00007e  f8300014          LDRH     r0,[r0,r4,LSL #1]
000082  b2c0              UXTB     r0,r0
000084  f88d0000          STRB     r0,[sp,#0]
;;;284        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
000088  200f              MOVS     r0,#0xf
00008a  f88d0001          STRB     r0,[sp,#1]
;;;285        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;
00008e  f88d0002          STRB     r0,[sp,#2]
;;;286        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000092  2001              MOVS     r0,#1
000094  f88d0003          STRB     r0,[sp,#3]
;;;287    
;;;288        NVIC_Init(&NVIC_InitStructure); 
000098  4668              MOV      r0,sp
00009a  f7fffffe          BL       NVIC_Init
                  |L11.158|
;;;289      }
;;;290    }
00009e  b005              ADD      sp,sp,#0x14
0000a0  bd30              POP      {r4,r5,pc}
;;;291    
                          ENDP

0000a2  0000              DCW      0x0000
                  |L11.164|
                          DCD      BUTTON_CLK
                  |L11.168|
                          DCD      BUTTON_PIN
                  |L11.172|
                          DCD      BUTTON_PORT
                  |L11.176|
                          DCD      BUTTON_PIN_SOURCE
                  |L11.180|
                          DCD      BUTTON_PORT_SOURCE
                  |L11.184|
                          DCD      BUTTON_EXTI_LINE
                  |L11.188|
                          DCD      BUTTON_IRQn

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

                  sEE_LowLevel_DMAConfig PROC
;;;688      */
;;;689    void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction)
000000  b570              PUSH     {r4-r6,lr}
;;;690    { 
000002  4604              MOV      r4,r0
000004  460d              MOV      r5,r1
000006  4616              MOV      r6,r2
;;;691      /* Initialize the DMA with the new parameters */
;;;692      if (Direction == sEE_DIRECTION_TX)
000008  b956              CBNZ     r6,|L12.32|
;;;693      {
;;;694        /* Configure the DMA Tx Stream with the buffer address and the buffer size */
;;;695        sEEDMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)pBuffer;
00000a  480b              LDR      r0,|L12.56|
00000c  6084              STR      r4,[r0,#8]  ; sEEDMA_InitStructure
;;;696        sEEDMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;    
00000e  2040              MOVS     r0,#0x40
000010  4909              LDR      r1,|L12.56|
000012  60c8              STR      r0,[r1,#0xc]  ; sEEDMA_InitStructure
;;;697        sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize;  
000014  4608              MOV      r0,r1
000016  6105              STR      r5,[r0,#0x10]  ; sEEDMA_InitStructure
;;;698        DMA_Init(sEE_I2C_DMA_STREAM_TX, &sEEDMA_InitStructure);  
000018  4808              LDR      r0,|L12.60|
00001a  f7fffffe          BL       DMA_Init
00001e  e00a              B        |L12.54|
                  |L12.32|
;;;699      }
;;;700      else
;;;701      { 
;;;702        /* Configure the DMA Rx Stream with the buffer address and the buffer size */
;;;703        sEEDMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)pBuffer;
000020  4805              LDR      r0,|L12.56|
000022  6084              STR      r4,[r0,#8]  ; sEEDMA_InitStructure
;;;704        sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
000024  2000              MOVS     r0,#0
000026  4904              LDR      r1,|L12.56|
000028  60c8              STR      r0,[r1,#0xc]  ; sEEDMA_InitStructure
;;;705        sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize;      
00002a  4608              MOV      r0,r1
00002c  6105              STR      r5,[r0,#0x10]  ; sEEDMA_InitStructure
;;;706        DMA_Init(sEE_I2C_DMA_STREAM_RX, &sEEDMA_InitStructure);    
00002e  4803              LDR      r0,|L12.60|
000030  3890              SUBS     r0,r0,#0x90
000032  f7fffffe          BL       DMA_Init
                  |L12.54|
;;;707      }
;;;708    }
000036  bd70              POP      {r4-r6,pc}
;;;709    
                          ENDP

                  |L12.56|
                          DCD      sEEDMA_InitStructure
                  |L12.60|
                          DCD      0x400260a0

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

                  sEE_LowLevel_DeInit PROC
;;;542      */
;;;543    void sEE_LowLevel_DeInit(void)
000000  b51c              PUSH     {r2-r4,lr}
;;;544    {
;;;545      GPIO_InitTypeDef  GPIO_InitStructure; 
;;;546       
;;;547      /* sEE_I2C Peripheral Disable */
;;;548      I2C_Cmd(sEE_I2C, DISABLE);
000002  2100              MOVS     r1,#0
000004  4820              LDR      r0,|L13.136|
000006  f7fffffe          BL       I2C_Cmd
;;;549     
;;;550      /* sEE_I2C DeInit */
;;;551      I2C_DeInit(sEE_I2C);
00000a  481f              LDR      r0,|L13.136|
00000c  f7fffffe          BL       I2C_DeInit
;;;552    
;;;553      /*!< sEE_I2C Periph clock disable */
;;;554      RCC_APB1PeriphClockCmd(sEE_I2C_CLK, DISABLE);
000010  2100              MOVS     r1,#0
000012  f44f1000          MOV      r0,#0x200000
000016  f7fffffe          BL       RCC_APB1PeriphClockCmd
;;;555        
;;;556      /*!< GPIO configuration */  
;;;557      /*!< Configure sEE_I2C pins: SCL */
;;;558      GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN;
00001a  2040              MOVS     r0,#0x40
00001c  9000              STR      r0,[sp,#0]
;;;559      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
00001e  2000              MOVS     r0,#0
000020  f88d0004          STRB     r0,[sp,#4]
;;;560      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
000024  f88d0007          STRB     r0,[sp,#7]
;;;561      GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure);
000028  4669              MOV      r1,sp
00002a  4818              LDR      r0,|L13.140|
00002c  f7fffffe          BL       GPIO_Init
;;;562    
;;;563      /*!< Configure sEE_I2C pins: SDA */
;;;564      GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN;
000030  f44f7000          MOV      r0,#0x200
000034  9000              STR      r0,[sp,#0]
;;;565      GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure);
000036  4669              MOV      r1,sp
000038  4814              LDR      r0,|L13.140|
00003a  f7fffffe          BL       GPIO_Init
;;;566    
;;;567      /* Configure and enable I2C DMA TX Stream interrupt */
;;;568      NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn;
00003e  2011              MOVS     r0,#0x11
000040  4913              LDR      r1,|L13.144|
000042  7008              STRB     r0,[r1,#0]
;;;569      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO;
000044  2000              MOVS     r0,#0
000046  7048              STRB     r0,[r1,#1]
;;;570      NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO;
000048  7088              STRB     r0,[r1,#2]
;;;571      NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE;
00004a  70c8              STRB     r0,[r1,#3]
;;;572      NVIC_Init(&NVIC_InitStructure);
00004c  4608              MOV      r0,r1
00004e  f7fffffe          BL       NVIC_Init
;;;573    
;;;574      /* Configure and enable I2C DMA RX Stream interrupt */
;;;575      NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn;
000052  200b              MOVS     r0,#0xb
000054  490e              LDR      r1,|L13.144|
000056  7008              STRB     r0,[r1,#0]
;;;576      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO;
000058  2000              MOVS     r0,#0
00005a  7048              STRB     r0,[r1,#1]
;;;577      NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO;
00005c  7088              STRB     r0,[r1,#2]
;;;578      NVIC_Init(&NVIC_InitStructure);   
00005e  4608              MOV      r0,r1
000060  f7fffffe          BL       NVIC_Init
;;;579      
;;;580      /* Disable and Deinitialize the DMA Streams */
;;;581      DMA_Cmd(sEE_I2C_DMA_STREAM_TX, DISABLE);
000064  2100              MOVS     r1,#0
000066  480b              LDR      r0,|L13.148|
000068  f7fffffe          BL       DMA_Cmd
;;;582      DMA_Cmd(sEE_I2C_DMA_STREAM_RX, DISABLE);
00006c  2100              MOVS     r1,#0
00006e  4809              LDR      r0,|L13.148|
000070  3890              SUBS     r0,r0,#0x90
000072  f7fffffe          BL       DMA_Cmd
;;;583      DMA_DeInit(sEE_I2C_DMA_STREAM_TX);
000076  4807              LDR      r0,|L13.148|
000078  f7fffffe          BL       DMA_DeInit
;;;584      DMA_DeInit(sEE_I2C_DMA_STREAM_RX);
00007c  4805              LDR      r0,|L13.148|
00007e  3890              SUBS     r0,r0,#0x90
000080  f7fffffe          BL       DMA_DeInit
;;;585    }
000084  bd1c              POP      {r2-r4,pc}
;;;586    
                          ENDP

000086  0000              DCW      0x0000
                  |L13.136|
                          DCD      0x40005400
                  |L13.140|
                          DCD      0x40020400
                  |L13.144|
                          DCD      NVIC_InitStructure
                  |L13.148|
                          DCD      0x400260a0

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

                  sEE_LowLevel_Init PROC
;;;591      */
;;;592    void sEE_LowLevel_Init(void)
000000  b51c              PUSH     {r2-r4,lr}
;;;593    {
;;;594      GPIO_InitTypeDef  GPIO_InitStructure; 
;;;595       
;;;596      /*!< sEE_I2C Periph clock enable */
;;;597      RCC_APB1PeriphClockCmd(sEE_I2C_CLK, ENABLE);
000002  2101              MOVS     r1,#1
000004  0548              LSLS     r0,r1,#21
000006  f7fffffe          BL       RCC_APB1PeriphClockCmd
;;;598      
;;;599      /*!< sEE_I2C_SCL_GPIO_CLK and sEE_I2C_SDA_GPIO_CLK Periph clock enable */
;;;600      RCC_AHB1PeriphClockCmd(sEE_I2C_SCL_GPIO_CLK | sEE_I2C_SDA_GPIO_CLK, ENABLE);
00000a  2101              MOVS     r1,#1
00000c  2002              MOVS     r0,#2
00000e  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;601    
;;;602      RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
000012  2101              MOVS     r1,#1
000014  0388              LSLS     r0,r1,#14
000016  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;603      
;;;604      /* Reset sEE_I2C IP */
;;;605      RCC_APB1PeriphResetCmd(sEE_I2C_CLK, ENABLE);
00001a  2101              MOVS     r1,#1
00001c  0548              LSLS     r0,r1,#21
00001e  f7fffffe          BL       RCC_APB1PeriphResetCmd
;;;606      
;;;607      /* Release reset signal of sEE_I2C IP */
;;;608      RCC_APB1PeriphResetCmd(sEE_I2C_CLK, DISABLE);
000022  2100              MOVS     r1,#0
000024  f44f1000          MOV      r0,#0x200000
000028  f7fffffe          BL       RCC_APB1PeriphResetCmd
;;;609        
;;;610      /*!< GPIO configuration */  
;;;611      /*!< Configure sEE_I2C pins: SCL */   
;;;612      GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN;
00002c  2040              MOVS     r0,#0x40
00002e  9000              STR      r0,[sp,#0]
;;;613      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
000030  2002              MOVS     r0,#2
000032  f88d0004          STRB     r0,[sp,#4]
;;;614      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000036  f88d0005          STRB     r0,[sp,#5]
;;;615      GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
00003a  2001              MOVS     r0,#1
00003c  f88d0006          STRB     r0,[sp,#6]
;;;616      GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;
000040  2000              MOVS     r0,#0
000042  f88d0007          STRB     r0,[sp,#7]
;;;617      GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure);
000046  4669              MOV      r1,sp
000048  483c              LDR      r0,|L14.316|
00004a  f7fffffe          BL       GPIO_Init
;;;618    
;;;619      /*!< Configure sEE_I2C pins: SDA */
;;;620      GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN;
00004e  f44f7000          MOV      r0,#0x200
000052  9000              STR      r0,[sp,#0]
;;;621      GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure);
000054  4669              MOV      r1,sp
000056  4839              LDR      r0,|L14.316|
000058  f7fffffe          BL       GPIO_Init
;;;622    
;;;623      /* Connect PXx to I2C_SCL*/
;;;624      GPIO_PinAFConfig(sEE_I2C_SCL_GPIO_PORT, sEE_I2C_SCL_SOURCE, sEE_I2C_SCL_AF);
00005c  2204              MOVS     r2,#4
00005e  2106              MOVS     r1,#6
000060  4836              LDR      r0,|L14.316|
000062  f7fffffe          BL       GPIO_PinAFConfig
;;;625    
;;;626      /* Connect PXx to I2C_SDA*/
;;;627      GPIO_PinAFConfig(sEE_I2C_SDA_GPIO_PORT, sEE_I2C_SDA_SOURCE, sEE_I2C_SDA_AF);  
000066  2204              MOVS     r2,#4
000068  2109              MOVS     r1,#9
00006a  4834              LDR      r0,|L14.316|
00006c  f7fffffe          BL       GPIO_PinAFConfig
;;;628      
;;;629      /* Configure and enable I2C DMA TX Channel interrupt */
;;;630      NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn;
000070  2011              MOVS     r0,#0x11
000072  4933              LDR      r1,|L14.320|
000074  7008              STRB     r0,[r1,#0]
;;;631      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO;
000076  2000              MOVS     r0,#0
000078  7048              STRB     r0,[r1,#1]
;;;632      NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO;
00007a  7088              STRB     r0,[r1,#2]
;;;633      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00007c  2001              MOVS     r0,#1
00007e  70c8              STRB     r0,[r1,#3]
;;;634      NVIC_Init(&NVIC_InitStructure);
000080  4608              MOV      r0,r1
000082  f7fffffe          BL       NVIC_Init
;;;635    
;;;636      /* Configure and enable I2C DMA RX Channel interrupt */
;;;637      NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn;
000086  200b              MOVS     r0,#0xb
000088  492d              LDR      r1,|L14.320|
00008a  7008              STRB     r0,[r1,#0]
;;;638      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO;
00008c  2000              MOVS     r0,#0
00008e  7048              STRB     r0,[r1,#1]
;;;639      NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO;
000090  7088              STRB     r0,[r1,#2]
;;;640      NVIC_Init(&NVIC_InitStructure);  
000092  4608              MOV      r0,r1
000094  f7fffffe          BL       NVIC_Init
;;;641      
;;;642      /*!< I2C DMA TX and RX channels configuration */
;;;643      /* Enable the DMA clock */
;;;644      RCC_AHB1PeriphClockCmd(sEE_I2C_DMA_CLK, ENABLE);
000098  2101              MOVS     r1,#1
00009a  0548              LSLS     r0,r1,#21
00009c  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;645      
;;;646      /* Clear any pending flag on Rx Stream  */
;;;647      DMA_ClearFlag(sEE_I2C_DMA_STREAM_TX, sEE_TX_DMA_FLAG_FEIF | sEE_TX_DMA_FLAG_DMEIF | sEE_TX_DMA_FLAG_TEIF | \
0000a0  4928              LDR      r1,|L14.324|
0000a2  4829              LDR      r0,|L14.328|
0000a4  f7fffffe          BL       DMA_ClearFlag
;;;648                                           sEE_TX_DMA_FLAG_HTIF | sEE_TX_DMA_FLAG_TCIF);
;;;649      /* Disable the EE I2C Tx DMA stream */
;;;650      DMA_Cmd(sEE_I2C_DMA_STREAM_TX, DISABLE);
0000a8  2100              MOVS     r1,#0
0000aa  4827              LDR      r0,|L14.328|
0000ac  f7fffffe          BL       DMA_Cmd
;;;651      /* Configure the DMA stream for the EE I2C peripheral TX direction */
;;;652      DMA_DeInit(sEE_I2C_DMA_STREAM_TX);
0000b0  4825              LDR      r0,|L14.328|
0000b2  f7fffffe          BL       DMA_DeInit
;;;653      sEEDMA_InitStructure.DMA_Channel = sEE_I2C_DMA_CHANNEL;
0000b6  f04f7000          MOV      r0,#0x2000000
0000ba  4924              LDR      r1,|L14.332|
0000bc  6008              STR      r0,[r1,#0]  ; sEEDMA_InitStructure
;;;654      sEEDMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)sEE_I2C_DR_Address;
0000be  4824              LDR      r0,|L14.336|
0000c0  6048              STR      r0,[r1,#4]  ; sEEDMA_InitStructure
;;;655      sEEDMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)0;    /* This parameter will be configured durig communication */;
0000c2  2000              MOVS     r0,#0
0000c4  6088              STR      r0,[r1,#8]  ; sEEDMA_InitStructure
;;;656      sEEDMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; /* This parameter will be configured durig communication */
0000c6  2040              MOVS     r0,#0x40
0000c8  60c8              STR      r0,[r1,#0xc]  ; sEEDMA_InitStructure
;;;657      sEEDMA_InitStructure.DMA_BufferSize = 0xFFFF;              /* This parameter will be configured durig communication */
0000ca  f64f70ff          MOV      r0,#0xffff
0000ce  6108              STR      r0,[r1,#0x10]  ; sEEDMA_InitStructure
;;;658      sEEDMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
0000d0  2000              MOVS     r0,#0
0000d2  6148              STR      r0,[r1,#0x14]  ; sEEDMA_InitStructure
;;;659      sEEDMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
0000d4  f44f6080          MOV      r0,#0x400
0000d8  6188              STR      r0,[r1,#0x18]  ; sEEDMA_InitStructure
;;;660      sEEDMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
0000da  2000              MOVS     r0,#0
0000dc  61c8              STR      r0,[r1,#0x1c]  ; sEEDMA_InitStructure
;;;661      sEEDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
0000de  6208              STR      r0,[r1,#0x20]  ; sEEDMA_InitStructure
;;;662      sEEDMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
0000e0  6248              STR      r0,[r1,#0x24]  ; sEEDMA_InitStructure
;;;663      sEEDMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
0000e2  f44f3040          MOV      r0,#0x30000
0000e6  6288              STR      r0,[r1,#0x28]  ; sEEDMA_InitStructure
;;;664      sEEDMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;
0000e8  2004              MOVS     r0,#4
0000ea  62c8              STR      r0,[r1,#0x2c]  ; sEEDMA_InitStructure
;;;665      sEEDMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
0000ec  2003              MOVS     r0,#3
0000ee  6308              STR      r0,[r1,#0x30]  ; sEEDMA_InitStructure
;;;666      sEEDMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
0000f0  2000              MOVS     r0,#0
0000f2  6348              STR      r0,[r1,#0x34]  ; sEEDMA_InitStructure
;;;667      sEEDMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
0000f4  6388              STR      r0,[r1,#0x38]  ; sEEDMA_InitStructure
;;;668      DMA_Init(sEE_I2C_DMA_STREAM_TX, &sEEDMA_InitStructure);
0000f6  4814              LDR      r0,|L14.328|
0000f8  f7fffffe          BL       DMA_Init
;;;669    
;;;670      /* Clear any pending flag on Rx Stream */
;;;671      DMA_ClearFlag(sEE_I2C_DMA_STREAM_RX, sEE_RX_DMA_FLAG_FEIF | sEE_RX_DMA_FLAG_DMEIF | sEE_RX_DMA_FLAG_TEIF | \
0000fc  4915              LDR      r1,|L14.340|
0000fe  4812              LDR      r0,|L14.328|
000100  3890              SUBS     r0,r0,#0x90
000102  f7fffffe          BL       DMA_ClearFlag
;;;672                                           sEE_RX_DMA_FLAG_HTIF | sEE_RX_DMA_FLAG_TCIF);
;;;673      /* Disable the EE I2C DMA Rx stream */
;;;674      DMA_Cmd(sEE_I2C_DMA_STREAM_RX, DISABLE);
000106  2100              MOVS     r1,#0
000108  480f              LDR      r0,|L14.328|
00010a  3890              SUBS     r0,r0,#0x90
00010c  f7fffffe          BL       DMA_Cmd
;;;675      /* Configure the DMA stream for the EE I2C peripheral RX direction */
;;;676      DMA_DeInit(sEE_I2C_DMA_STREAM_RX);
000110  480d              LDR      r0,|L14.328|
000112  3890              SUBS     r0,r0,#0x90
000114  f7fffffe          BL       DMA_DeInit
;;;677      DMA_Init(sEE_I2C_DMA_STREAM_RX, &sEEDMA_InitStructure);
000118  490c              LDR      r1,|L14.332|
00011a  480b              LDR      r0,|L14.328|
00011c  3890              SUBS     r0,r0,#0x90
00011e  f7fffffe          BL       DMA_Init
;;;678      
;;;679      /* Enable the DMA Channels Interrupts */
;;;680      DMA_ITConfig(sEE_I2C_DMA_STREAM_TX, DMA_IT_TC, ENABLE);
000122  2201              MOVS     r2,#1
000124  2110              MOVS     r1,#0x10
000126  4808              LDR      r0,|L14.328|
000128  f7fffffe          BL       DMA_ITConfig
;;;681      DMA_ITConfig(sEE_I2C_DMA_STREAM_RX, DMA_IT_TC, ENABLE);      
00012c  2201              MOVS     r2,#1
00012e  2110              MOVS     r1,#0x10
000130  4805              LDR      r0,|L14.328|
000132  3890              SUBS     r0,r0,#0x90
000134  f7fffffe          BL       DMA_ITConfig
;;;682    }
000138  bd1c              POP      {r2-r4,pc}
;;;683    
                          ENDP

00013a  0000              DCW      0x0000
                  |L14.316|
                          DCD      0x40020400
                  |L14.320|
                          DCD      NVIC_InitStructure
                  |L14.324|
                          DCD      0x203d0000
                  |L14.328|
                          DCD      0x400260a0
                  |L14.332|
                          DCD      sEEDMA_InitStructure
                  |L14.336|
                          DCD      0x40005410
                  |L14.340|
                          DCD      0x1080003d

                          AREA ||.bss||, DATA, NOINIT, ALIGN=2

                  sEEDMA_InitStructure
                          %        60

                          AREA ||.constdata||, DATA, READONLY, ALIGN=2

                  GPIO_PIN
000000  00400100          DCW      0x0040,0x0100
000004  02000080          DCW      0x0200,0x0080
                  GPIO_CLK
                          DCD      0x00000040
                          DCD      0x00000040
                          DCD      0x00000100
                          DCD      0x00000004
                  BUTTON_PIN
000018  00012000          DCW      0x0001,0x2000
00001c  8000              DCW      0x8000
00001e  0000              DCB      0x00,0x00
                  BUTTON_CLK
                          DCD      0x00000001
                          DCD      0x00000004
                          DCD      0x00000040
                  BUTTON_EXTI_LINE
00002c  00012000          DCW      0x0001,0x2000
000030  8000              DCW      0x8000
                  BUTTON_PORT_SOURCE
000032  0000              DCW      0x0000
000034  00020006          DCW      0x0002,0x0006
                  BUTTON_PIN_SOURCE
000038  0000000d          DCW      0x0000,0x000d
00003c  000f              DCW      0x000f
                  BUTTON_IRQn
00003e  0006              DCW      0x0006
000040  00280028          DCW      0x0028,0x0028
                  COM_USART_CLK
                          DCD      0x00040000
                  COM_TX_PORT_CLK
                          DCD      0x00000004
                  COM_RX_PORT_CLK
                          DCD      0x00000004
                  COM_TX_PIN
000050  0400              DCW      0x0400
                  COM_RX_PIN
000052  0800              DCW      0x0800
                  COM_TX_PIN_SOURCE
000054  000a              DCW      0x000a
                  COM_RX_PIN_SOURCE
000056  000b              DCW      0x000b
                  COM_TX_AF
000058  0007              DCW      0x0007
                  COM_RX_AF
00005a  0007              DCW      0x0007

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

                  GPIO_PORT
                          DCD      0x40021800
                          DCD      0x40021800
                          DCD      0x40022000
                          DCD      0x40020800
                  BUTTON_PORT
                          DCD      0x40020000
                          DCD      0x40020800
                          DCD      0x40021800
                  COM_USART
                          DCD      0x40004800
                  COM_TX_PORT
                          DCD      0x40020800
                  COM_RX_PORT
                          DCD      0x40020800
                  NVIC_InitStructure
                          DCD      0x00000000

;*** Start embedded assembler ***

#line 1 "..\\..\\..\\Utilities\\STM32_EVAL\\STM3240_41_G_EVAL\\stm324xg_eval.c"
	AREA ||.rev16_text||, CODE, READONLY
	THUMB
	EXPORT |__asm___15_stm324xg_eval_c_c84236cb____REV16|
#line 114 "C:\\Keil\\ARM\\CMSIS\\Include\\core_cmInstr.h"
|__asm___15_stm324xg_eval_c_c84236cb____REV16| PROC
#line 115

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
