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

🌈个人主页: 羽晨同学

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

裸机和调度器开发的对比

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

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

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

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

裸机开发

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

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

调度器开发

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

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

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

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

如何选择合适的开发方式

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

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

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

相关推荐
快乐肚皮2 小时前
Redisson学习专栏(三):高级特性与实战(Spring/Spring Boot 集成,响应式编程,分布式服务,性能优化)
spring boot·学习·spring·redisson·高级特性
Rousson2 小时前
硬件学习笔记--64 MCU的ARM核架构发展及特点
笔记·单片机·学习
FAREWELL000752 小时前
Unity基础学习(十二)Unity 物理系统之范围检测
学习·unity·c#·游戏引擎·范围检测
fengye2071612 小时前
板凳-------Mysql cookbook学习 (九)
android·学习·mysql
黑色的山岗在沉睡3 小时前
Opencv4 c++ 自用笔记 03 滑动条、相机与视频操作
c++·笔记·opencv
qq_393828224 小时前
万兴PDF手机版
windows·学习·pdf·软件需求·安全架构
爱意随风起风止意难平4 小时前
004 flutter基础 初始文件讲解(3)
学习·flutter
草莓熊Lotso5 小时前
【C语言编译与链接】--翻译环境和运行环境,预处理,编译,汇编,链接
c语言·开发语言·汇编·经验分享·笔记·其他
molong9315 小时前
Android学习之定时任务
android·学习
FakeOccupational5 小时前
电路笔记(通信):CAN 仲裁机制(Arbitration Mechanism) 位级监视&线与特性&先占先得&非破坏性仲裁
笔记