完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ucosii的中断服务子程序,邵老师的书中这么写的:
用户中断服务子程序: 保存CPU寄存器; 1 调用OSIntEnter; 2 用户代码; 3 调用OSIntExit; 4 恢复CPU寄存器; 5 执行中断返回指令; 6 Cortex-M3在进入异常时自动压栈,返回时自动出栈。所以上面的1、5、6步是CUP自动执行的。 现在有个问题:自动压栈和自动出栈的栈并不是u/cosii所分配的任务堆栈,而是内核指定的堆栈,假如第四步调用OSIntExit;的时候进行了任务调度,(假设被中断的是任务1,调度后的是任务2) 这时运行的是任务2,如果这时又要调度运行任务1,需要将任务1的堆栈恢复到CPU寄存器,但发生中断时并没有把任务1压到任务1的堆栈,这时恢复任务1 的堆栈到CPU会出错 这个怎么解决啊?求大神指导 |
|
相关推荐
7个回答
|
|
Cortex-M3在进入异常时自动压栈,返回时自动出栈。所以上面的1、5、6步是CUP自动执行的。
|
|
|
|
3在进入异常时自动压栈,返回时自动出栈。所以上面的1、5、6步是CUP自动执行的。
|
|
|
|
Cortex-M3在进入异常时自动压栈,返回时自动出栈。所以上面的1、5、6步是CUP自动执行的。
|
|
|
|
Cortex-M3在进入异常时自动压栈,返回时自动出栈。所以上面的1、5、6步是CUP自动执行的。
|
|
|
|
ucosii的中断服务子程序,邵老师的书中这么写的: 用户中断服务子程序: 保存CPU寄存器; 1 调用OSIntEnter; 2 用户代码; 3 调用OSIntExit; 4 恢复CPU寄存器; 5 执行中断返回指令; 6 |
|
|
|
ucosii的中断服务子程序,邵老师的书中这么写的:
用户中断服务子程序: 保存CPU寄存器; 1 调用OSIntEnter; 2 用户代码; 3 调用OSIntExit; 4 恢复CPU寄存器; 5 执行中断返回指令; 6 |
|
|
|
中断服务子程序
|
|
|
|
只有小组成员才能发言,加入小组>>
343个成员聚集在这个小组
加入小组UCOSII中断中添加OSSemPost(Sem);程序无法运行
5030 浏览 1 评论
在BC5.0上编译uC/OS-II出现"eeror writing object file",怎样处理???
3242 浏览 1 评论
625浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-15 02:46 , Processed in 0.615164 second(s), Total 81, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号