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

🌈个人主页: 羽晨同学

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

裸机和调度器开发的对比

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

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

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

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

裸机开发

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

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

调度器开发

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

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

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

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

如何选择合适的开发方式

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

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

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

相关推荐
IMPYLH2 小时前
Python 的内置函数 hasattr
笔记·python
moxiaoran57532 小时前
uni-app项目实战笔记17--获取系统信息getSystemInfo状态栏和胶囊按钮
笔记·uni-app
智者知已应修善业2 小时前
【51单片机2位数码管100毫秒的9.9秒表】2022-5-16
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
知青春之宝贵2 小时前
BEV感知-课程学习详细记录(自动驾驶之心课程)
学习
HeartException2 小时前
Spring Boot + MyBatis Plus + SpringAI + Vue 毕设项目开发全解析(源码)
人工智能·spring boot·学习
饕餮争锋3 小时前
设计模式笔记_创建型_单例模式
java·笔记·设计模式
teeeeeeemo3 小时前
Number.toFixed() 与 Math.round() 深度对比解析
开发语言·前端·javascript·笔记
蚊子不吸吸4 小时前
在Docker、KVM、K8S常见主要命令以及在Centos7.9中部署的关键步骤学习备存
linux·学习·docker·kubernetes·centos·k8s·kvm
谷雪_6584 小时前
学习华为 ensp 的学习心得体会
网络·学习·华为·网络工程·ensp
懒惰的bit5 小时前
STM32F103C8T6 学习笔记摘要(三)
笔记·stm32·学习