2022年2月16日

摘要: 在面试官:为什么在中断里不能sleep | Linux 内核一文中,作者逐层深入地讲解了为什么中断中为什么不能sleep,并给出了ISR 里处理耗时工作的解决办法,建议先行阅读。 文中把问题“中断中为什么不能sleep”逐步精确为“为什么在 Linux 里,ISR 被设计成不能睡眠”,讲得很好。但是 阅读全文
posted @ 2022-02-16 20:35 tycoon3 阅读(979) 评论(0) 推荐(0)
摘要: 为了防止死锁,spinlock需要关中断和禁止抢占 场景分析 对于spin lock,其保护的资源可能来自多个CPU CORE上的进程上下文和中断上下文的中的访问,其中,进程上下文包括:用户进程通过系统调用访问,内核线程直接访问,来自workqueue中work function的访问(本质上也是内 阅读全文
posted @ 2022-02-16 20:25 tycoon3 阅读(941) 评论(0) 推荐(0)
摘要: attribute有属性的含义,一般出现在代码中是用来定义“编译属性”的,当我们需要将C语言代码中的某个部分编译后链接到某个特定的段时,就需要在这个部分前面加上__attribute__((section(段名))),例如在代码中使用了__attribute__ ((section(".isr_ve 阅读全文
posted @ 2022-02-16 15:59 tycoon3 阅读(245) 评论(0) 推荐(0)
摘要: stm32专题三十八:在SRAM中调试代码 1、启动文件简介 启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作: (1)初始化堆栈指针 MSP=_initial_sp (2)初始化 PC 指针=Reset_Handler (3)初始化中断向量表 (4)配置系统时钟 (5)调用 阅读全文
posted @ 2022-02-16 11:59 tycoon3 阅读(1219) 评论(0) 推荐(0)

导航