NucleusPlus Signal信号机制(基于ARM处理器)

编程入门 行业动态 更新时间:2024-10-17 22:12:34

NucleusPlus Signal信号机制(基于ARM<a href=https://www.elefans.com/category/jswz/34/1768090.html style=处理器)"/>

NucleusPlus Signal信号机制(基于ARM处理器)

1、NucluesPlus信号Signal处理流程介绍

NucleusPlus内核信号处理流程是,如果信号是发给自己(发送/处理信号的都为当前线程),那么简单调用信号处理函数即可;如果信号是发送给其他线程的,如果接收信号的线程可以被信号中断,那么构建一个信号栈(单核情况下,发送信号的线程为当前正在执行的线程,那么接收信号的线程肯定是等待执行或者挂起状态,不管是等待执行还是挂起状态,接收信号的线程上下文都保存在线程的栈里面)

2、NucluesPlus线程上下文及信号处理过程

2.1、线程上下文

已中断为例,接收信号的线程执行时因为时间片用完或者中断唤醒了更高优先级线程,接收信号的线程被切换出cpu,那么接收信号线程的中断上下文栈内容如下:

NucluesPlus内核栈为满递减栈(栈底在高地址,栈顶在低地址,栈指针指向栈顶元素),上图中左边为内存低地址,右边为内存高地址,最左边为栈顶;中断处理函数保存中断上下文时,会设置thread -> tc_stack_pointer指向中断上下文栈顶,线程恢复时通过thread -> tc_stack_pointer指针即可获取中断上下文的内容;栈顶元素为上下文类型,1表示为中断上下文(中断需要保存所有寄存器࿰

更多推荐

NucleusPlus Signal信号机制(基于ARM处理器)

本文发布于:2024-03-06 07:09:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1714686.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:处理器   信号   机制   NucleusPlus   Signal

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!