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

📄 stm32f10x_nvic.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
    337            return ((u16)(SCB->ICSR & (u32)0x3FF));
   \                     NVIC_GetCurrentActiveHandler:
   \   00000000   ....               LDR.N    R0,??DataTable22_7  ;; 0xe000ed04
   \   00000002   0068               LDR      R0,[R0, #+0]
   \   00000004   8005               LSLS     R0,R0,#+22
   \   00000006   800D               LSRS     R0,R0,#+22
   \   00000008   7047               BX       LR               ;; return
    338          }
    339          
    340          /*******************************************************************************
    341          * Function Name  : NVIC_GetIRQChannelActiveBitStatus
    342          * Description    : Checks whether the specified IRQ Channel active bit is set
    343          *                  or not.
    344          * Input          : - NVIC_IRQChannel: specifies the interrupt active bit to check.
    345          * Output         : None
    346          * Return         : The new state of IRQ Channel active bit(SET or RESET).
    347          *******************************************************************************/

   \                                 In section .text, align 2, keep-with-next
    348          ITStatus NVIC_GetIRQChannelActiveBitStatus(u8 NVIC_IRQChannel)
    349          {
   \                     NVIC_GetIRQChannelActiveBitStatus:
   \   00000000   10B4               PUSH     {R4}
   \   00000002   0100               MOVS     R1,R0
    350            ITStatus activeirqstatus = RESET;
   \   00000004   0020               MOVS     R0,#+0
    351            u32 tmp = 0x00;
   \   00000006   0022               MOVS     R2,#+0
    352          
    353            /* Check the parameters */
    354            assert_param(IS_NVIC_IRQ_CHANNEL(NVIC_IRQChannel));
    355            
    356            tmp = ((u32)0x01 << (NVIC_IRQChannel & (u32)0x1F));
   \   00000008   0123               MOVS     R3,#+1
   \   0000000A   11F01F04           ANDS     R4,R1,#0x1F
   \   0000000E   A340               LSLS     R3,R3,R4
   \   00000010   1A00               MOVS     R2,R3
    357          
    358            if (((NVIC->IABR[(NVIC_IRQChannel >> 0x05)]) & tmp) == tmp )
   \   00000012   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000014   4B11               ASRS     R3,R1,#+5
   \   00000016   ....               LDR.N    R4,??DataTable22_21  ;; 0xe000e300
   \   00000018   54F82330           LDR      R3,[R4, R3, LSL #+2]
   \   0000001C   1340               ANDS     R3,R2,R3
   \   0000001E   9342               CMP      R3,R2
   \   00000020   02D1               BNE.N    ??NVIC_GetIRQChannelActiveBitStatus_0
    359            {
    360              activeirqstatus = SET;
   \   00000022   0123               MOVS     R3,#+1
   \   00000024   1800               MOVS     R0,R3
   \   00000026   01E0               B.N      ??NVIC_GetIRQChannelActiveBitStatus_1
    361            }
    362            else
    363            {
    364              activeirqstatus = RESET;
   \                     ??NVIC_GetIRQChannelActiveBitStatus_0:
   \   00000028   0023               MOVS     R3,#+0
   \   0000002A   1800               MOVS     R0,R3
    365            }
    366            return activeirqstatus;
   \                     ??NVIC_GetIRQChannelActiveBitStatus_1:
   \   0000002C   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   0000002E   10BC               POP      {R4}
   \   00000030   7047               BX       LR               ;; return
    367          }
    368          
    369          /*******************************************************************************
    370          * Function Name  : NVIC_GetCPUID
    371          * Description    : Returns the ID number, the version number and the implementation
    372          *                  details of the Cortex-M3 core.
    373          * Input          : None
    374          * Output         : None
    375          * Return         : CPU ID.
    376          *******************************************************************************/

   \                                 In section .text, align 2, keep-with-next
    377          u32 NVIC_GetCPUID(void)
    378          {
    379            return (SCB->CPUID);
   \                     NVIC_GetCPUID:
   \   00000000   ....               LDR.N    R0,??DataTable22_22  ;; 0xe000ed00
   \   00000002   0068               LDR      R0,[R0, #+0]
   \   00000004   7047               BX       LR               ;; return
    380          }
    381          
    382          /*******************************************************************************
    383          * Function Name  : NVIC_SetVectorTable
    384          * Description    : Sets the vector table location and Offset.
    385          * Input          : - NVIC_VectTab: specifies if the vector table is in RAM or
    386          *                    FLASH memory.
    387          *                    This parameter can be one of the following values:
    388          *                       - NVIC_VectTab_RAM
    389          *                       - NVIC_VectTab_FLASH
    390          *                  - Offset: Vector Table base offset field. 
    391          *                            This value must be a multiple of 0x100.
    392          * Output         : None
    393          * Return         : None
    394          *******************************************************************************/

   \                                 In section .text, align 2, keep-with-next
    395          void NVIC_SetVectorTable(u32 NVIC_VectTab, u32 Offset)
    396          { 
    397            /* Check the parameters */
    398            assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));
    399            assert_param(IS_NVIC_OFFSET(Offset));  
    400             
    401            SCB->VTOR = NVIC_VectTab | (Offset & (u32)0x1FFFFF80);
   \                     NVIC_SetVectorTable:
   \   00000000   ....               LDR.N    R2,??DataTable22_23  ;; 0x1fffff80
   \   00000002   0A40               ANDS     R2,R2,R1
   \   00000004   0243               ORRS     R2,R2,R0
   \   00000006   ....               LDR.N    R3,??DataTable22_8  ;; 0xe000ed08
   \   00000008   1A60               STR      R2,[R3, #+0]
    402          }
   \   0000000A   7047               BX       LR               ;; return
    403          
    404          /*******************************************************************************
    405          * Function Name  : NVIC_GenerateSystemReset
    406          * Description    : Generates a system reset.
    407          * Input          : None
    408          * Output         : None
    409          * Return         : None
    410          *******************************************************************************/

   \                                 In section .text, align 2, keep-with-next
    411          void NVIC_GenerateSystemReset(void)
    412          {
    413            SCB->AIRCR = AIRCR_VECTKEY_MASK | (u32)0x04;
   \                     NVIC_GenerateSystemReset:
   \   00000000   ....               LDR.N    R0,??DataTable22_9  ;; 0xe000ed0c
   \   00000002   ....               LDR.N    R1,??DataTable22_24  ;; 0x5fa0004
   \   00000004   0160               STR      R1,[R0, #+0]
    414          }
   \   00000006   7047               BX       LR               ;; return
    415          
    416          /*******************************************************************************
    417          * Function Name  : NVIC_GenerateCoreReset
    418          * Description    : Generates a Core (Core + NVIC) reset.
    419          * Input          : None
    420          * Output         : None
    421          * Return         : None
    422          *******************************************************************************/

   \                                 In section .text, align 2, keep-with-next
    423          void NVIC_GenerateCoreReset(void)
    424          {
    425            SCB->AIRCR = AIRCR_VECTKEY_MASK | (u32)0x01;
   \                     NVIC_GenerateCoreReset:
   \   00000000   ....               LDR.N    R0,??DataTable22_9  ;; 0xe000ed0c
   \   00000002   ....               LDR.N    R1,??DataTable22_25  ;; 0x5fa0001
   \   00000004   0160               STR      R1,[R0, #+0]
    426          }
   \   00000006   7047               BX       LR               ;; return
    427          
    428          /*******************************************************************************
    429          * Function Name  : NVIC_SystemLPConfig
    430          * Description    : Selects the condition for the system to enter low power mode.
    431          * Input          : - LowPowerMode: Specifies the new mode for the system to enter
    432          *                    low power mode.
    433          *                    This parameter can be one of the following values:
    434          *                       - NVIC_LP_SEVONPEND
    435          *                       - NVIC_LP_SLEEPDEEP
    436          *                       - NVIC_LP_SLEEPONEXIT
    437          *                  - NewState: new state of LP condition.
    438          *                    This parameter can be: ENABLE or DISABLE.
    439          * Output         : None
    440          * Return         : None
    441          *******************************************************************************/

   \                                 In section .text, align 2, keep-with-next
    442          void NVIC_SystemLPConfig(u8 LowPowerMode, FunctionalState NewState)
    443          {
    444            /* Check the parameters */
    445            assert_param(IS_NVIC_LP(LowPowerMode));
    446            assert_param(IS_FUNCTIONAL_STATE(NewState));  
    447            
    448            if (NewState != DISABLE)
   \                     NVIC_SystemLPConfig:
   \   00000000   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000002   0029               CMP      R1,#+0
   \   00000004   06D0               BEQ.N    ??NVIC_SystemLPConfig_0
    449            {
    450              SCB->SCR |= LowPowerMode;
   \   00000006   ....               LDR.N    R2,??DataTable22_11  ;; 0xe000ed10
   \   00000008   1268               LDR      R2,[R2, #+0]
   \   0000000A   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   0000000C   0243               ORRS     R2,R0,R2
   \   0000000E   ....               LDR.N    R3,??DataTable22_11  ;; 0xe000ed10
   \   00000010   1A60               STR      R2,[R3, #+0]
   \   00000012   05E0               B.N      ??NVIC_SystemLPConfig_1
    451            }
    452            else
    453            {
    454              SCB->SCR &= (u32)(~(u32)LowPowerMode);
   \                     ??NVIC_SystemLPConfig_0:
   \   00000014   ....               LDR.N    R2,??DataTable22_11  ;; 0xe000ed10
   \   00000016   1268               LDR      R2,[R2, #+0]
   \   00000018   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   0000001A   8243               BICS     R2,R2,R0
   \   0000001C   ....               LDR.N    R3,??DataTable22_11  ;; 0xe000ed10
   \   0000001E   1A60               STR      R2,[R3, #+0]
    455            }
    456          }
   \                     ??NVIC_SystemLPConfig_1:
   \   00000020   7047               BX       LR               ;; return
    457          
    458          /*******************************************************************************
    459          * Function Name  : NVIC_SystemHandlerConfig
    460          * Description    : Enables or disables the specified System Handlers.
    461          * Input          : - SystemHandler: specifies the system handler to be enabled
    462          *                    or disabled.
    463          *                    This parameter can be one of the following values:
    464          *                       - SystemHandler_MemoryManage
    465          *                       - SystemHandler_BusFault
    466          *                       - SystemHandler_UsageFault
    467          *                  - NewState: new state of  specified System Handlers.
    468          *                    This parameter can be: ENABLE or DISABLE.
    469          * Output         : None
    470          * Return         : None
    471          *******************************************************************************/

⌨️ 快捷键说明

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