找回密码
 注册
关于网站域名变更的通知
查看: 268|回复: 1
打印 上一主题 下一主题

 ARM小记

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2018-10-29 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    ARM小记
      E% {1 Y; u, k) T& u4 M/ R# c" P
    " l8 ?3 {; P' A( @! @1 @
    ARM何物  % u6 t: |+ U: W: Z; y8 q
    ARM(Advanced RISC Machines,进阶精简指令集机 器),如果你一直把这个单词读成“A”-“R”-“M”,那么将有一个好消息和一个坏消息要告诉你。好消息是:你 这是初次接触到ARM技术相关的文章,而本文内容正是专 为你量身打造的,无论你是嵌入式系统的门外汉还是单片 机技术的初学者,都可以通过本文轻松地了解ARM技术。 请相信我,这并不困难!坏消息是:我很抱歉的告诉你, 它的正确读法应该是“arm”,是手臂、胳膊的英文发音。 很出丑是不是?但除非你是在大声朗读,不然没人会知道 的。你又多了一个知识和一个不可告人的秘密。调整一下心态,我们的故事就从这里开始吧!  
    + b" w4 w6 r$ U; l) W) @
    1 r, \* D7 y9 w; U. O8 b! E1990年,有一家高科技公司在美丽的英国安了家,公司是由一群先知先觉的工程师组成的,他们致力于一种 新的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公司身体力行,用实践证 明了“知识就是财富”这句话的真实性。当然,这还要是 在严格保护知识产权、严厉打击盗版的国家和地区才行。  & ?$ b) X' x# A+ k% U$ K
    话分两头,单表买家。ARM处理器结构被各大芯片厂商采用,制作出高性能 、低功耗的理器,然后推向市场(通常我们叫它“ARM处理器”,还有叫“ARM单片机的”)。这些厂家里包括三星电子(SAMSUNG)、飞思卡尔( Freescale, 摩托罗拉旗下公司 )、思睿逻辑(CirrusLogic)、爱特梅尔(ATMEL)、恩智浦(NXP,飞利浦旗下公司)、国际商业机器公司(IBM)、德州仪器(TI)、富士通(FUJITSU)和任天堂等,相信这些公司不 是脑门发热的家伙,它们选择ARM一定有更长远的考虑。  
    ) y5 I  c" w7 _; x( a处理器行业方兴未艾,每天都会有新的技术和方案来满足我们的需求。在低端市场有51单片机等8位处理器来 满足我们制作流水灯、电子钟之类的作品,更可以作为控制类产品的开发。它们结构简单、价格便宜、易学易用,是目前电子爱好者热衷的玩艺儿。在高端市场,由x86结构 的32位或64位的处理器来构成我们PC机的核心部分。它们 性能极高、速度飞快,一边看电影一边聊QQ都不在话下。  
    " S) p. G1 V# w- |5 P; v而一些需要电池供电的手持设备上,如智能手机、高级游戏机、数码相机、掌上电脑等消费类电子产品却需要一款 中端类型的处理器。ARM不是唯一的选择,但却是最 好的 选择。苹果的iPod、诺基亚N93、索爱K系列手机、戴尔的 PDA电脑、任天堂的掌上游戏机、多普达的智能手机、还 有国内的一些山寨版电子产品上无不用到ARM的处理器。 同时在世界范围内的嵌入式行业也刮起了一股ARM的流行 风,ARM的学习教程、开发实验板、开发工具、仿真软件 日新月异、层出不穷。许多8051单片机的研发公司也开始 向ARM转型,而原本学习8051单片机的技术人员和爱好 者也开始追赶流行,开始学习ARM技术。我个人认为这种“追赶时尚”多少存在一些非理性和麻木的因素。单片机 行业真的要从8位转向32位吗?ARM全面取代8051是未来市场的趋势吗?作为单片机初学者的你应该怎么办,是紧跟时代脉动,还是专心一门技术?以我个人拙见,根本没有选择的必要,下文中再与你细聊。  
    ; X# p2 q& J; r$ EARM最好的选择,但不是唯一的选择,与之竞争的对手也非等闲之辈。最有名的当属英特尔公司出品的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“心”。  1 ]( {/ ]  O# ^. G. W
    最近看到一条新闻,基于ARM处理器的上网本(见图2)将在2010年6月份推出。但因为微软公司的Windows操 作系统不支持ARM处理器,所以ARM处理器的上网本将会 使用Linux等操作系统。这条新闻预示着ARM开始进军上网本市场,以其特有的实力将笔记本电脑变得更轻巧,未来的智能产品将会超出现在的想象。ARM还可以创造多少奇 迹?让我们拭目以待吧。 9 g8 q# x. c) P! _( F

    . }* M2 q! a# Q1 j7 E% I4 z+ g) l
    ' E3 z- v8 C3 `! |' T学习指南  
    0 I/ ]7 S$ {! ]6 k" M$ M: P9 u许多朋友想学习 ARM,可是又不知道该从何入手。想听听我的传奇经历吗?那是大学三年级离毕业之前,我在哈尔滨的电子市场看到了一款 LPC2200 处理器(飞利浦公司的 ARM 处理器产品)的开发板(见图 3),这是飞利浦旗下的 一款 ARM 处理器,带一个真彩液晶屏,开机时很炫酷,随 板又赠送一本 ARM 基础教程。当时很开心,在还没把 8051 学出什么名堂的时候,就开始想转战 ARM 技术。当时这款 产品要价 2000 元,我反复挣扎了很久,最后还是压不住冲动的性子,把它买了下来。当时向债主爸爸许诺,一定在短期之内把 ARM 学好。我还真是下了狠心,在各位同学纷纷 准备毕业设计论文的时候,我正抱着一本 ARM 基础教程的 书反复研究。当时还没有什么好的 ARM 技术论坛,ICTOWN 论坛上水太深,也不敢随便冒泡。就这样,短暂又美好的大学时光过去了,那时我已经自认为对 ARM 技术有了一定的了解。 2 A" {/ A) ]& C
    $ u; O- e" a1 k! D9 V, I. h4 H
    书中主要讲述 ARM7TDMI 的系统结构及原理,枯燥且难理解。 如果是现在,我都懒得翻这种书,可当时却是朝圣般地研读。 当时感觉 ARM 是一个结构非常复杂的微处理器,它是 32 位 处理器,是一个超级单片机,要了解 ARM 的内核结构,精简指令集的使用,还要学习汇编语言,最后就是学习一个叫 μC/OS-II 的操作系统。总而言之要学的内容比 8051 复杂, 设计制作也就更难。回想起来,对当时学过的内容已没有什 么印象了。  " g$ U0 ]: \( r5 o/ _
    转机出现在南下求职中。毕业之后许多同学留在了哈尔 滨,而我却选择只身一人南下深圳,因为那里的电子行业发 达,如果可以找到一家好公司可以学到很多经验。和我一样 想法的人应该很多,可是最后的遭遇也各不相同,我还是比 较幸运的,找到一家很不错的嵌入式系统研发公司,老板对 我也很好。我在那里从测试员做起,然后做到技术支持工程 师,最后是产品经理。一路下来经历了许多有趣的事情,也 从一个产品应用的角度重新认识了ARM。我觉得后来在工作 经验中学到的ARM更成熟、更鲜活。  ) m/ W, f7 s1 w3 ?+ N3 A- J* A! G& s
    实践中的ARM和书中的ARM完全不同。我要学习的内容从内核结构变成了操作系统,ARM的最大特点就是可以 安装嵌入式操作系统,包括在ARM7上安装μC/OS-II,在 ARM9上安装的Windows CE、VxWorks和Linux。安装了操作 系统的ARM其实是更简单。以应用较广泛的Windows CE来 说,我们要开发的USB接口、以太网之类的功能早就已经 模块化了,可以直接加载使用。我们需要做的只是在用EVC 编译器制作一个主程序和用户界面。  - F1 c# d% P8 u/ \* a! U( ~: w& y( s
    所以ARM已经将强大的操作系统和底层硬件分隔开来,学习ARM其实是在学习操作系统。这就好像我们今天 学习PC机的使用,其实主要是在学习W indows操作系统 的使用一样。学习ARM时如果从电脑软件一端入手便会很容易,如果从单片机一端的硬件结构开始,那么学习会困难一些——主要是思维方式不同,学习的难度就有不同。 但并不是说不可以这样学习,把ARM处理器当成没有操作 系统的超级单片机使用也是很好的选择。市场上许多介绍 ARM入门的书多是电子行业的资深人士,他们熟悉8051, 当ARM出现时习惯上将ARM处理器当作高级版的单片机来 看待,自然也就习惯性地从硬件入手教学。另一方面,现 在已经非常成熟的电脑软件开发的专家,多是用VC来编写电脑软件,如果让他们使用EVC(嵌入式VC)来开发嵌入式系统自然不在话下,可惜他们并没有及时地进入这个领 域。所以由电脑软件专家编写的嵌入式系统开发教程更是 凤毛麟角。嵌入式系统要想快速发展,就需要由懂得单片 机开发的硬件工程师和通晓电脑软件开发的专家通力配合 才能实现。目前业内也都意识到了这一点,嵌入式系统的 未来值得期待。  1 x1 I; G. C6 {8 z1 J
    作为个人来讲,无论你是单片机爱好者,还是电子技术应用专业的在校大学生,在掌握8051应用之后都应该尽 量学习一下ARM方面的知识。我个人推荐你学习三星电子 公司出品的S3C2410或S3C2440处理器。它们是ARM9核心 的,可以安装Windows CE和Linux操作系统。市场上的学习板价格也便宜,图书和资料也相当丰富。相信你会爱上图型界面的开发的,那确实是很让一个电子爱好者着迷的事 情。现在行业内嵌入式系统的开发人才短缺 ,学好ARM也 会对找工作大有好处。  7 o$ u- d$ v7 i) w  A

    , v" Y5 v$ q$ ~4 S6 U小结  2 P2 Z! Z& S* U0 ^/ s) e. P
    文章写到这里,也许有的朋友已经开始计划学习ARM 了。我的文章煽动性确实很强,可是面对自己的未来计划 应该更理性、更冷静的思考。首先ARM对于单纯的电子爱 好者而言并没有单片机那么好玩。因为ARM处理器的价格 较高,周边的元器件也并不便宜。虽然用ARM可以开发一 些智能化更高的产品(例如带有彩色显示屏的设备、以太 网接口的设备等),但是做一个硬件制作下来需要几百到 几千元,作为电子爱好者的DIY娱乐,确实是太奢侈了。 所以多数学习ARM的人都是为了找到福利更好的工作,或 者承接一些基于ARM的项目开发。如果你不是出于这两种 目的,对于ARM只了解就可以了。还有,ARM软、硬件开 发的复杂程度要比8位单片机高,如果8位单片机还没有熟 悉开发的时候就转到ARM的学习,其实是不理智的行为。 玩转ARM处理器除了过硬的单片机功底,还需要软件开发 的能力,ARM开发中有80%的工作都是在软件层面上,如 果你学过电脑软件的开发(如VB、VC开发),也接触过 操作系统(如Windows、Linux),再学习ARM就会事半功 倍了。虽然操作系统会让开发变得更方便快速,可是花时 间研究操作系统也是必须的。最后结束一句吧:ARM很流 行,也要量力而行。  2 x( ~# f7 \) p% `* n- w7 d8 x1 x7 H

    该用户从未签到

    2#
    发表于 2018-10-29 16:06 | 只看该作者
    好好学习,天天向上
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-21 15:50 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表