1.鸿蒙轻内核M核的源码故障管家:Fault异常处理
鸿蒙轻内核M核的故障管家:Fault异常处理
摘要:本文简要介绍了Fault异常类型、向量表及其代码,源码以及异常处理的源码C语言程序,随后详细分析了异常处理汇编函数的源码实现代码。
本文内容来源于华为云社区《鸿蒙轻内核M核源码分析系列十八 Fault异常处理》,源码作者:zhushy。源码主力级别指标源码
Fault异常处理模块与OpenHarmony LiteOS-M内核芯片架构紧密相关,源码它能够处理HardFault、源码MemManage、源码BusFault、源码UsageFault等故障异常。源码关于Cortex-M芯片的源码相关知识,不在本文的源码会员演示源码讨论范围内,读者可参考《Cortex™-M7 Devices Generic User Guide》等官方资料。源码本文所涉及的源码源码以OpenHarmony LiteOS-M内核为例,可在开源站点gitee.com/openharmony/k...获取。
1、Fault Type异常类型
Fault类型表格显示了各种故障及其处理机制、Bit Name标记、iapp编译源码Fault status register故障状态寄存器。该表格摘自《Cortex™-M7 Devices Generic User Guide》。
2、Vector table向量表
向量表包含栈指针的复位值和开始地址,也称为异常向量。异常可以看作特殊的rebase 丢失源码中断,本文主要关注NMI、HardFault、Memory management fault、Bus fault、Usage fault、SVCall等异常。kibana 源码调试
在中断初始化时,会初始化该异常向量表,代码位于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 07:561072人浏览
2024-11-29 07:281230人浏览
2024-11-29 07:072743人浏览
2024-11-29 06:44691人浏览
2024-11-29 06:322977人浏览
2024-11-29 06:21764人浏览
1.我想要一套微信分销系统源码,一般价格多少钱呢2.收银系统源码-线下收银篇,智慧新零售源码,支持二次开发!3.了解三种小程序开发模式:SaaS模板、源码授权、定制开发的全面解析我想要一套微信分销系统
1.917自动发卡平台可信吗2.917èªå¨åå¡å¹³å°917自动发卡平台可信吗 不可信,只要有人投诉你,立马就封你商户,下架你的产品,我卖的卡没问题,是顾客自己输错了,把0和o