ARM小记

2019-12-02来源: 51hei关键字:ARM  单片机  指令集

ARM何物  
ARM(Advanced RISC Machines,进阶精简指令集机器),如果你一直把这个单词读成“A”-“R”-“M”,那么将有一个好消息和一个坏消息要告诉你。好消息是:你 这是初次接触到ARM技术相关的文章,而本文内容正是专为你量身打造的,无论你是嵌入式系统的门外汉还是单片机技术的初学者,都可以通过本文轻松地了解ARM技术。 请相信我,这并不困难!坏消息是:我很抱歉的告诉你, 它的正确读法应该是“arm”,是手臂、胳膊的英文发音。 很出丑是不是?但除非你是在大声朗读,不然没人会知道 的。你又多了一个知识和一个不可告人的秘密。调整一下心态,我们的故事就从这里开始吧!  

1990年,有一家高科技公司在美丽的英国安了家,公司是由一群先知先觉的工程师组成的,他们致力于一种 新的CPU体系结构的设计。他们想让这款CPU的性能更为 出色,有精简的指令集(可以理解成给CPU发出命令的咒语,当然是越简单越好了)和较低的功耗(适合 在需要高速度运算又采用电池充电的设备当中使用)。当时传统 的电脑CPU发热量大,需要使用风扇散热,这确实很不方 便,至少我不希望我的智能手机看上去像电吹风。所以, 他们夜以继日的开发,努力实现这个伟大构想。终于,他 们成功了!大家兴高采烈地为这款新的处理器结构取了一个响亮的名字——Advanced RISC Machines,简称ARM。 有趣的是这家公司的名字也是Advanced  RISC  Machines Ltd.,简称ARM,不得不说他们当初成立公司时的伟大目标 现在实现了,可是这个巧合里面有什么精彩秘密呢?其实 早在我出生的前一年——1983年,一家名为Acorn的电脑公 司就已经开始着手开发精简指令集的32位微处理器。在我1岁的时候——1985年,该公司已经研发出了ARM1处理器,一年之后又推出了ARM2处理器并批量生产,之后不久又推 出了ARM3处理器。这个时候已经大名鼎鼎 的苹果公司看 到了商机,于是想和Acorn公司合作开发。后来双方研究决定另外开设一家新公司,专门设计、研发精简指令集处理 器。于是才有了前面提到的ARM公司的成立。ARM公司成 立之后所研发的是ARM6型处理器结构,推出之后就被自己 的两个东家(苹果和Acorn公司)应用在其新款的产品上。 现在好了 ,我们的ARM处理器结构诞了。 一开始ARM公司的处理器自产、自用,可是随后吸引了一大批世界级的芯片生产厂商(也可能是ARM公司邀请他们过来 的,谁知道呢)。这些大厂商们正在为处理器市场的弊端 而发愁,所以很快双方建立了合作,即ARM公司自己不生产芯片,而是出售其ARM处理器结构的设计方案,各大芯 片生产厂商根据设计方案来生产ARM结构的处理器芯片。 这是一桩一本万利的生意,各大厂商每生产一片ARM体系 结构的处理器,就要向ARM公司支付一笔知识产权费用。 仅是出售一套现有的内核方案就需要至少20万美元,如果 还需要特殊修改服务则更是需要上千万美元。ARM公司也 在不断的升级、完善自己的产品以占据更多的市场份额。 目前的32位微处理器市场上,ARM体系结构的产品已经占 到7成以上,而且还在增长。ARM公司身体力行,用实践证 明了“知识就是财富”这句话的真实性。当然,这还要是 在严格保护知识产权、严厉打击盗版的国家和地区才行。

  
话分两头,单表买家。ARM处理器结构被各大芯片厂商采用,制作出高性能 、低功耗的理器,然后推向市场(通常我们叫它“ARM处理器”,还有叫“ARM单片机的”)。这些厂家里包括三星电子(SAMSUNG)、飞思卡尔( Freescale, 摩托罗拉旗下公司 )、思睿逻辑(CirrusLogic)、爱特梅尔(ATMEL)、恩智浦(NXP,飞利浦旗下公司)、国际商业机器公司(IBM)、德州仪器(TI)、富士通(FUJITSU)和任天堂等,相信这些公司不 是脑门发热的家伙,它们选择ARM一定有更长远的考虑。  


