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

📄 main.txt

📁 STM32外部SRAM用作datamemery的程序 开发环境MDK
💻 TXT
📖 第 1 页 / 共 4 页
字号:
;;;285      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000ae  f88df88d          STRB     r4,[sp,#0xb]
;;;286      NVIC_Init(&NVIC_InitStructure);
0000b2  a802              ADD      r0,sp,#8
0000b4  f7fff7ff          BL       NVIC_Init
;;;287    
;;;288      /* Enable the TIM1 UP Interrupt */
;;;289      NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQChannel;
0000b8  2019              MOVS     r0,#0x19
0000ba  f88df88d          STRB     r0,[sp,#8]
;;;290      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
0000be  f88df88d          STRB     r4,[sp,#9]
;;;291      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
0000c2  f88df88d          STRB     r6,[sp,#0xa]
;;;292      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000c6  f88df88d          STRB     r4,[sp,#0xb]
;;;293      NVIC_Init(&NVIC_InitStructure);
0000ca  a802              ADD      r0,sp,#8
0000cc  f7fff7ff          BL       NVIC_Init
;;;294    
;;;295      /* Enable the RTC Alarm Interrupt */
;;;296      NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQChannel;
0000d0  2029              MOVS     r0,#0x29
0000d2  f88df88d          STRB     r0,[sp,#8]
;;;297      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
0000d6  f88df88d          STRB     r4,[sp,#9]
;;;298      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
0000da  f88df88d          STRB     r4,[sp,#0xa]
;;;299      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
0000de  f88df88d          STRB     r4,[sp,#0xb]
;;;300      NVIC_Init(&NVIC_InitStructure);
0000e2  a802              ADD      r0,sp,#8
0000e4  f7fff7ff          BL       NVIC_Init
;;;301    
;;;302      /* Enable the EXTI Line17 Interrupt */
;;;303      EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
;;;304      EXTI_InitStructure.EXTI_Line = EXTI_Line17;
0000e8  0460              LSLS     r0,r4,#17
;;;305      EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
0000ea  9000              STR      r0,[sp,#0]
0000ec  f88df88d          STRB     r5,[sp,#4]            ;303
0000f0  2008              MOVS     r0,#8
0000f2  f88df88d          STRB     r0,[sp,#5]
;;;306      EXTI_InitStructure.EXTI_LineCmd = ENABLE;
0000f6  f88df88d          STRB     r4,[sp,#6]
;;;307      EXTI_Init(&EXTI_InitStructure);
0000fa  4668              MOV      r0,sp
0000fc  f7fff7ff          BL       EXTI_Init
;;;308    }
000100  bdfe              POP      {r1-r7,pc}
;;;309    
                          ENDP

000102  0000              DCW      0x0000
                  |L4.260|
000104  0002c39a          DCD      0x0002c39a

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

                  GPIO_Config PROC
;;;374    void GPIO_Config(void)
;;;375    {
000000  b538              PUSH     {r3-r5,lr}
;;;376      GPIO_InitTypeDef GPIO_InitStructure;
;;;377      
;;;378    
;;;379      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
000002  2101              MOVS     r1,#1
000004  2004              MOVS     r0,#4
000006  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;380      /* Configure PG.07, PG.08, PG.13, PG.14 and PG.15 as input floating */
;;;381      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
00000a  f24ef24e          MOV      r0,#0xe180
00000e  f8adf8ad          STRH     r0,[sp,#0]
;;;382      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
000012  2404              MOVS     r4,#4
000014  f88df88d          STRB     r4,[sp,#3]
;;;383      GPIO_Init(GPIOG, &GPIO_InitStructure);
000018  4669              MOV      r1,sp
00001a  4817              LDR      r0,|L5.120|
00001c  f7fff7ff          BL       GPIO_Init
;;;384        /* Configure PD.03 as input floating */
;;;385      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
000020  2010              MOVS     r0,#0x10
000022  f8adf8ad          STRH     r0,[sp,#0]
;;;386      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
;;;387      GPIO_Init(GPIOD, &GPIO_InitStructure);
000026  4d15              LDR      r5,|L5.124|
000028  f88df88d          STRB     r0,[sp,#3]            ;386
00002c  4669              MOV      r1,sp
00002e  4628              MOV      r0,r5
000030  f7fff7ff          BL       GPIO_Init
;;;388      
;;;389    
;;;390      /* Configure PD.03 as input floating */
;;;391      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
000034  2008              MOVS     r0,#8
000036  f8adf8ad          STRH     r0,[sp,#0]
;;;392      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00003a  f88df88d          STRB     r4,[sp,#3]
;;;393      GPIO_Init(GPIOD, &GPIO_InitStructure);
00003e  4669              MOV      r1,sp
000040  4628              MOV      r0,r5
000042  f7fff7ff          BL       GPIO_Init
;;;394    
;;;395      /* RIGHT Button */
;;;396      GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource13);
000046  210d              MOVS     r1,#0xd
000048  2006              MOVS     r0,#6
00004a  f7fff7ff          BL       GPIO_EXTILineConfig
;;;397    
;;;398      /* LEFT Button */
;;;399      GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource14);
00004e  210e              MOVS     r1,#0xe
000050  2006              MOVS     r0,#6
000052  f7fff7ff          BL       GPIO_EXTILineConfig
;;;400    
;;;401      /* DOWN Button */
;;;402      GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);
000056  2103              MOVS     r1,#3
000058  4608              MOV      r0,r1
00005a  f7fff7ff          BL       GPIO_EXTILineConfig
;;;403    
;;;404      /* UP Button */
;;;405      GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource15);
00005e  210f              MOVS     r1,#0xf
000060  2006              MOVS     r0,#6
000062  f7fff7ff          BL       GPIO_EXTILineConfig
;;;406    
;;;407      /* SEL Button */
;;;408      GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource7);
000066  2107              MOVS     r1,#7
000068  2006              MOVS     r0,#6
00006a  f7fff7ff          BL       GPIO_EXTILineConfig
;;;409    
;;;410      /* KEY Button */
;;;411      GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource8);
00006e  2108              MOVS     r1,#8
000070  2006              MOVS     r0,#6
000072  f7fff7ff          BL       GPIO_EXTILineConfig
;;;412    }
000076  bd38              POP      {r3-r5,pc}
;;;413    
                          ENDP

                  |L5.120|
000078  40012000          DCD      0x40012000
                  |L5.124|
00007c  40011400          DCD      0x40011400

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

                  Demo_Init PROC
;;;84     void Demo_Init(void)
;;;85     {
000000  b570              PUSH     {r4-r6,lr}
;;;86        u32 i ;
;;;87        unsigned int  j;
;;;88       /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/   
;;;89       /* RCC system reset(for debug purpose) */
;;;90       RCC_DeInit();
000002  f7fff7ff          BL       RCC_DeInit
;;;91     
;;;92       /* Enable HSE */
;;;93       RCC_HSEConfig(RCC_HSE_ON);
000006  f44ff44f          MOV      r5,#0x10000
00000a  4628              MOV      r0,r5
00000c  f7fff7ff          BL       RCC_HSEConfig
;;;94     
;;;95       /* Wait till HSE is ready */
;;;96       HSEStartUpStatus = RCC_WaitForHSEStartUp();
000010  f7fff7ff          BL       RCC_WaitForHSEStartUp
000014  4c34              LDR      r4,|L6.232|
000016  7020              STRB     r0,[r4,#0]  ; HSEStartUpStatus
;;;97     
;;;98       if(HSEStartUpStatus == SUCCESS)
000018  7820              LDRB     r0,[r4,#0]  ; HSEStartUpStatus
00001a  2801              CMP      r0,#1
00001c  d122              BNE      |L6.100|
;;;99       {
;;;100        /* Enable Prefetch Buffer */
;;;101        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
00001e  2010              MOVS     r0,#0x10
000020  f7fff7ff          BL       FLASH_PrefetchBufferCmd
;;;102    
;;;103        /* Flash 2 wait state */
;;;104        FLASH_SetLatency(FLASH_Latency_2);
000024  2002              MOVS     r0,#2
000026  f7fff7ff          BL       FLASH_SetLatency
;;;105        
;;;106        /* HCLK = SYSCLK */
;;;107        RCC_HCLKConfig(RCC_SYSCLK_Div1); 
00002a  2000              MOVS     r0,#0
00002c  f7fff7ff          BL       RCC_HCLKConfig
;;;108      
;;;109        /* PCLK2 = HCLK */
;;;110        RCC_PCLK2Config(RCC_HCLK_Div1); 
000030  2000              MOVS     r0,#0
000032  f7fff7ff          BL       RCC_PCLK2Config
;;;111     
;;;112        /* PCLK1 = HCLK/2 */
;;;113        RCC_PCLK1Config(RCC_HCLK_Div2);
000036  11a8              ASRS     r0,r5,#6
000038  f7fff7ff          BL       RCC_PCLK1Config
;;;114     
;;;115        /* PLLCLK = 8MHz * 9 = 72 MHz */
;;;116        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
00003c  f44ff44f          MOV      r1,#0x1c0000
000040  4628              MOV      r0,r5
000042  f7fff7ff          BL       RCC_PLLConfig
;;;117     
;;;118        /* Enable PLL */ 
;;;119        RCC_PLLCmd(ENABLE);
000046  2001              MOVS     r0,#1
000048  f7fff7ff          BL       RCC_PLLCmd
                  |L6.76|
;;;120     
;;;121        /* Wait till PLL is ready */
;;;122        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
00004c  2039              MOVS     r0,#0x39
00004e  f7fff7ff          BL       RCC_GetFlagStatus
000052  2800              CMP      r0,#0
000054  d0fa              BEQ      |L6.76|
;;;123        {
;;;124        }
;;;125     
;;;126        /* Select PLL as system clock source */
;;;127        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000056  2002              MOVS     r0,#2
000058  f7fff7ff          BL       RCC_SYSCLKConfig
                  |L6.92|
;;;128     
;;;129        /* Wait till PLL is used as system clock source */
;;;130        while(RCC_GetSYSCLKSource() != 0x08)
00005c  f7fff7ff          BL       RCC_GetSYSCLKSource
000060  2808              CMP      r0,#8
000062  d1fb              BNE      |L6.92|
                  |L6.100|
;;;131        {
;;;132        }
;;;133      }
;;;134    
;;;135      /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
;;;136      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC 
000064  2101              MOVS     r1,#1
000066  f240f240          MOV      r0,#0x1fd
00006a  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;137             | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG 
;;;138             | RCC_APB2Periph_AFIO, ENABLE);
;;;139      
;;;140      /* TIM1 Periph clock enable */
;;;141      RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
00006e  2101              MOVS     r1,#1
000070  02c8              LSLS     r0,r1,#11
000072  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;142     
;;;143    /*------------------- Resources Initialization -----------------------------*/
;;;144      /* GPIO Configuration */
;;;145      GPIO_Config();
000076  f7fff7ff          BL       GPIO_Config
;;;146       SetupUSART();
00007a  f7fff7ff          BL       SetupUSART
;;;147      /* Interrupt Configuration */
;;;148      InterruptConfig();
00007e  f7fff7ff          BL       InterruptConfig
;;;149    
;;;150      /* Configure the systick */    
;;;151      SysTick_Config();
000082  f7fff7ff          BL       SysTick_Config
;;;152    
;;;153    /*------------------- Drivers Initialization -------------------------------*/
;;;154      /* Initialize the LEDs toogling */
;;;155      LedShow_Init();
000086  f7fff7ff          BL       LedShow_Init
;;;156     GPIO_ResetBits(GPIOA,GPIO_Pin_4);
00008a  2110              MOVS     r1,#0x10
00008c  4817              LDR      r0,|L6.236|
00008e  f7fff7ff          BL       GPIO_ResetBits
;;;157    
;;;158      /* Initialize the Low Power application */
;;;159      LowPower_Init();
000092  f7fff7ff          BL       LowPower_Init
;;;160     // SendChar('N');

⌨️ 快捷键说明

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