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

article/2025/8/27 4:40:51

🌈个人主页: 羽晨同学

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

 裸机和调度器开发的对比

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

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

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

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

裸机开发

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

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

调度器开发

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

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

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

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

如何选择合适的开发方式

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

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

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


http://www.hkcw.cn/article/DOExGfETVa.shtml

相关文章

Rust使用Cargo构建项目

文章目录 你好,Cargo!验证Cargo安装使用Cargo创建项目新建项目配置文件解析默认代码结构 Cargo工作流常用命令速查表详细使用说明1. 编译项目2. 运行程序3.快速检查4. 发布版本构建 Cargo的设计哲学约定优于配置工程化优势 开发建议1. 新项目初始化​2. …

Python自动化之selenium语句——元素点击、输入、清空和八大元素定位方法

目录 一、元素定位配置 1.导包 2.查找元素 二、元素交互操作 1.点击 2.输入 3.清空 三、元素定位方法 1.ID 2.NAME 3.CLASS_NAME 4.TAG_NAME 5.LINK_TEXT 6.PARTIAL_LINK_TEXT 7.CSS_SELECTOR 8.XPATH 本节讲解元素定位相关知识 一、元素定位配置 1.导包 2.查…

C++并集查找

前言 C图论 C算法与数据结构 本博文代码打包下载 基本概念 并查集(Union-Find)是一种用于处理动态连通性(直接或间接相连)的数据结构,主要支持两种操作:union 和 find。通过这两个基本操作,可…

DeepSeek - 尝试一下GitHub Models中的DeepSeek

1.简单介绍 当前DeepSeek使用的人很多,各大AI平台中也快速引入了DeekSeek,比如Azure AI Foundary(以前名字是Azure AI Studio)中的Model Catalog, HuggingFace, GitHub Models等。同时也出现了一些支持DeepSeek的.NET类库。微软的Semantic Kernel也支持…

2025年人文发展与教育心理学国际会议(ICHDEP 2025)

2025年人文发展与教育心理学国际会议(ICHDEP 2025) 2025 International Conference on Humanistic Development and Educational Psychology 一、大会信息 会议简称:ICHDEP 2025 大会地点:中国广州 审稿通知:投稿后2…

实测,大模型谁更懂数据可视化?

大家好,我是 Ai 学习的老章 看论文时,经常看到漂亮的图表,很多不知道是用什么工具绘制的,或者很想复刻类似图表。 实测,大模型 LaTeX 公式识别,出乎预料 前文,我用 Kimi、Qwen-3-235B-A22B、…

MySQL高可用方案:Keepalived+双主库架构深度解析与实战指南

MySQL高可用方案:Keepalived+双主库架构深度解析与实战指南 一、方案概述 MySQL双主+Keepalived架构通过双节点互为主从模式结合VRRP协议,实现数据库服务的高可用与自动故障转移。该方案具备以下核心优势: 双活写入能力:两节点均可处理读写请求,通过双向复制保持数据强一…

【MySQL】联合查询(下)

目录 一. 子查询 单行子查询 多行子查询 多列子查询 在from子句中使用子查询 二. 合并查询 union all union 三.插入查询结果 上期我们讲了内连接、外连接、自连接查询,今天我们继续讲其他联合查询,没看过的之前的可以先去看看上期博客&#xff1…

unity—特效闪光衣服的设置

模型设置两个材质球,一个基础色,一个闪光色 闪光层设置 基础色设置

lvs-keepalived高可用群集

目录 1.Keepalived 概述及安装 1.1 Keepalived 的热备方式 1.2 keepalived的安装与服务控制 (1)安装keep alived (2)控制 Keepalived 服务DNF 安装 keepalived 后,执行以下命令将keepalived 服务设置为开机启动。 2.使用 Keepalived 实现双机热备 …

多端 API 兼容性设计:如何统一 iOS / Android / Web 接口规范?

在移动互联网时代,一个后台服务往往需要同时支撑 iOS、Android 和 Web 三端业务。当某电商App在Android端出现支付接口返回结构不一致导致崩溃,而iOS端却正常运行时;当某个Web端新功能因接口版本问题延期上线时——多端API的兼容性问题已成为…

Linux的SHELL脚本中的常用命令

一、设置主机名称 1.文件的方式 注:修改完毕文件后在当前的shell中是不生效的,如果需要看到效果,关闭当前shell后重新开启新的shell 2.通过命令更改主机名 注:hostnamectl hostname后加上你要改的主机名,即改即生效&…

ultraiso制作U盘镜像 针对win2012及win2016等需要特殊处理

1.按照正常操作步骤制作U盘镜像 以管理员方式运行软碟通2.正常制作镜像 3.由于磁盘格式,大于4G的文件是写不进去的 手动拷贝资源文件,右键将镜像挂载到电脑上 4.转换U盘格式 convert H:/fs:NTFS 执行该命令 此次需要保证U盘不被占用 这个时候就能存储…

【AI News | 20250529】每日AI进展

AI Repos 1、WebAgent 阿里巴巴通义实验室近日发布了WebDancer,一款旨在实现自主信息搜索的原生智能体搜索推理模型。WebDancer采用ReAct框架,通过分阶段训练范式,包括浏览数据构建、轨迹采样、监督微调和强化学习,赋予智能体自主…

【Python】3.函数与列表

文章目录 一、函数1、函数是什么?2、语法格式3、函数参数4、函数返回值5、变量作用域6、函数执行过程7、链式调用8、嵌套调用9、函数递归10、参数默认值11、关键字参数小结 二、列表和元组1、列表是什么,元组是什么?2、创建列表3、访问下标4、…

Arduino LCD 1602液晶显示器2(I2C总线)

LCD 1602液晶显示器2(I2C总线) 上一小节中我们学习了LCD1602的标准连接,但因为线太多,在实际的工作中会占用太多的Arduino的针脚,所以不是很实用。为了解决这个问题,下面我们介绍一种总线控制IIC&#xff0…

⚽【足球数据全维度解析】从基础统计到高阶分析,数据如何重塑现代足球?

足球世界正在经历一场深刻的数据革命。本文将系统介绍足球数据统计的完整体系,并揭示数据如何改变这项运动的训练、比赛和决策方式。 📊 一、核心数据统计维度 1. 比赛基础数据 射门数据:场均射门/射正(哈兰德5.2次/场&#xff0…

【C++项目】:仿 muduo 库 One-Thread-One-Loop 式并发服务器

🌈 个人主页:Zfox_ 🔥 系列专栏:C从入门到精通 目录 🔥 前言 一:🔥 项目储备知识 🦋 HTTP 服务器🦋 Reactor 模型🎀 单 Reactor 单线程:单I/O多路…

MaaS(模型即服务)是什么?

模型即服务(Model as a Service,MaaS)是近年来随着人工智能和云计算技术发展而兴起的一种服务模式。以下是对模型即服务的详细展开: 1.概念与定义 ​ ​模型即服务(MaaS)是一种将机器学习模型作为云服务…

AI编程报错 API流式传输失败解决方案

引言 如果大家在AI编程过程中遇到以下问题,可参考本文的解决方案。 大家好,我是逍遥小欢。昨天在我的老的win10电脑上,安装搭建AI编程vscode和roocode环境时,运行提示词遇到一个错误。 报错提示:API流式传输失败 Command failed…