嵌入式系统开发:调度、界面设计与汇编语言的权衡
在嵌入式系统开发的领域中,实时调度、用户界面设计以及汇编语言的使用都是至关重要的方面。它们各自有着独特的特点、优势以及需要注意的问题,下面将为大家详细介绍。
实时调度方法
实时调度在嵌入式系统中起着关键作用,不同的调度方法各有优劣。
静态调度与辅助中断
静态调度结合辅助中断的方式,要求每个中断服务程序(ISR)在最短的ISR截止时间内仅执行一次。例如,若最短ISR截止时间为10毫秒,那么所有ISR都必须在这10毫秒内恰好执行一次。这种方法虽然保守,但能简化数学分析。不过,它对ISR的执行时间有严格限制,最长的ISR执行时间必须远短于最短的ISR截止时间,以确保可调度性。同时,还需要确保所有ISR能在最短截止时间内连续运行。
在计算中断的总计算负载时,需要考虑主循环的周期 (P_{main})。主循环以固定周期运行,例如 (P_{main} = 100) 毫秒。在这个周期内,需要计算处理中断所花费的CPU时间。计算公式为:先确定每个ISR (T_i) 在 (P_{main}) 周期内可能执行的最多次数,即 (P_{main}) 除以 (P_i) 的上限值。每个中断执行相应次数,每次执行消耗 (C_i) 的CPU时间。最后要保证中断服务时间总和加上主循环时间总和小于可用时间,即:
[
\sum_{i = 1}^{n} \left\lceil \frac{P_{main}}{P_i} \right\rceil C_i + T_{main} < P_{main}
]
然而,这是一个递归不等式,因为 (P_{main}) 出现在等式两
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



