装备控制类嵌入式软件开发知识

1.嵌入式系统概念及特点

嵌入式系统是一种可深埋在某一专用设备中的系统。一般而言,由于设备的体积、重量和功耗的限制,嵌入式系统将受到多种条件和环境的制约,这也对嵌入式系统提出了有别于其他计算机系统的特殊要求。

通常,嵌入式系统具备以下7 个特点:

(1)系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。

(2)系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应, 具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实时嵌入式系统。

(3)软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。

(4)处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。 通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。

(5)多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术, 但它们相互结合的紧密程度不及嵌入式系统。

(6)系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备 往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。

(7)系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理能力都比较有限。

2.理解宇航系统的特殊性

(1)在工程实践中,不是市场上销售的任何一款操作系统都能适用工程需要,要选择一款适应的产品必须从项目需求入手。因此,“选择操作系统根据项目(系统)需要的嵌入式操作系统功能来选择操作系统产品,要考虑系统需求是否覆盖了操作系统的全部功能或部分功能,是否支持文件系统和人机界面,是实时系统还是分时系统”的说法是正确的。

(2)嵌入式操作系统通常根据对时间的敏感性分为硬实时操作系统和弱实时操作系 统两类,即使在微电子快速发展的今天,随着处理器计算速度的提升,人们赋予计算机处理事物的能力也在增强,因此,传统的嵌入式操作系统分类方法仍然满足现在需求。所以,“在微电子技术高速发展的今天,硬件资源受限已不再是嵌入式系统设计的难点,通常的嵌入式操作系统都能满足各类嵌入式系统的需要”的说法是不正确的。

(3)选择操作系统的目的是提高嵌入式软件开发效率,将应用软件的开发从与硬件相关分离出来。因此选择操作系统时除了考虑操作系统能力与项目需求相匹配外,还要充分考虑配套开发环境的优劣。因此,“有些 RTOS 只支持该系统供应商的开发工具 。也就是说,还必须向操作系统供应商获取编译器和调试器等;有些嵌入式操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大”的说法是正确的。

(4)嵌入式操作系统主要功能就是管理计算机硬件资源的,它与硬件资源耦合度很高,操作系统的可移植性也是选择操作系统的条件之一。因此,“嵌入式操作系统到硬件的移植是一个重要的问题,是整个系统能否按期完工的关键因素,因此,要选择那些可移植性程度高的产品,从而避免嵌入式操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度”的说法是正确的 。

(5)可剪裁性和可配置性是嵌入式操作系统主要特性之一,在选择操作系统时一定要考虑资源的剪裁性优劣,用户应根据项目应用需求分配资源,而不是为操作系统分配资源。因此,“均衡考虑是否需要额外 RAM 或 EEPROM 来满足操作系统对内存的较大要求。有些嵌入式操作系统对内存的要求是与目的相关的,如 VxWorks 等,开发人员能够按照应用需求分配所需资源,而不是为嵌入式操作系统分配资源”的说法是正确的。

(6)选择操作系统还要考虑对扩展功能的支持能力,可剪裁的组件越丰富,操作系统的适用面就越大,因此,“嵌入式操作系统是否包含所需的软件部件,例如网络协议栈、文件系统和各种常用外设的驱动等,也是选择嵌入式操作系统重点关注的”的说法是正确的。

(7)宇航系统是一种高安全系统 ,其核心目标是保障宇航设备安全、可靠运行,操作系统的质量好坏,直接影响宇航设备的安全,成熟度是宇航系统选择操作系统的重要因素之一。因此,“在宇航系统中,一般选择嵌入式操作系统时,首先要考虑的是产品的先进性,希望采用更多新技术、新方法,其次才是开放性、成熟度”的说法是不正确的。

(8)硬实时系统和弱实时系统有着本质差别,因此,“有些嵌入式操作系统只能提供弱实时性能,对于需要达到硬实时性性能要求的系统就不适用”的说法是正确的。

