西门子嵌入式学习笔记---(1)裸机和调度器开发

🌈个人主页: 羽晨同学

💫个人格言:"成为自己未来的主人~"

裸机和调度器开发的对比

嵌入式开发是为了特定目的而设计的计算系统编写软件的过程,这些系统通常会具有受限的资源(处理能力,、内存、能源等),并且需要可靠的执行任务。

与调度器开发相比,裸机开发式很简单的,并且是可预测的,这个是它的优点。

裸机开发是一条命令一条命令顺序执行的,当其中的一条命令没有执行完的时候,其余的命令也是不会继续执行的。

对于调度器开发而言,与逻辑开发相比,最大的不同点,就是调度器开发有了优先级的概念,会吧CPU分配给不同的任务,确保CPU资源得到最大的利用率。

裸机开发

裸机开发是直接在硬件上编程,代码直接控制硬件,按照严格的顺序执行。这样可以获得最佳的性能,不需要额外的调度器或操作系统的开销,然后执行时间是可以具体预测的,每次运行的结果都相同。

但是随着功能的增加,需求的增加,管理难度就会增加,并且难以处理多任务和并发,无法设立优先级,就算任务在紧急,也得当前任务完成。

调度器开发

调度器开发使用实时操作系统(RTOS)或任务调度器来管理多个任务的执行,调度器决定何时执行哪个任务,使并发和任务管理变得更简单。

调度器开发可以处理多个任务,重要任务可以优先执行,并且可以管理共享资源,新任务可以作为独立任务添加,不需要重构整个系统。

但是调度器本身需要消耗系统资源,就像交通管理系统需要额外设施。

复杂性也上升了嘛,需要理解调度机制,任务优先级和同步问题。

如何选择合适的开发方式

当遇到功能单一,实时性要求很高,功耗较低时选择逻辑开发

当遇到复杂性,需要灵活响应,团队写作开发,具有可拓展性,资源竞争管理,这个时候使用调度器开发。

好了,今天的内容就到这里,我们明天再见。

相关推荐
一木 之林7 小时前
Dify学习笔记 03 · RAG检索增强生成:三代范式、评估与落地(第40-45、55-56集)
笔记·小程序·交互·dify
apple-mapping8 小时前
网络RTK定位学习总结
学习·网络rtk
楚山之石8 小时前
【Lancet Neurology 】多发性硬化认知障碍的 SDMT 筛查、灰质萎缩标志与认知康复循证路径
图像处理·人工智能·学习·mri
海海不掉头发10 小时前
CSDN博客_时序预测9模型复现对比
人工智能·学习·软件工程
蓝祁子yoky12 小时前
Qt学习日记 Day13:网络编程(一)-TCP基础与Socket实战
网络·qt·学习
箓维12 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
二哈赛车手12 小时前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
架构师伯子明13 小时前
Ros 学习十三:IK Demo
学习
小羊没烦恼!13 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
幼儿园蛋小黄13 小时前
从 STM32N647 的 AI 部署入门嵌入式:一条可落地的学习路线
人工智能·stm32·学习