freeRTOS
裸机开发:
-
裸机开发缺点:
对于裸机开发不同任务之间的干扰和耦合是很严重的且难以避免的
在轮询模式下,如果某个任务的程序因为条件不足而等待在某处,就会导致整个CPU的资源浪费在那个地方,其他的任务就没办法实现了;而且轮训模式对于人物处理速度受限于我们使用的处理器,处理器主频越高,处理速度自然越快;也受限于我们的代码,代码写的好,优化程度高,执行效率也会提高
-
中断处理的基本流程:
将一些紧急的任务选择使用事件或者中断的方式去处理,这样就可以脱离轮训模式,随时大端普通任务,抢占处理器的字图案去优先执行这些紧急的事情
-
硬件优先级:
cortex-M3的中断优先级用
来表示,前一个参数代表抢占优先级,后一个参数代表子优先级,优先级数值越低,代表的优先级越高,这与freeRTOS中的任务优先级是相反的(任务优先级是数值越大,优先级越高)。
这里,抢占优先级可以实现中断的嵌套。中断嵌套是什么意思呢?就是一个中断可以打断另一个正在被cpu处理的中断,将cpu资源抢夺过来,在前一个中断的处理过程中,优先处理当前这个抢占优先级更高的中断;当前这个抢占优先级更高的中断处理完之后,cpu才会去处理上一个被打断的、抢占优先级略低的中断