嵌入式系统与移动设备开发

news2025/2/23 23:40:40

文章目录

  • 1 嵌入式系统概述
    • 1.1 嵌入式系统基本概念
      • 1.1.1 嵌入式系统定义
      • 1.1.2 嵌入式系统的发展
      • 1.1.3 嵌入式系统的特点
    • 1.2 嵌入式系统分类
      • 1.2.1 单个微处理器
      • 1.2.2 嵌入式处理器可扩展的系统
      • 1.2.3 复杂的嵌入式系统
      • 1.2.4 在制造或过程控制中使用的计算机系统
    • 1.3 嵌入式处理器
    • 1.4 嵌入式系统的组成
      • 1.4.1 嵌入式系统的硬件
      • 1.4.2 嵌入式系统的软件
    • 1.5 嵌入式操作系统
      • 1.5.1 嵌入式操作系统的发展
      • 1.5.2 嵌入式操作系统的分类
      • 1.5.4 主流嵌入式操作系统简介
  • 2 ARM11体系结构
  • 3 ARM为处理器的指令系统
  • 4 S3C6401处理器
  • 5

1 嵌入式系统概述

1.1 嵌入式系统基本概念

1.1.1 嵌入式系统定义

IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是用于控制监视或者辅助操作机器和设备的装置。

1.1.2 嵌入式系统的发展

直到19世纪70年代末,随着微电子技术的发展,嵌入式计算机才逐步兴起。

1. 嵌入式应用始于微型机时代
电子数字计算机诞生于1946年,在初期的计算机都是在机房中的。直到19世纪70年代微处理器的出现,才使计算机发生了历史性的变化。

随着微处理器的发展,具有高速数据计算能力的微型机表现出的计算能力引起了控制专业人士的关注。他们将微型计算机通过电气或者是机械加固,然后配置各种外围的电路之后安装到大型船舶的自动驾驶或者是轮船监测系统中。

并且为了区分于原有的通用计算机系统,我们把嵌入到对象体系中的控制计算机称之为嵌入式计算机系统。其本质就是将一个计算机嵌入到一个对象体系中。

2. 现代计算机技术的两大分支
现代计算机技术有两个分支,就是通用计算机和嵌入式计算机。

通用计算机系统的技术要求高速海量的数据计算,技术发展方向是总线速度的无限提升、存储容量的无限扩大。

嵌入式计算机系统的控制技术要求是对对象的智能化控制能力,技术发展方向是与对象体系密切相关的嵌入式性能控制能力与控制的可靠性。

3. 嵌入式发展的里程碑
纵观嵌入式技术的发展历程,大致经历了4个阶段。

  1. 以单芯片为核心的可编程控制器形式的系统具有监测、伺服、指示设备相配合的功能。这类系统大部分应用一些专业性较强的工控领域。一般没有操作系统的支持,通过汇编语言对系统直接进行控制,运行结束后再清除内存。
  2. 以嵌入式cpu为基础,以简单操作系统为核心的嵌入式系统。在1980年左右,随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用中所需要的微处理器io接口串行接口以及ram和rom等部件通通集成到一片超大规模集成电路中制造出面向io设计的微控制器。在这一时期出现了大量高可靠低功耗的嵌入式cpu,但通用性比较弱。
  3. 以嵌入式操作系统为标志的嵌入式系统,20世纪90年代嵌入式系统飞速发展面向实时信号处理算法的dsp产品,则向着高速、高精度、低功耗的方向发展。随着硬件实时性的需求提高,嵌入式系统的软件规模不断扩大,逐渐形成了实时多任务操作系统rtos,并开始成为嵌入式系统的主流。
  4. 以internet为标志的嵌入式系统。目前大多数的嵌入式系统还孤立于internet之外信息。时代和数字时代的到来为嵌入。式系统的发展带来巨大机遇。

1.1.3 嵌入式系统的特点

  1. 面向特定应用
  2. 功耗低、体积小、集成度高、成本低
  3. 具有较长的生命周期
  4. 具有固化的代码
  5. 需要专用开发工具和环境
  6. 需要RTOS开发平台
  7. 以应用专家为主

1.2 嵌入式系统分类

1.2.1 单个微处理器

由单片的嵌入式处理器组成,集成了io设备以及ad转换设备,再加上简单的电源和时钟就可以工作,常用于小型设备中。

1.2.2 嵌入式处理器可扩展的系统

根据需要,可以扩展存储器,同时也可以使用片上的存储器,处理器一般容量在64k左右,字长为8位或者是16位在处理器上扩展少许的存储器和外接接口。

1.2.3 复杂的嵌入式系统

一般是16、32位,用于大规模应用。由于软件量大,所以需要扩展存储器。破产存储器一般都在一1M以上,外部接口一般仍然集成在处理器上。常用的嵌入式处理器有ARM系列,摩托罗拉的powerPC系列、Coldfire系列。

在开关装置、控制器、电梯等方面可以看到这类嵌入式系统的应用。

1.2.4 在制造或过程控制中使用的计算机系统

计算机与仪器、机械及设备与系统相连来控制这些装置。这类系统包括自动仓储系统和发货系统,在这些系统中计算机用于总体控制和监视,而不是对单个设备直接控制。

1.3 嵌入式处理器

全世界处理器的品种已经超过了1000多种,流行的体系有30多个系列。
嵌入式处理器的寻址空间一般是64k~16m。当然了,现在的STM32F407已经到了4G,这本书有点老了,处理速度0.1-2000MIPS,常用封装8-144个引脚。

根据现状,嵌入式处理器可以分成嵌入式微控制器EMCU、嵌入式微处理器EMPU、嵌入式dsp处理器EDSP、嵌入式片上系统ESoC。

三者的区别

1.4 嵌入式系统的组成

嵌入式系统一般都是由硬件、软件以及开发工具和开发系统三部分组成。
在这里插入图片描述

1.4.1 嵌入式系统的硬件

在这里插入图片描述

1.4.2 嵌入式系统的软件

  1. 驱动层程序
  2. 实时操作系统
  3. 操作系统的应用程序接口,应用程序接口是一系列复杂的函数、消息和机构的集合体。嵌入式操作系统下的api和一般操作系统下的api在功能含义和知识体系上完全一致。
  4. 应用程序。实际的嵌入式系统应用软件建立在系统的主任务基础。之上,用户应用程序主要通过调用系统的api函数对系统进行操作,完成用户功能的开发。

1.5 嵌入式操作系统

嵌入式操作系统是一种专用的可定制的操作系统。除了能完成一般操作系统的功能,如进程管理、存储管理、文件管理、设备管理等,还可以包括和硬件相关的底层驱动软件,系统内核设备驱动接口,通信协议图形界面标准化浏览器等。

1.5.1 嵌入式操作系统的发展

在最开始的控制领域,中设计者往往根据汇编语言或高级语言编程对系统进行直接控制,没有操作系统的概念。

随着嵌入式cpu的投入使用嵌入式操作系统也随之发展起来。

1.5.2 嵌入式操作系统的分类

收费不收费

  • 免费的操作系统有:Linux、Embedded Linux、FreeRTOS等。
  • 收费的嵌入式操作系统:VxWorks、Windows CE等。

按照系统对时间的敏感程度:

  • 硬实时系统:系统对响应时间有严格的要求。 响应时间不满足的是不能接受的,会导致系统的崩溃和致命错误。
  • 软实时系统:系统对响应时间没有严格要求。响应时间如果不能满足要求,可能会导致结果错误,但不影响系统的正常运行。
  • 非实时系统:系统的响应时间没有要求,如果响应时间不满足要求,也不会影响系统运行。

1.5.4 主流嵌入式操作系统简介

1. VxWorks
VxWorks操作系统是WindRiver公司于1983年设计的一种嵌入式实时操作系统RTOS,是嵌入式开发环境的关键组成部分。

支持多种处理器x86、i960、Sun Sparc、Motorola MC68xxx、MIPS RX0000、POWER PC等。

这个系统比较贵,通常要花费数10万才能建起一个可靠的开发环境。

2. Windows CE

Windows CE是微软开发的32位嵌入式操作系统,得益于windows优秀的图形用户界面,与桌面版的windows基本一致。

3. μC/OS-II
μC/OS-II是一种开源但不免费的RTOS,具有可剥夺实时内核。μC/OS-II是μC/OS的升级版,发布1992年。目前,μC/OS-II已经被移值到40多种不同架构的CPU上,可以运行在8位到64位的各种操作系统之上。

4. 嵌入式Linux
Linux最早由芬兰人Linus Torvalds于1991年创立,经过短短十几年发展,已经成为一个功能强大稳定可靠的操作系统。典型的Linux系统有Red Hat、Ubuntu、Red Flag等。
我们要讲的嵌入式Linux是标准Linux在嵌入式系统上的移植。

2 ARM11体系结构

3 ARM为处理器的指令系统

4 S3C6401处理器

5

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

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

相关文章

使用 Elastic 和 Amazon Bedrock 制作混合地理空间 RAG 应用程序

作者:来自 Elastic Udayasimha Theepireddy (Uday), Srinivas Pendyala, Ayan Ray 借助 Elasticsearch 及其向量数据库,你可以构建可配置的搜索和可信的生成式 AI (GenAI) 体验,这些体验可快速从原型扩展到生产。主要功能包括: 内…

【opencv入门教程】15. 访问像素的十四种方式

文章选自: 一、像素访问 一张图片由许多个点组成,每个点就是一个像素,每个像素包含不同的值,对图像像素操作是图像处理过程中常使用的 二、访问像素 void Samples::AccessPixels1(Mat &image, int div 64) {int nl imag…

Ansys Maxwell使用技巧

1、回到原点 点击Fit All 2、长方体做差 选中两个长方体, 点击Subtracct,就可以得到一个镂空的绕组。 3、电感仿真步骤 3.1 画磁芯 3.2 画绕组 3.3 加激励 选择截面积-右键绕组-Edit-Surface-Section-YZ 选择一个截面添加电流激励 3.4选材料 绕组一…

掌握谈判技巧,达成双赢协议

在当今竞争激烈且合作频繁的社会环境中,谈判成为了我们解决分歧、谋求共同发展的重要手段。无论是商业合作、职场交流,还是国际事务协商,掌握谈判技巧以达成双赢协议都具有极其关键的意义。它不仅能够让各方在利益分配上找到平衡点&#xff0…

MacOS 命令行详解使用教程

本章讲述MacOs命令行详解的使用教程,感谢大家观看。 本人博客:如烟花般绚烂却又稍纵即逝的主页 MacOs命令行前言: 在 macOS 上,Terminal(终端) 是一个功能强大的工具,它允许用户通过命令行直接与系统交互。本教程将详细介绍 macOS…

第十七章 使用 MariaDB 数据库管理系统

1. 数据库管理系统 数据库是指按照某些特定结构来存储数据资料的数据仓库。在当今这个大数据技术迅速崛起的年代,互联网上每天都会生成海量的数据信息,数据库技术也从最初只能存储简单的表格数据的单一集中存储模式,发展到了现如今存储海量…

11.17【大数据】Hadoop【DEBUG】

列出hdfs文件系统所有的目录和文件 主节点上 子结点 是一样的 *为什么能登进 slave 02 的主机,但是 master 当中依然显示 slave 02 为 DeadNode?* hadoop坏死节点的重启_hadoop3 子节点重启-CSDN博客 注意hadoop-daemon.sh 实际上位于 Hadoop 的 sbin 目录中,而不…

MetaGPT 安装

1. 创建环境 conda create -n metagpt python3.10 && conda activate metagpt2. 可编辑方式安装 git clone --depth 1 https://github.com/geekan/MetaGPT.git cd MetaGPT pip install -e .3. 配置 metagpt --init-config运行命令,在C盘位置C:\Users\325…

图的最小生成树(Kruskal算法,Prim算法)

无向图中的最短路径问题?No,最短路径不是最小生成树! 什么是最小生成树? 在一个无向连通图中,有一个子图连接所有顶点,并且权重和最小,那么他就是最小生成树。如果权重和不是最小的只能叫做生…

【Flink-scala】DataStream编程模型之水位线

DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之 数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 3.【Flink-scala】DataStream编程模型之 窗口计算-触发器-驱逐器 文章目录 DataStream API编程模型前言…

PHP RabbitMQ连接超时问题

问题背景 Error: The connection timed out after 3 sec while awaiting incoming data 看到这个报错,我不以为意,认为是我设置的超时时间不够导致的,那就设置长一点 Error: The connection timed out after 300 sec while awaiting incom…

【LeetCode热题100】BFS解决FloodFill算法

这篇博客主要记录了使用BFS解决FloodFill算法的几道题目&#xff0c;包括图像渲染、岛屿数量、岛屿的最大面积、被包围的区域。 class Solution {using PII pair<int, int>; public:vector<vector<int>> floodFill(vector<vector<int>>& im…

L2G3000-LMDeploy 量化部署实践

文章目录 LMDeploy 量化部署实践闯关任务环境配置W4A16 量化 KV cacheKV cache 量化Function call LMDeploy 量化部署实践闯关任务 环境配置 conda create -n lmdeploy python3.10 -y conda activate lmdeploy conda install pytorch2.1.2 torchvision0.16.2 torchaudio2.1.…

大数据新视界 -- 大数据大厂之 Hive 临时表与视图:灵活数据处理的技巧(上)(29 / 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

Ubuntu操作系统在Vmware中的安装、常用操作、最基础的知识、imx6ll基本开发环境配置

01-Ubuntu操作系统的安装 网盘搜索 “ubuntu18.04.zip”&#xff0c;下载下来之后用Vmware打开就行了。 我用的虚拟机是15.5.6&#xff0c;实测没有问题。 启动时用户名为book的密码为123456 提问&#xff1a;Ubuntu与Centos系统有何区别&#xff1f; 详情见 https://blog.cs…

windows2012服务器安装sqlserver2012出现NetFx3错误的解决方法。

出现以下错误: 启用 Windows 功能 NetFx3 时出错&#xff0c;错误代码: -2146498298。请尝试从 Windows 管理工具启用 Windows 功能 NetFx3&#xff0c;然后重新运行安装程序。有关如何启用 Windows 功能的详细信息&#xff0c;具体解决办法如下&#xff1a; 1、打开PowerShel…

FPGA实战篇(按键控制LDE实验)

1.按键简介 按键开关是一种电子开关&#xff0c;属于电子元器件类。我们的开发板上有两种按键开关&#xff1a;第一种是本实验所使用的轻触式按键开关&#xff0c;简称轻触开关。使用时以向开关的操作方向施加压力使内部电路闭合接通&#xff0c;当撤销压力时开关断开&#xff…

C++析构函数和构造函数

一、构造函数 1.构造函数的基本概念 1.对构造函数的理解&#xff1a; 构造函数是类的一种特殊成员函数&#xff0c;其主要功能是在创建对象时进行初始化操作。它的名字与类名相同&#xff0c;并且没有返回值类型&#xff08;不能是void&#xff09;。例如&#xff0c;对于一个…

【Axure高保真原型】数值条件分组

今天和大家分享数值条件分组的原型模板&#xff0c;效果包括&#xff1a; 点击添加分组按钮&#xff0c;可以显示添加弹窗&#xff0c;填写分组名称和数值区间后&#xff0c;可以新增该分组信息‘’ 修改分组区间&#xff0c;可以直接在输入框里修改已有的分组区间&#xff0c…

阳光电脑公司的维修服务微信小程序ssm+论文源码调试讲解

第2章 开发环境与技术 阳光电脑公司的维修服务微信小程序的编码实现需要搭建一定的环境和使用相应的技术&#xff0c;接下来的内容就是对阳光电脑公司的维修服务微信小程序用到的技术和工具进行介绍。 2.1 MYSQL数据库 本课题所开发的应用程序在数据操作方面是不可预知的&…