📄 stm32f10x_nvic.lst
字号:
649 {
650 ITStatus bitstatus = RESET;
651
652 u32 tmp = 0x00, tmppos = 0x00;
653
654 /* Check the parameters */
655 assert(IS_GET_ACTIVE_SYSTEM_HANDLER(SystemHandler));
656
657 tmppos = (SystemHandler >> 0x0E) & (u32)0x0F;
658
659 tmppos = (u32)0x01 << tmppos;
660
661 tmp = SCB->SysHandlerCtrl & tmppos;
662
663 if (tmp == tmppos)
664 {
665 bitstatus = SET;
666 }
667 else
668 {
669 bitstatus = RESET;
670 }
671 return bitstatus;
672 }
673
674 /*******************************************************************************
675 * Function Name : NVIC_GetFaultHandlerSources
676 * Description : Returns the system fault handlers sources.
677 * Input : - SystemHandler: specifies the system handler to get its fault
678 * sources.
679 * This parameter can be one of the following values:
680 * - SystemHandler_HardFault
681 * - SystemHandler_MemoryManage
682 * - SystemHandler_BusFault
683 * - SystemHandler_UsageFault
684 * - SystemHandler_DebugMonitor
685 * Output : None
686 * Return : Source of the fault handler.
687 *******************************************************************************/
688 u32 NVIC_GetFaultHandlerSources(u32 SystemHandler)
689 {
690 u32 faultsources = 0x00;
691 u32 tmpreg = 0x00, tmppos = 0x00;
692
693 /* Check the parameters */
694 assert(IS_FAULT_SOURCE_SYSTEM_HANDLER(SystemHandler));
695
696 tmpreg = (SystemHandler >> 0x12) & (u32)0x03;
697 tmppos = (SystemHandler >> 0x14) & (u32)0x03;
698
699 if (tmpreg == 0x00)
700 {
701 faultsources = SCB->HardFaultStatus;
702 }
703 else if (tmpreg == 0x01)
704 {
705 faultsources = SCB->ConfigFaultStatus >> (tmppos * 0x08);
706 if (tmppos != 0x02)
707 {
708 faultsources &= (u32)0x0F;
709 }
710 else
711 {
712 faultsources &= (u32)0xFF;
713 }
714 }
715 else
716 {
717 faultsources = SCB->DebugFaultStatus;
718 }
719 return faultsources;
720 }
721
722 /*******************************************************************************
723 * Function Name : NVIC_GetFaultAddress
724 * Description : Returns the address of the location that generated a fault
725 * handler.
726 * Input : - SystemHandler: specifies the system handler to get its
727 * fault address.
728 * This parameter can be one of the following values:
729 * - SystemHandler_MemoryManage
730 * - SystemHandler_BusFault
731 * Output : None
732 * Return : Fault address.
733 *******************************************************************************/
734 u32 NVIC_GetFaultAddress(u32 SystemHandler)
735 {
736 u32 faultaddress = 0x00;
737 u32 tmp = 0x00;
738
739 /* Check the parameters */
740 assert(IS_FAULT_ADDRESS_SYSTEM_HANDLER(SystemHandler));
741
742 tmp = (SystemHandler >> 0x16) & (u32)0x01;
743
744 if (tmp == 0x00)
745 {
746 faultaddress = SCB->MemoryManageFaultAddr;
747 }
748 else
749 {
750 faultaddress = SCB->BusFaultAddr;
751 }
752 return faultaddress;
753 }
754
755 /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function CSTACK
-------- ------
NVIC_BASEPRICONFIG 8
NVIC_ClearIRQChannelPendingBit 8
NVIC_ClearSystemHandlerPendingBit
8
NVIC_DeInit 0
NVIC_GenerateCoreReset 0
NVIC_GenerateSystemReset 0
NVIC_GetBASEPRI 4
NVIC_GetCPUID 0
NVIC_GetCurrentActiveHandler 0
NVIC_GetCurrentPendingIRQChannel
0
NVIC_GetFaultAddress 8
NVIC_GetFaultHandlerSources 8
NVIC_GetIRQChannelActiveBitStatus
8
NVIC_GetIRQChannelPendingBitStatus
8
NVIC_GetSystemHandlerActiveBitStatus
8
NVIC_GetSystemHandlerPendingBitStatus
8
NVIC_Init 16
NVIC_PriorityGroupConfig 8
NVIC_RESETFAULTMASK 4
NVIC_RESETPRIMASK 4
NVIC_SCBDeInit 0
NVIC_SETFAULTMASK 4
NVIC_SETPRIMASK 4
NVIC_SetIRQChannelPendingBit 8
NVIC_SetSystemHandlerPendingBit
8
NVIC_SetVectorTable 12
NVIC_StructInit 0
NVIC_SystemHandlerConfig 12
NVIC_SystemHandlerPriorityConfig
20
NVIC_SystemLPConfig 12
Segment part sizes:
Function/Label Bytes
-------------- -----
NVIC_DeInit 80
NVIC_SCBDeInit 110
NVIC_PriorityGroupConfig 54
NVIC_Init 506
NVIC_StructInit 18
NVIC_SETPRIMASK 8
NVIC_RESETPRIMASK 8
NVIC_SETFAULTMASK 8
NVIC_RESETFAULTMASK 8
NVIC_BASEPRICONFIG 28
NVIC_GetBASEPRI 8
NVIC_GetCurrentPendingIRQChannel
24
NVIC_GetIRQChannelPendingBitStatus
230
NVIC_SetIRQChannelPendingBit 200
NVIC_ClearIRQChannelPendingBit 218
NVIC_GetCurrentActiveHandler 12
NVIC_GetIRQChannelActiveBitStatus
230
NVIC_GetCPUID 8
NVIC_SetVectorTable 68
NVIC_GenerateSystemReset 16
NVIC_GenerateCoreReset 16
NVIC_SystemLPConfig 84
NVIC_SystemHandlerConfig 100
NVIC_SystemHandlerPriorityConfig
224
NVIC_GetSystemHandlerPendingBitStatus
76
NVIC_SetSystemHandlerPendingBit
60
NVIC_ClearSystemHandlerPendingBit
56
NVIC_GetSystemHandlerActiveBitStatus
100
NVIC_GetFaultHandlerSources 120
NVIC_GetFaultAddress 58
??DataTable18 4
??DataTable27 4
??DataTable28 4
??DataTable29 4
??DataTable36 4
??DataTable37 4
??DataTable58 4
??DataTable86 4
??DataTable89 4
??DataTable90 4
??DataTable91 4
??DataTable92 4
??DataTable94 4
??DataTable95 4
??DataTable100 4
??DataTable101 4
??DataTable106 4
??DataTable107 4
??DataTable108 4
??DataTable110 4
?<Constant "C:\\David JIANG\\ST MCU...">
92
Others 56
2 872 bytes in segment CODE
92 bytes in segment DATA_C
2 816 bytes of CODE memory (+ 56 bytes shared)
92 bytes of CONST memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -