1.鸿蒙轻内核M核的源码故障管家:Fault异常处理
鸿蒙轻内核M核的故障管家:Fault异常处理
摘要:本文简要介绍了Fault异常类型、向量表及其代码,源码以及异常处理的源码C语言程序,随后详细分析了异常处理汇编函数的源码实现代码。
本文内容来源于华为云社区《鸿蒙轻内核M核源码分析系列十八 Fault异常处理》,源码作者:zhushy。源码最新asp源码
Fault异常处理模块与OpenHarmony LiteOS-M内核芯片架构紧密相关,源码它能够处理HardFault、源码MemManage、源码BusFault、源码UsageFault等故障异常。源码关于Cortex-M芯片的源码相关知识,不在本文的源码源码51.讨论范围内,读者可参考《Cortex™-M7 Devices Generic User Guide》等官方资料。源码本文所涉及的源码源码以OpenHarmony LiteOS-M内核为例,可在开源站点gitee.com/openharmony/k...获取。
1、Fault Type异常类型
Fault类型表格显示了各种故障及其处理机制、Bit Name标记、boby背景源码Fault status register故障状态寄存器。该表格摘自《Cortex™-M7 Devices Generic User Guide》。
2、Vector table向量表
向量表包含栈指针的复位值和开始地址,也称为异常向量。异常可以看作特殊的出售源码判刑中断,本文主要关注NMI、HardFault、Memory management fault、Bus fault、Usage fault、SVCall等异常。mui网站源码
在中断初始化时,会初始化该异常向量表,代码位于kernel\arch\arm\cortex-m7\gcc\los_interrupt.c。本文主要分析这些汇编函数的代码。
3、HalExcHandleEntry异常处理C程序入口
HalExcHandleEntry异常处理函数是汇编异常函数跳转到C语言程序的入口,定义在文件kernel\arch\arm\cortex-m7\gcc\los_interrupt.c,被kernel\arch\arm\cortex-m7\gcc\los_exc.S文件中的汇编函数调用。函数参数由汇编程序中的R0-R3寄存器传值进来。
4、Los_Exc异常处理汇编函数
上文介绍了Vector table向量表,已经提到了在文件kernel\arch\arm\cortex-m7\gcc\los_exc.S中定义的异常处理函数。当发生Fault故障异常时,会调度执行这些异常处理函数,本文会详细分析函数的源代码来掌握内核如何处理这些发生的异常。
本文介绍了Fault异常类型、向量表及其代码,异常处理C语言程序,异常处理汇编函数实现代码。感谢阅读,如有任何问题、建议,都可以在博客下留言给我,谢谢。
2024-11-29 06:231327人浏览
2024-11-29 05:511622人浏览
2024-11-29 05:24479人浏览
2024-11-29 05:121181人浏览
2024-11-29 04:46556人浏览
2024-11-29 04:072672人浏览
當地時間6月30日,土耳其西部伊茲密爾省發生燃氣瓶爆炸事故,造成5人死亡、57人受傷,其中至少10人傷勢嚴重。據土耳其媒體援引伊茲密爾省省長蘇萊曼·埃利班的話報道,事故於當地時間14時4
中国消费者报北京讯(记者覃辉)记者1月21日从交通运输部官网获悉,交通运输部当日启动Ⅱ级应急响应,配合卫生健康等部门开展疫情联防联控工作。据交通运输部有关负责人介绍,当前正值春运期间,大量旅客通过交通
新華社快訊:據法國媒體報道,一名男子19日攜帶爆炸物進入伊朗駐巴黎領事館,警方已經封鎖了領事館周圍。責任編輯: 張岩