处理器行业方兴未艾,每天都会有新的技术和方案来满足我们的需求。在低端市场有51单片机等8位处理器来 满足我们制作流水灯、电子钟之类的作品,更可以作为控制类产品的开发。它们结构简单、价格便宜、易学易用,是目前电子爱好者热衷的玩艺儿。在高端市场,由x86结构 的32位或64位的处理器来构成我们PC机的核心部分。它们 性能极高、速度飞快,一边看电影一边聊QQ都不在话下。  


而一些需要电池供电的手持设备上,如智能手机、高级游戏机、数码相机、掌上电脑等消费类电子产品却需要一款 中端类型的处理器。ARM不是唯一的选择,但却是最 好的 选择。苹果的iPod、诺基亚N93、索爱K系列手机、戴尔的 PDA电脑、任天堂的掌上游戏机、多普达的智能手机、还 有国内的一些山寨版电子产品上无不用到ARM的处理器。 同时在世界范围内的嵌入式行业也刮起了一股ARM的流行 风,ARM的学习教程、开发实验板、开发工具、仿真软件 日新月异、层出不穷。许多8051单片机的研发公司也开始 向ARM转型,而原本学习8051单片机的技术人员和爱好 者也开始追赶流行,开始学习ARM技术。我个人认为这种“追赶时尚”多少存在一些非理性和麻木的因素。单片机 行业真的要从8位转向32位吗?ARM全面取代8051是未来市场的趋势吗?作为单片机初学者的你应该怎么办,是紧跟时代脉动,还是专心一门技术?以我个人拙见,根本没有选择的必要,下文中再与你聊。  


ARM最好的选择,但不是唯一的选择,与之竞争的对手也非等闲之辈。最有名的当属英特尔公司出品的XScale处理器(芯片是在2003 年前后推出的,2006年英 特尔退出嵌入式领域,将XScale处理器部门卖给了Marvell公司),XScale系列处理器从早期英特尔生产的PXA255、XA270到现在Marvell公司生产的PXA300、PXA310、PXA320,从性能上看都相当优秀。XScale处理器曾被应 用在掌上电脑和智能手机上(如MOTO  E680)。有趣的 是,XScale处理器也是在ARMV5TE核心的基础上改进而成的。另外还有飞思卡尔公司的ColdFire(冷火)处理器架构 、 AIM联盟(苹果、IBM、摩托罗拉的联盟)所研发的PowerPC微处理器架构,以及MIPS技术公司的MIPS32和 MIPS64处理器架构。另外还有像AVR32等新型处理器不断 推出,这些都是32位嵌入式微处理器,这里就不一一介绍 了。表1列出了ARM处理器的系列和应用。请注意表中“应 用”这一列,也许你会发现一些熟知的电子产品。之前你 在使用它们的时候并没有去想它们的处理器是什么,因为 这个问题显得相当神秘,现在你知道了,原来那些看似复 杂的产品都有一颗ARM“心”。 

 
最近看到一条新闻,基于ARM处理器的上网本(见图2)将在2010年6月份推出。但因为微软公司的Windows操 作系统不支持ARM处理器,所以ARM处理器的上网本将会 使用Linux等操作系统。这条新闻预示着ARM开始进军上网本市场,以其特有的实力将笔记本电脑变得更轻巧,未来的智能产品将会超出现在的想象。ARM还可以创造多少奇 迹?让我们拭目以待吧。 
 

学习指南  
许多朋友想学习 ARM,可是又不知道该从何入手。想听听我的传奇经历吗?那是大学三年级离毕业之前,我在哈尔滨的电子市场看到了一款 LPC2200 处理器(飞利浦公司的 ARM 处理器产品)的开发板(见图 3),这是飞利浦旗下的 一款 ARM 处理器,带一个真彩液晶屏,开机时很炫酷,随 板又赠送一本 ARM 基础教程。当时很开心,在还没把 8051 学出什么名堂的时候,就开始想转战 ARM 技术。当时这款 产品要价 2000 元,我反复挣扎了很久,最后还是压不住冲动的性子,把它买了下来。当时向债主爸爸许诺,一定在短期之内把 ARM 学好。我还真是下了狠心,在各位同学纷纷 准备毕业设计论文的时候,我正抱着一本 ARM 基础教程的 书反复研究。当时还没有什么好的 ARM 技术论坛,21IC 论坛上水太深,也不敢随便冒泡。就这样,短暂又美好的大学时光过去了,那时我已经自认为对 ARM 技术有了一定的了解。 
 
