[软件资料] 裸机方式的缺点

[复制链接]
1077|10
 楼主| forgot 发表于 2024-8-23 13:52 | 显示全部楼层 |阅读模式
必须在中断(ISR)内处理时间关键运算:
ISR 函数变得非常复杂,并且需要很长执行时间。
ISR 嵌套可能产生不可预测的执行时间和堆栈需求。


超级循环和 ISR 之间的数据交换是通过全局共享变量进行的:
应用程序的程序员必须确保数据一致性。


超级循环可以与系统计时器轻松同步,但:
如果系统需要多种不同的周期时间,则会很难实现。


超过超级循环周期的耗时函数需要做拆分。
增加软件开销,应用程序难以理解。


超级循环使得应用程序变得非常复杂,因此难以扩展:
一个简单的更改就可能产生不可预测的副作用,对这种副作用进行分析非常耗时。
超级循环概念的这些缺点可以通过使用实时操作系统 (RTOS) 来解决。
磨砂 发表于 2025-9-4 17:19 | 显示全部楼层
裸机程序通常采用超级循环顺序执行任务,导致各功能模块相互阻塞
晓伍 发表于 2025-9-4 19:42 | 显示全部楼层
若某个函数包含长延时操作,后续任务必须等待其完成才能运行,无法实现真正的并行处理。即使通过中断缓解部分实时性需求,但中断服务程序本身仍需快速返回,复杂逻辑难以在中断内完成

八层楼 发表于 2025-9-4 21:59 | 显示全部楼层
缺乏系统级的调度机制,开发者需手动为不同任务分配优先级并设计状态机
观海 发表于 2025-9-5 10:13 | 显示全部楼层
为解决长任务拆分问题,常引入状态机模式,但随着功能增加,状态转移逻辑变得极其复杂,代码可读性和可维护性急剧下降
guanjiaer 发表于 2025-9-5 12:35 | 显示全部楼层
在等待传感器数据就绪期间,CPU只能空闲等待,无法执行其他有用工作
heimaojingzhang 发表于 2025-9-5 14:53 | 显示全部楼层
全局变量和静态分配是主要手段,但缺乏动态管理机制,容易导致RAM被无效数据占据
keaibukelian 发表于 2025-9-5 17:23 | 显示全部楼层
对于需要精确定时的场景,定时器中断与主循环的协同难度较高
paotangsan 发表于 2025-9-5 19:42 | 显示全部楼层
仅能通过外部中断触发紧急事件响应,但嵌套中断会增加执行时间的不确定性,且深层嵌套可能导致堆栈溢出
renzheshengui 发表于 2025-9-5 22:01 | 显示全部楼层
若某任务实际耗时超过预设周期,后续任务将被延迟甚至跳过,破坏系统的时效性

wowu 发表于 2025-9-6 09:22 | 显示全部楼层
裸机开发适用于简单、单一功能的小型项目,但在面对多任务协作、复杂逻辑、长期维护等需求时,其缺点会迅速暴露
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2112

主题

14683

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部