3.理解宇航软件和智能终端软件开发过程的差别

从安全性、实时性、交互性和编码等方面给出宇航软件与智能终端软件的开发过程中的差别。(1)安全性:宇航软件通常根据软件所在设备失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A-E 五级),而不同安全级别的软件开发过程有其不同的要求;而移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命 产生直接影响,它不适用安全级别之分。

(2)实时性:为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中;而移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可,设计上尽量避免软件与硬件紧耦合。

(3)交互性:宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计;而移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体验。

(4)编码:宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定;而移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【万字长文】向 AI 提问的艺术

向 AI 提问的艺术 本文是我在学习 Prompt Engineering 过程中,总结出来的一些经验和方法。里边包含一些自己的心得和验证有效的技巧。这些技巧在很多其他文章中也有介绍,这里可以当作是一个集大成的汇总。 我会按照“道——法——术”三个层面来介绍向 …

【最经典的79个】软件测试面试题(内含答案)

001.软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne) 测试用例 用例编号 测试项目 测试标题 重要级别 预置条件 输入数据 执行步骤 预期结果 0002.问&…

vue2中,下拉框多选和全选的实现

vue2中&#xff0c;下拉框多选和全选的实现 代码布局在methods: 中添加功能函数较为完整的一个整体代码&#xff1a; 如图所示点击全选即可完成下拉框中全部子项的全部的选中&#xff0c;同时取消全选即可全部取消选择。 代码布局 <div class"chos-box2"><…

如何给照片添加水印?请看下面3个简单教程

如何给照片添加水印&#xff1f;随着智能手机的普及和不断提升的拍摄技术&#xff0c;如今人们可以轻松使用手机进行高质量的照片拍摄。从老人到小孩&#xff0c;每个人都可以在日常生活中捕捉到美好瞬间&#xff0c;并将其记录下来。作为一种表达自己的方式&#xff0c;现在手…

安装pythonQt报错

在使用命令行pip install PyQt5安装pythonQt5的时候报错。 镜像源有问题&#xff0c;手动设置可用的源 pip install PyQt5 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com tool工具 pip install PyQt5-tools -i https://pypi.douban.com/simple 安装成…

以赛促教,以赛促研 ——计算机科学系举办“火焰杯”软件测试开发选拔赛颁奖仪式

颁奖仪式 2023年3月9日&#xff0c;第三届“火焰杯”软件测试开发选拔赛颁奖仪式在南海楼124会议室举行&#xff0c;计算机科学系系主任龙锦益教授、指导老师孙玉霞副教授、测吧科技有限公司王雪冬总监及获奖同学参加了颁奖仪式。 会议伊始&#xff0c;龙锦益教授对王雪冬总监…

2023年9月青少年软件编程(Python) 等级考试试卷(一级)

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;一级&#xff09;202309 2023年9月 分数&#xff1a;100 题数&#xff1a;37 一、单选题(共25题&#xff0c;共50分) 1. 下列 Python 语句能够正确输出"学而时习之"五个字的是&#xff1f;…

C++ 纠错题总结2

1、for循环中的判断语句: 要注意初始赋值、< 还是 < for(int i 0; i < n; i) 2、cin.getline(char[], int, char) 注意&#xff1a;第二个参数为不是char[]的有效元素个数&#xff0c;因为最后一个元素位置要用来存储 \0 3、函数形参有默认值的&#xff0c;有默认…

使用python_opencv比较图像差异/使用python_opencv找出两张图像的差异范围

目录 1 创建conda环境 2 安装python库 2.1 报错 ModuleNotFoundError: No module named numpy 3 image_diff.py

Jupyter Notebook 设置黑色背景主题

Jupyter Notebook 设置黑色背景主题 # 包安装 pip install jupyterthemes -i https://mirrors.aliyun.com/pypi/simple pip install --upgrade jupyterthemes # 查看可用主题 jt -l # monokai暗背景&#xff0c;-f(字体) -fs(字体大小) -cellw(占屏比或宽度) -ofs(输出段的字…