书中主要讲述 ARM7TDMI 的系统结构及原理,枯燥且难理解。 如果是现在,我都懒得翻这种书,可当时却是朝圣般地研读。 当时感觉 ARM 是一个结构非常复杂的微处理器,它是 32 位 处理器,是一个超级单片机,要了解 ARM 的内核结构,精简指令集的使用,还要学习汇编语言,最后就是学习一个叫 μC/OS-II 的操作系统。总而言之要学的内容比 8051 复杂, 设计制作也就更难。回想起来,对当时学过的内容已没有什 么印象了。  
转机出现在南下求职中。毕业之后许多同学留在了哈尔 滨,而我却选择只身一人南下深圳,因为那里的电子行业发 达,如果可以找到一家好公司可以学到很多经验。和我一样 想法的人应该很多,可是最后的遭遇也各不相同,我还是比 较幸运的,找到一家很不错的嵌入式系统研发公司,老板对 我也很好。我在那里从测试员做起,然后做到技术支持工程 师,最后是产品经理。一路下来经历了许多有趣的事情,也 从一个产品应用的角度重新认识了ARM。我觉得后来在工作 经验中学到的ARM更成熟、更鲜活。  

[1] [2]
关键字:ARM  单片机  指令集 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic481690.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:C语言编程程序的内存如何布局
下一篇:Cortex-M3学习LPC1768 - DAC实验

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于ARM Cortex-M0+内核的bootloader程序升级原理及代码解析
本文主要讲述BootLoader程序升级原理及一些代码的解析,力图用通俗易懂的语言描述清楚BootLoader升级的主要关键点。BootLoader 升级原理概述首次接触这一块时,有一个概念叫IAP(在应用编程),通俗一点讲便是通过一段已有的程序(我们称之为BootLoader程序)去升级另外的一段程序(用户程序)。升级的方式多种多样,可以通过串口、USB、SPI等等多种接口去升级。实际上,我们是把我们需要升级的芯片里面分为两个区域,暂且称之为A区域和B区域。 A区域主要存放BootLoader程序,B区域主要存放用户程序,也就是我们希望升级或修改的程序。 一般情况下,为了升级流程的方便,我们会把A区域布置在芯片
发表于 2019-12-11
基于ARM Cortex-M0+内核的bootloader程序升级原理及代码解析
ARM USB 通信
采用ZLG的动态链接库,动态装载。ARM是Context-M3-1343。在C++ Builder 6 中开发的上位机通信软件。USB通信代码如下://---------------------------------------------------------------------------#include <vcl.h>#pragma hdrstop#include "Unit1.h"//#include "zyUSBDev.h"
发表于 2019-12-11
Azure ARM (7) ARM Template - 使用Visual Studio编辑
  之前介绍的ARM Template,都是使用文本编辑器来编辑JSON文件的。  文本讲介绍如何使用Visual Studio,编辑JSON Template。  本文使用Visual Studio 2015 with Update 3进行编辑,安装了Azure SDK 2.9。  如果读者使用的是Visual Studio 2013和Azure SDK 2.9,大部门的界面是和笔者的截图类似。笔者强烈建议安装最新的Visual Studio和Azure SDK。  前提:  1.安装Visual Studio 2015 with Update 3  2.安装Azure SDK 2.9  1.运行Visual Studio
发表于 2019-12-10
Azure ARM (7) ARM Template - 使用Visual Studio编辑
Azure ARM (6) ARM Template简单介绍
  在上一节中,笔者介绍了如何从现有的Azure Resource Group导出Template。  接下来,我们将总体介绍Azure Template。  1.首先,我们打开文本编辑器,创建一个JSON文件,命名为azuredeploy.json  然后复制以下内容:    {      "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",      "contentVe
发表于 2019-12-10
Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)
  在之前的文章里,笔者介绍了:我们可以在ARM模式下,通过JSON Template来部署Azure资源。通过使用JSON Template,我们可以重复部署多个Azure资源。  这个对于独立软件开发商(ISV)来说是非常重要的。比如厂商Contoso基于微软Azure开发了一套多租户的产品,给客户A使用。当客户B需要使用的时候,Contoso管理员只要从客户A的环境里,将Azure Deployment的JSON Template导出,进行相应的修改。然后再部署到Azure环境,即可把该环境提供给客户B使用。这种需要重复部署Azure资源的场景,非常适合使用Azure JSON Template。  而且,当我们需要同时部署
发表于 2019-12-10
Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)
Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
新的ARM Resource Group,并且在该Resource Group下,创建了新的存储账户。
发表于 2019-12-10
Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved