⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.txt

📁 STM32外部SRAM用作datamemery的程序 开发环境MDK
💻 TXT
📖 第 1 页 / 共 4 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\main.o --depend=.\Obj\main.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\SRAM -I"D:\Program Files\MDK KEIL\ARM\INC\ST\STM32F10x" -D__MICROLIB --omf_browse=.\Obj\main.crf ..\..\source\main.c]
                          THUMB

                          AREA ||i.IntExtOnOffConfig||, CODE, READONLY, ALIGN=1

                  IntExtOnOffConfig PROC
;;;339    void IntExtOnOffConfig(FunctionalState NewState)
;;;340    {
000000  b57c              PUSH     {r2-r6,lr}
000002  4606              MOV      r6,r0
;;;341      EXTI_InitTypeDef EXTI_InitStructure;
;;;342    
;;;343      /* Initializes the EXTI_InitStructure */
;;;344      EXTI_StructInit(&EXTI_InitStructure);
000004  4668              MOV      r0,sp
000006  f7fff7ff          BL       EXTI_StructInit
00000a  2400              MOVS     r4,#0
00000c  f248f248          MOV      r5,#0x8088
;;;345    
;;;346      /* Disable the EXTI line 3, 7 and 15 on falling edge */
;;;347      if(NewState == DISABLE)
000010  b91e              CBNZ     r6,|L1.26|
;;;348      {
;;;349        EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;350        EXTI_InitStructure.EXTI_LineCmd = DISABLE;
000012  9500              STR      r5,[sp,#0]
000014  f88df88d          STRB     r4,[sp,#6]
;;;351        EXTI_Init(&EXTI_InitStructure);
000018  e00b              B        |L1.50|
                  |L1.26|
;;;352      }
;;;353      /* Enable the EXTI line 3, 7 and 15 on falling edge */
;;;354      else
;;;355      {
;;;356        /* Clear the the EXTI line 3, 7 and 15 interrupt pending bit */
;;;357        EXTI_ClearITPendingBit(EXTI_Line3 | EXTI_Line7 | EXTI_Line15);
00001a  4628              MOV      r0,r5
00001c  f7fff7ff          BL       EXTI_ClearITPendingBit
;;;358    
;;;359        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
000020  f88df88d          STRB     r4,[sp,#4]
;;;360        EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;361        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
000024  200c              MOVS     r0,#0xc
000026  f88df88d          STRB     r0,[sp,#5]
;;;362        EXTI_InitStructure.EXTI_LineCmd = ENABLE;
00002a  2001              MOVS     r0,#1
00002c  9500              STR      r5,[sp,#0]            ;361
00002e  f88df88d          STRB     r0,[sp,#6]
                  |L1.50|
000032  4668              MOV      r0,sp                 ;351
000034  f7fff7ff          BL       EXTI_Init
;;;363        EXTI_Init(&EXTI_InitStructure);
;;;364      }
;;;365    }
000038  bd7c              POP      {r2-r6,pc}
;;;366    
                          ENDP


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

                  LedShow_Init PROC
;;;499    void LedShow_Init(void)
;;;500    {
000000  b530              PUSH     {r4,r5,lr}
000002  b089              SUB      sp,sp,#0x24
;;;501      GPIO_InitTypeDef GPIO_InitStructure;
;;;502      TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
;;;503      TIM_OCInitTypeDef  TIM_OCInitStructure;
;;;504    
;;;505      TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
000004  a805              ADD      r0,sp,#0x14
000006  f7fff7ff          BL       TIM_TimeBaseStructInit
;;;506      TIM_OCStructInit(&TIM_OCInitStructure);
00000a  a801              ADD      r0,sp,#4
00000c  f7fff7ff          BL       TIM_OCStructInit
;;;507    
;;;508      /* PF.06, PF.07, PF.08 and PF.09 as output push-pull */
;;;509      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
000010  f44ff44f          MOV      r0,#0x3c0
000014  f8adf8ad          STRH     r0,[sp,#0x20]
;;;510      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000018  2003              MOVS     r0,#3
00001a  f88df88d          STRB     r0,[sp,#0x22]
;;;511      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
00001e  2410              MOVS     r4,#0x10
000020  f88df88d          STRB     r4,[sp,#0x23]
;;;512      GPIO_Init(GPIOF, &GPIO_InitStructure);
000024  a908              ADD      r1,sp,#0x20
000026  4817              LDR      r0,|L2.132|
000028  f7fff7ff          BL       GPIO_Init
;;;513    
;;;514        /* Configure PD.03 as input floating */
;;;515      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
00002c  f8adf8ad          STRH     r4,[sp,#0x20]
;;;516      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
000030  f88df88d          STRB     r4,[sp,#0x23]
;;;517      GPIO_Init(GPIOD, &GPIO_InitStructure);
000034  a908              ADD      r1,sp,#0x20
000036  4814              LDR      r0,|L2.136|
000038  f7fff7ff          BL       GPIO_Init
;;;518    
;;;519      /* Time Base configuration */
;;;520      TIM_TimeBaseStructure.TIM_Prescaler = 719;
00003c  f240f240          MOV      r0,#0x2cf
000040  f8adf8ad          STRH     r0,[sp,#0x14]
;;;521      TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
000044  2400              MOVS     r4,#0
;;;522      TIM_TimeBaseStructure.TIM_Period = 0x270F;
000046  f242f242          MOV      r0,#0x270f
00004a  f8adf8ad          STRH     r0,[sp,#0x18]
;;;523      TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
;;;524      TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;
;;;525    
;;;526      TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
00004e  4d0f              LDR      r5,|L2.140|
000050  f8adf8ad          STRH     r4,[sp,#0x16]         ;521
000054  f8adf8ad          STRH     r4,[sp,#0x1a]         ;523
000058  f88df88d          STRB     r4,[sp,#0x1c]         ;524
00005c  a905              ADD      r1,sp,#0x14
00005e  4628              MOV      r0,r5
000060  f7fff7ff          BL       TIM_TimeBaseInit
;;;527    
;;;528      /* Channel 1 Configuration in Timing mode */
;;;529      TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing;
000064  f8adf8ad          STRH     r4,[sp,#4]
;;;530      TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
000068  2001              MOVS     r0,#1
00006a  f8adf8ad          STRH     r0,[sp,#6]
;;;531      TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
00006e  f8adf8ad          STRH     r4,[sp,#8]
;;;532      TIM_OCInitStructure.TIM_Pulse = 0x0;
000072  f8adf8ad          STRH     r4,[sp,#0xa]
;;;533      
;;;534      TIM_OC1Init(TIM1, &TIM_OCInitStructure); 
000076  a901              ADD      r1,sp,#4
000078  4628              MOV      r0,r5
00007a  f7fff7ff          BL       TIM_OC1Init
;;;535    }
00007e  b009              ADD      sp,sp,#0x24
000080  bd30              POP      {r4,r5,pc}
;;;536    
                          ENDP

000082  0000              DCW      0x0000
                  |L2.132|
000084  40011c00          DCD      0x40011c00
                  |L2.136|
000088  40011400          DCD      0x40011400
                  |L2.140|
00008c  40012c00          DCD      0x40012c00

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

                  SysTick_Config PROC
000000  b510              PUSH     {r4,lr}
000002  2004              MOVS     r0,#4
000004  f7fff7ff          BL       SysTick_CLKSourceConfig
000008  4803              LDR      r0,|L3.24|
00000a  f7fff7ff          BL       SysTick_SetReload
00000e  e8bde8bd          POP      {r4,lr}
000012  2001              MOVS     r0,#1
000014  f7fff7ff          B.W      SysTick_ITConfig
                          ENDP

                  |L3.24|
000018  000afc80          DCD      0x000afc80

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

                  InterruptConfig PROC
;;;228    void InterruptConfig(void)
;;;229    { 
000000  b5fe              PUSH     {r1-r7,lr}
;;;230      NVIC_InitTypeDef NVIC_InitStructure;
;;;231      EXTI_InitTypeDef EXTI_InitStructure;
;;;232    
;;;233      /* Deinitializes the NVIC */
;;;234      NVIC_DeInit();
000002  f7fff7ff          BL       NVIC_DeInit
;;;235    
;;;236      /* Set the Vector Table base address at 0x08000000 */
;;;237      NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00);
000006  2100              MOVS     r1,#0
000008  f04ff04f          MOV      r0,#0x8000000
00000c  f7fff7ff          BL       NVIC_SetVectorTable
;;;238    
;;;239      /* Configure the Priority Group to 2 bits */
;;;240      NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
000010  f44ff44f          MOV      r0,#0x500
000014  f7fff7ff          BL       NVIC_PriorityGroupConfig
;;;241    
;;;242      /* Configure the SysTick handler priority */
;;;243      NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 0, 0);
000018  2200              MOVS     r2,#0
00001a  4611              MOV      r1,r2
00001c  4839              LDR      r0,|L4.260|
00001e  f7fff7ff          BL       NVIC_SystemHandlerPriorityConfig
;;;244      
;;;245      /* Enable the EXTI3 Interrupt */
;;;246      NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel;
000022  2009              MOVS     r0,#9
000024  f88df88d          STRB     r0,[sp,#8]
;;;247      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
000028  2502              MOVS     r5,#2
00002a  f88df88d          STRB     r5,[sp,#9]
;;;248      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
00002e  2401              MOVS     r4,#1
000030  f88df88d          STRB     r4,[sp,#0xa]
;;;249      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000034  f88df88d          STRB     r4,[sp,#0xb]
;;;250      NVIC_Init(&NVIC_InitStructure);
000038  a802              ADD      r0,sp,#8
00003a  f7fff7ff          BL       NVIC_Init
;;;251    
;;;252      /* Enable the EXTI9_5 Interrupt */
;;;253      NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;
00003e  2017              MOVS     r0,#0x17
000040  f88df88d          STRB     r0,[sp,#8]
;;;254      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
000044  f88df88d          STRB     r5,[sp,#9]
;;;255      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
000048  f88df88d          STRB     r4,[sp,#0xa]
;;;256      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00004c  f88df88d          STRB     r4,[sp,#0xb]
;;;257      NVIC_Init(&NVIC_InitStructure);
000050  a802              ADD      r0,sp,#8
000052  f7fff7ff          BL       NVIC_Init
;;;258      
;;;259      /* Enable the EXTI15_10 Interrupt */
;;;260      NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQChannel;
000056  2028              MOVS     r0,#0x28
000058  f88df88d          STRB     r0,[sp,#8]
;;;261      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
00005c  f88df88d          STRB     r5,[sp,#9]
;;;262      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000060  2500              MOVS     r5,#0
000062  f88df88d          STRB     r5,[sp,#0xa]
;;;263      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000066  f88df88d          STRB     r4,[sp,#0xb]
;;;264      NVIC_Init(&NVIC_InitStructure);
00006a  a802              ADD      r0,sp,#8
00006c  f7fff7ff          BL       NVIC_Init
;;;265      
;;;266      /* Enable the RTC Interrupt */
;;;267      NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQChannel;
000070  2603              MOVS     r6,#3
000072  f88df88d          STRB     r6,[sp,#8]
;;;268      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
000076  f88df88d          STRB     r5,[sp,#9]
;;;269      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
00007a  f88df88d          STRB     r5,[sp,#0xa]
;;;270      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00007e  f88df88d          STRB     r4,[sp,#0xb]
;;;271      NVIC_Init(&NVIC_InitStructure);
000082  a802              ADD      r0,sp,#8
000084  f7fff7ff          BL       NVIC_Init
;;;272    
;;;273     
;;;274      /* Enable the USB_LP_CAN_RX0 Interrupt */
;;;275      NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN_RX0_IRQChannel;
000088  2014              MOVS     r0,#0x14
00008a  f88df88d          STRB     r0,[sp,#8]
;;;276      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
00008e  f88df88d          STRB     r4,[sp,#9]
;;;277      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
000092  f88df88d          STRB     r5,[sp,#0xa]
;;;278      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
000096  f88df88d          STRB     r4,[sp,#0xb]
;;;279      NVIC_Init(&NVIC_InitStructure);
00009a  a802              ADD      r0,sp,#8
00009c  f7fff7ff          BL       NVIC_Init
;;;280      
;;;281      /* Enable the USB_HP_CAN_TX Interrupt */
;;;282      NVIC_InitStructure.NVIC_IRQChannel = USB_HP_CAN_TX_IRQChannel;
0000a0  2013              MOVS     r0,#0x13
0000a2  f88df88d          STRB     r0,[sp,#8]
;;;283      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
0000a6  f88df88d          STRB     r5,[sp,#9]
;;;284      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
0000aa  f88df88d          STRB     r4,[sp,#0xa]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -