嵌入式开发系列001-嵌入式开发基本概念

一、ARM

1.ARM概念

ARM有两个含义,第一个它是ARM公司,一家设计处理器架构的公司。注意这里是设计处理器,它并不生产处理器芯片,ARM公司将设计的处理器架构授权卖给其他半导体厂商,比如高通、华为、苹果,而由这些公司生产出处理芯片,我们也习惯称之为ARM芯片。因此,ARM也是指采用ARM公司架构进行设计的芯片。如下图所示。

ARM采用RISC精简指令集,而我们用的办公计算机采用的是复杂指令集。我们写的代码最终要转成指令,提供给CPU进行运算。一个程序里面大约只有20%的指令被经常用到,这20%的指令大约占整个程序的80%,ARM专心实现常用指令,对于不常用指令就通过常用指令去组合而实现。

使用ARM指定集的cpu,它的性能是要差一点,但是功耗会低一些,成本也会低很多,这就形成了嵌入式产品的一个优势。ARM设计了很多的芯片架构,早期的时候架构的命名比较混乱,现在这些处理器基本不常见了。

2.ARM架构分类

从ARM V7开始就采用cortex来命名。从下图我们可以看到,cortex系列分为三类,分别是cortex A,cortex R,cortex M。

cortex A系列是应用程序系列。A系列拥有内存管理单元,也就是MMU,可以实现虚拟内存,让每个用户进程都拥有自己独立的定制空间,这是现在多用户、多进程操作系统所必须的,像运行Linux操作系统,硬件上就必须要有MMU。Cortex A系列,适合用于高端的消费电子领域,像智能手机、平板电脑、智能电视、路由器等。

Cortex R系列是实时控制系列,该系列用于高性能、高实时的一些场景,比如硬盘固态的驱动控制器,消费电子领域的蓝光播放器,汽车安全气囊等,这个我们一般接触的比较少。

Cortex M系列是微控制器,该系列用于低功耗、低成分比较敏感的产品,像我们的家电、互联网产品等等。

3.基于ARM的STM32系列处理器

cortex系列分为三类,针对不同的使用场景,每个系列还会细分,比如说cortex M系列就包含M3,M0,M4等等。我们看一下上图,横坐标是架构,纵坐标是芯片的类型。芯片类型有无线系列,超低功耗系列,主流系列,还有高性能系列以及MPU。可以看到我们的STM32F1系列属于主流的MCU,它的架构是cortex M3,纵坐标显示是高性能MCU。纵坐标有个MPU,它的架构对应cortex A7。

二、MPU和MCU关系

我们先看一下MCU的结构。MCU是把CPU,内存,flash都集成在一个芯片上,也就是我们俗称的单片机,它就是一个完整的微型计算机,只需要供电以及极少的外围电路就可以工作。常见的MCU有8051系列单片机,AVR系列的单片机,还有意法半导体公司的STM32系列单片机。MPU类似于通用计算机的CPU,主要负责处理和计算,需要外加内存flash、电源等电路。

MCU和MPU有本质区别是因为它们定位的应用场景不同,像MCU它注重功能较为单一,价格敏感的应用场景,不需要强大的运算和处理能力,更多的是对设备的管理和控制,因此,不需要大容量的内存flash来运行大程序。MPU注重相对强大的运算处理能力,执行复杂多样的大型程序,因此需要外挂大容量的内存和存储。但随着技术的发展、市场需求的变化,MCU和MPU的界限逐渐模糊。像高端的32位的MCU,它的主频越来越高,已经反超低端的MPU的主频了。

三、DSP和FPGA

DSP通常有两个含义,第一个它指数字信号处理学科技术,也就是使用数字计算的方式对信号进行加工处理的理论和技术。另一个含义是指数字信号处理器,它是一种专门用于数字信号处理领域的微处理器芯片。即DSP既是一门学科技术,也是一类芯片。DSP芯片拥有强大的数据处理能力,在数字信号处理领域,比如说调制、解码、数据的加密解密,图形处理、数字滤波、音频处理等计算密集型的场景有着广泛的应用。

FPGA(现场可编程门阵列)可以通过编程来改变它的内部硬件结构,实现所需功能,厂家有赛灵思等。前面所说的MCU、DSP,它们的硬件资源都是固定的,我们做开发时只能配置软件去实现对应的功能。但FPGA可以通过硬件描述语言去修改硬件,把它变成CPU,或者专用的芯片,来实现某个控制或者算法。再比如,有些通信领域需要处理高速的通讯协议,而这个通讯协议可能会随时修改,因此它不适合做成专门的芯片,这时FPGA灵活性让它就成为首选。

四、总结

如今复杂的嵌入式系统往往是复合的架构,像有些产品,它是MPU+FPGA的一个组合,或者说MCU+MPU的组合。

在控制显示通信场景,我们一般选择MCU或MPU;

在通信或者说数据处理算法方面,我们选择DSP;

像一些需要大量的数据处理以及特定的实现,主要选择FPGA。

MCU的开发需要C语言基础,熟悉各种外设接口,熟悉RTOS系统开发;

MPU的开发通常需要学习linux基础、操作系统、网络编程等知识;

DSP的开发通常需要具备数据信号处理算法的理论知识;

FPGA的开发通常需要了解高速接口或音视频处理的算法等等。

[参考:百问网(www.100ask.net)]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式系统开发圣经 大小为42M的书,给你提供详细的嵌入式开发知识,是学习的好资料 本书特色:详细的理论讲解,让你全面了解当前嵌入式开发系统的发展趋势。以信息家电、智能型手机、PDA产品为出发点,广泛深入地分析相关的嵌入式系统技术。适用于产品主管、系统设计分析人员及欲进入该领域的工程师。是一本开发嵌入式系统产品必备的入门圣经,进入嵌入式系统领域的宝典。 目录: 第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-3-1 系统集成能力 1-3-2 程序语言编写能力 1-3-3 市场应用导向 1-4 未来展望 1-4-1 集成服务导向 1-4-2 轻薄小型人性化 1-4-3 软硬件网络无线集成 1-4-4 创意产生与实现 1-5 本书导读 第2章 嵌入式SoC硬件系统概论 2-1 嵌入式系统微处理器的发展 2-1-1 4位以及8位嵌入式系统微处理器 2-1-2 16位以上的嵌入式系统微处理器 2-1-3 协同微处理器(Co-processor) 2-1-4 CISC与RISC 2-1-5 数字信号处理器(Digital Signal Process-DSP) 2-1-6 超长令集微处理器(VLIW) 2-2 SoC嵌入式系统微处理器 2-2-1 什么是SoC嵌入式系统微处理器 2-2-2 SoC微处理器的设计开发 2-2-3 RISC结合DSP的SoC嵌入式系统微处理器 2-2-4 快速的SoC嵌入式系统微处理器设计与制造 2-3 ARM公司ARM RISC架构微处理器 2-3-1 ARM RISC嵌入式系统微处理器简介 2-3-2 ARM 7 Thumb嵌入式系统微处理器系列 2-3-3 Thumb令集 2-3-4 ARM 9 Thumb嵌入式系统微处理器系列 2-3-5 ARM 10 Thumb嵌入式系统微处理器系列 2-3-6 ARM RISC嵌入式系统微处理器的应用 2-3-7 相关数据查询 2-4 Intel公司StrongARM微处理器 2-4-1 StrongARM架构 2-4-2 SA 1110/SA 1111模拟实验版 2-4-3 StrongARM嵌入式系统微处理器的应用 2-4-4 参考数据 2-5 德州仪器公司TMS320 DSP微处理器 2-5-1 TMS320 DSP微处理器简介 2-5-2 德州仪器公司C5X DSP微处理器系列 2-5-3 德州仪器公司C6X DSP微处理器系列 2-5-4 德州仪器公司TMS320DM310 DSP微处理器 2-5-5 DSP微处理器的应用 2-5-6 参考数据 2-6 Philips公司Trimedia微处理器 2-6-1 简介 2-6-2 Trimedia微处理器架构 2-6-3 软件开发工具 2-6-4 TM-1300模拟实验版 2-6-5 TM-1300嵌入式系统微处理器应用 2-6-6 参考数据 2-7 德州仪器公司OMAP架构微处理器 2-7-1 OMAP简介 2-7-2 OMAP架构 2-7-3 OMAP程序开发 2-7-4 OMAP微处理器在多媒体上的应用 2-8 Intel公司XScale架构微处理器 2-8-1 XScale微处理器简介 2-8-2 XScale微处理器硬件架构 2-8-3 XScale微处理器应用产品开发(PCA) 2-8-4 XScale微处理器-PXA210/250 2-8-5 参考数据 2-9 其他常见高端的嵌入式系统微处理器 2-9-1 MIPS RISC嵌入式系统微处理器 2-9-2 Hitachi SH系列嵌入式系统微处理器 2-9-3 Motorola嵌入式系统微处理器 2-9-4 Intel嵌入式系统微处理器 2-9-5 STMicroelectronics嵌入式系统微处理器 2-9-6 AMD嵌入式系统微处理器 2-9-7 三菱嵌入式系统微处理器 2-9-8 富士通嵌入式系统微处理器 2-10 存储器 2-10-1 可编程只读存储器 2-10-2 随机存储器(Random Access Memory) 2-11 通信接口 2-11-1 IEEE 1394 2-11-2 USB 2-11-3 红外线 2-11-4 蓝牙模块(Bluetooth) 2-11-5 IEEE 802.11 2-12 输出与输入装置 2-12-1 触摸屏 2-12-2 LCD显示器 2-13 扩展装置 2-13-1 PCMCIA扩展装置 2-13-2 CF扩展装置 2-13-3 SD扩展装置 2-13-4 Memory Stick 2-13-5 Springboard 2-14 便携式嵌入式系统电源系统 2-14-1 便携式嵌入式系统电源的要求 2-14-2 智能型电池系统 2-15 小结 第3章 嵌入式系统软件开发 3-1 嵌入式系统基本概述 3-1-1 系统规划与设计 3-1-2 开发平台与目标平台 3-1-3 开发环境与开发流程 3-2 开始您的第一步 3-2-1 目标平台 3-2-2 下载程序 3-2-3 开发考虑 3-3 嵌入式操作系统 3-3-1 操作系统的基本运作 3-3-2 开机 3-3-3 执行应用程序 3-3-4 系统移植 3-3-5 选择一个嵌入式操作系统 3-4 嵌入式软件的开发流程 3-4-1 系统开发 3-4-2 编译 3-4-3 链接 3-4-4 重新定位 3-4-5 下载 3-5 沟通软件与硬件的桥梁 3-5-1 由说明书认识硬件组件 3-5-2 驱动程序的编写 3-5-3 断与异常处理 3-6 调试技术 3-6-1 仿真软件 3-6-2 目标平台上的调试 3-6-3 硬件辅助调试 3-7 您必须了解的事情 3-7-1 常见的错误处理 3-7-2 程序技巧 3-8 总览 第4章 信息家电软件的大趋势 4-1 多采多姿的Java世界 4-1-1 Java的概念 4-1-2 Java世界 4-1-3 企业版J2EE 4-1-4 标准版J2SE 4-1-5 袖珍版J2ME 4-1-6 Java Card 4-1-7 小结 4-2 移动装置的Java Virtual Machine-KVM(K Virtual Machine) 4-2-1 KVM的由来 4-2-2 KVM移植技术 4-2-3 KVM验证 4-2-4 小结 4-3 移动设备上的开发套件-MIDP 4-3-1 Java与无线通信 4-3-2 MIDP的由来 4-3-3 MIDP开发环境 4-3-4 MIDP开发实例 4-3-5 MIDP的移植 4-3-6 小结 4-4 Symbian Java Phone 4-4-1 Java Phone架构 4-4-2 JTAPI 4-4-3 应用实例 4-4-4 小结 4-5 Jini 4-5-1 Jini的架构 4-5-2 Jini的移植 4-5-3 小结 4-6 电信服务i-Mode与i-appli 4-6-1 i-Mode通信系统 4-6-2 Compact HTML 4-6-3 Java Enabled i-mode:i-appli 4-7 Java Chip让Java飞起来 4-7-1 Java Chip的诞生 4-7-2 各家的JavaChip 4-7-3 小结 4-8 总结 第5章 Smart Handheld Device软件系统设计 5-1 前言 5-2 嵌入式操作系统基本概念 5-2-1 嵌入式操作系统 5-2-2 软件组件 5-3 PDA产品面面观 5-3-1 Palm-PDA的创作先驱 5-3-2 WinCE Pocket PC多媒体的佼佼者 5-3-3 我国嵌入式操作系统发展概况 5-3-4 PDA发展趋势 5-4 针对产品定义选择系统软件 5-4-1 基本技术比较 5-4-2 产品应用 5-5 Symbian Platform:典型的智能型手机系统设计 5-5-1 功能结构介绍 5-5-2 GTv6基本组件 5-5-3 Framework 5-5-4 通信与网络 5-5-5 应用层 5-5-6 Java Phone 5-5-7 新一代智能型手机 5-5-8 持续创新的Symbian OS v7.0 5-5-9 系统开发环境 5-6 嵌入式Linux相关技术 5-6-1 嵌入式Linux概述 5-6-2 工作评估 5-6-3 Linux目录结构 5-6-4 工具链(Toolchain) 5-6-5 内核配置 5-6-6 编译内核 5-6-7 雏型板测试 5-6-8 选择嵌入式Linux图形接口 5-6-9 自己动手做Linux Based iPAQ 5-7 结束语

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值