labelimg使用以及xml和txt转化

一、使用 winr——输入cmd 激活已有的环境 conda activate torch1.2.0 下载lebelme pip install labelme3.16.7 再输入labelme打开软件就可 可以设置自动保存&#xff0c;View——auto save mode打上勾 二、注意 1.自己类的定义名称&#xff0c;在txt中是0&#xff0c;1&a…

C++ string 类相关知识

/* ISO/ANSI C标准通过添加string类扩展了C库,因此现在可以string类型的变量(使用C的话 说是对象)而不是字符数组来存储字符串。读者将看到,string 类使用起来比数组简单,同时提供了将字 符串作为一种数据类型的表示方法。 要使用string类,必须在程序中包含头文件string。s…

java: 警告: 源发行版 8 需要目标发行版 1.8;(可我的项目是其他版本啊?)

我的项目是1.7 可运行时却要求是1.8 情况1 提示需要1.8 而你刚好项目就是1.8 那么就是配置问题 这里就不描述怎么解决了 方案很多。 情况2 项目用的不是XX版本却提示需要XX版本 在你的Maven目录的conf文件夹下settings.xml中下面 不知道maven目录在哪从这里看 如果这里指…

H指数----题解报告

题目&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 由题目可知&#xff0c;我们要寻找的是一个最大的H值。 首先先对引用次数排序&#xff0c;然后再寻找在规定内的最大H值 public int hIndex(int[] citations) {Arrays.sort(citatio…

索引有哪些缺点以及具体有哪些索引类型

索引的优缺点 优点&#xff1a; 合理的增加索引&#xff0c;可以提高数据查询的效率&#xff0c;减少查询时间 有一些特殊的索引&#xff0c;可以保证数据的完整性&#xff0c;比如唯一索引 缺点&#xff1a; 创建索引和维护索引需要消耗时间 索引需要额外占用物理空间 对创建…

git初学者使用教程(包含Android studio中git使用)

文章目录 1、登录 / 注册git账号2、创建git仓库3、设置git的用户名和邮箱4、创建git仓库5、已有仓库推送代码到远程仓库6、进阶使用&#xff0c;命令行和Android studio软件使用1. 克隆&#xff08;Clone&#xff09;源码仓库2. 查看仓库状态&#xff08;Status&#xff09;3. …

fastadmin 后台添加视频

做个记录,字段自行对照解决 1.add.html <div class"form-group"><label class"control-label col-xs-12 col-sm-2">{:__(Video)}:</label><div class"col-xs-12 col-sm-8"><div class"input-group">&l…

【已解决】Word文档的“打开密码”在哪里设置?

我们知道&#xff0c;Word文档可以设置“打开密码”&#xff0c;保护文件不被随意打开&#xff0c;只有输入正确的密码才能打开文档。那这个“打开密码”要在哪里设置呢&#xff1f;不清楚的小伙伴往下看就知道啦。 在Word文档里&#xff0c;有两个路径可以设置“打开密码”。…

线性代数相关笔记

线性基 导入 线性基&#xff0c;顾名思义&#xff0c;就是一个包含数字最少的集合&#xff0c;使得原集合中的任何数都能用线性基中的元素表示。 集合中的元素满足一些性质&#xff1a; 原集合中的任意元素都可以用线性基中的若干元素的异或和表示线性基中任意数异或和不为…

扩散模型学习——代码学习

文章目录 引言正文UNet网络结构训练方法DDPM采样方法讲解Context上下文信息添加DDIM的方法详解 总结参考 引言 这是第一次接触扩散模型&#xff0c;为了学习&#xff0c;这里好好分析一下他的代码 正文 UNet网络结构 这部分主要是定义一下网络结构&#xff0c;以及相关的网…