转自:https://blog.csdn.net/yangkuanqaz85988/article/details/52403726

问题1:不同线程/进程拥有着不同的栈,那系统所有的中断用的是同一个栈吗,那意味着不支持中断嵌套,如果中断可以被打断,那么不同中断必须使用不同栈,否则如何管控,怎么理解这个问题?

M3的双堆栈(PSP/MSP), ucos举例,在不使用OS的时候,中断和非中断都是用PSP,而使用OS(ucos)则main和中断使用MSP,线程使用PSP,这里是通过CONTROL[1]为0和1决定的,所有中断拥有着一个主堆栈,

Push eight registers:xPSR,PC,LR,R12,R3,R2,R1,R0

问题2:M3,M4中断嵌套和NVIC的Group怎么理解?

M3/M4的和A9核本身是支持中断嵌套的,也就是NVIC(Nested Vectored Interrupt Controller)

但是系统未必支持

  • Linux,早起的Linux是支持的,但是后面由于可能存在堆栈溢出的风险,取消中断嵌套
  • FreeRTOS是否支持?
  • UCOS是否支持?
  • RT-thread是否支持?

最新文章

  1. 基础的jdbc连接数据库操作
  2. Usage: AddDimensionedImage imageFile outputFile eclipse 运行程序出错
  3. 【转】一种解决h5页面背景音乐不能自动播放的方案
  4. linux查找日志技巧
  5. net.sf.json.JSONObject 和org.json.JSONObject 的差别
  6. DOM基本概念和操作
  7. 收集的55个Linux系统管理中常用的一些shell命令
  8. 你想建设一个能承受500万PV/每天的网站吗?
  9. 告示:CSDN博客通道支持Windows Live Writer写blog离线好友
  10. 有关linux标准输出、标准输入、标准错误的重定向问题
  11. 虚拟机Q&A
  12. 自适应滤波:奇异值分解SVD
  13. 5.4 TLP中与数据负载相关的参数
  14. 聊聊2018.2的Scriptable Build Pipeline以及构建Assetbundle
  15. ln -s软链接文件算文件吗
  16. CSS3实现背景透明文字不透明
  17. MYSQL 如何完全卸载数据库
  18. echarts初探
  19. 信号之sigsetjmp和siglongjmp函数(转)
  20. Docker学习(一): 基本概念

热门文章

  1. Gan-based zero-shot learning 论文整理
  2. H3C Telnet 配置
  3. 人工智能新编程语言-Gen
  4. AC与AP的安装使用(未经实战,仅供参考,未完待续)
  5. k8s pv,pvc无法删除问题
  6. linux:vim中全选复制
  7. 【miscellaneous】Winserver2012安装后无法进入桌面
  8. WordPress概览
  9. 倒数第K个结点
  10. LeetCode 2. 两数相加(Add Two Numbers)