本章以刨根问底的方式,介绍究竟什么是ARM,公司的发迹史以及它和传统意义上的单片机究竟有什么区。我的工程实践中究竟应该怎样选择。
通过本章的学习读者可以了解到ARM家族的关系,全系列产品介绍和最新的ARM实用技术。
第一片ARM处理器的开发出来距今已近30年了,在这30来年中它已经发展成为世界领先的32位嵌入式处理器核,已向大多数世界领先的半导体公司授权或由他们制造。第一片ARM核是由Acorn Computers Limited公司在1983~1985年间开发的。这是一个总部设在剑桥的小型英国公司,当时大约有400名职工。
ARM公司本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。ARM商业模式的强大之处在于其价格合理,在全世界范围的合作伙伴超过100个,其中包括许多半导体的著名公司。ARM公司专注于设计,其内核耗电少、成本低、功能强,特有16/32位双指令集。ARM已成为移动通信、手持计算机和多媒体数字消费等嵌入式解决方案的RISC实际行业标准。
1.1 ARM从何而来
ARM的设计是Acorn电脑公司(Acorn Computers Limited)于1983年开始的发展计划。后来,ARM(Advanced RISC Machines)成为微处理器行业的一家知名企业。
1990 年11 月,ARM 成立于英国,原名Advanced RISC Machine 有限公司,是苹果电脑、Acorn电脑集团和VLSI Technology 的合资企业。设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和功耗低等特点。适用于多种领域,比如信息家电、消费电子、广告多媒体机和智能控制应用等。
1.1.1 ARM公司发迹史
Acorn电脑公司(Acorn Computers Limited)于1983年开始的发展计划的团队由Roger Wilson和Steve Furber带领,着手开发一种新架构,类似进阶的MOS Technology 6502处理器。团队在1985年时开发出ARM1 Sample版,而首颗"真正"的产能型ARM2于次年量产。ARM2可能是全世界最简单实用的32位元微处理器,其仅容纳了30,000个晶体管(相较于Motorola六年后的68000其包含了70,000颗)。这个精简的特色是它消耗很少的电能,却能发挥比 Intel 80286 更好的效能,而且能获得比普通单片机更复杂的效果。后继的处理器ARM3更备有4KB的快取,使它能发挥更佳的效能。
上世纪80年代末,苹果电脑开始与Acorn电脑公司合作开发新版的ARM核心,由于这个项目非常重要,所以Acorn电脑公司基于1990年的设计团队另组成一家名为Advanced RISC Machines Ltd.的新公司。使得ARM有时候反而称作Advanced RISC Machine而不是Acorn RISC Machine。
Acorn 曾推出世界首个商用单芯片RISC 处理器,而苹果电脑当时希望将RISC 技术应用于自身系统,ARM 的微处理器新标准因此应运而生。ARM 成功地研制了首个低成本RISC 架构,迅速在市场上崭露头角。与此同时RISC 结构的竞争对手都着眼于提高性能,发展高端工作站处理器的RISC 结构。
1991 年ARM 推出首个嵌入式RISC 核心——ARM6™ 系列处理器后不久VLSI 率先获得授权一年后夏普和GEC Plessey 也成为授权用户。1993 年德州仪器和Cirrus Logic 亦签署了授权协议从此ARM 的知识产权产品和授权用户都急剧扩大。1993 年Nippon Investment and Finance (NIF) 成为ARM 股东后,ARM 开始向全球拓展,分别在亚洲美国和欧洲设立了办事处。1998 年4月ARM 在伦敦证券交易所和纳斯达克交易所上市。
ARM 现已发展成为一家全球性大公司,在3 大洲8 个国家设有分支机构,雇员超过720 人。公司在英国布莱克本、剑桥和舍菲尔德法国Sophia Antipolis 以及美国加州Walnut Creek 和德州奥斯丁设有研发中心,并在法国、德国、日本、韩国、中国台湾、以色列英国和美国建立了销售、行政和技术支持办事处。ARM 中国于在2002 年7 月在中国上海成立分公司。
1.1.2 ARM单挑单片机
ARM不是单片机,准确来讲ARM是一种处理器的IP核。ARM公司开发出处理器结构后,开始向其他芯片厂商授权制造,芯片厂商可以根据自己的需要进行结构与功能的调整,因此实际中使用的ARM处理器有很多种类,主要有三星、飞利浦、ATMEL、INTEL制造的几大类,功能与使用上均不相同。ARM处理器核还可以嵌入到其它专用芯片中作为中央处理单元使用,例如飞利浦的MP3解码芯片就是采用ARM7核心的。ARM系列处理器很少集成片上硬件资源,更接近今天的处理器范畴,基本不被认为是单片机。
ARM 知识产权授权用户非常众多,其中包括世界顶级的半导体和系统公司。全球20 家最大的半导体厂商中有19家是ARM 的用户。这些合作伙伴通过使用ARM 低价高效的IP 核技术,研制生产微处理器、外围设备和系统芯片。迄今这些厂商共发售了超过10 亿个ARM 微处理器内核。
在软件设计方便,ARM和单片机也有很多不同,其中最大的不同是ARM引入了操作系统的概念,有了操作系统的支持主要有以下几个优势:
l 基于操作系统的支持可以很轻松写出多任务的复杂应用程序;
l 完善的文件系统的支持;
l 完善的网络协议支持;
l 很多开源软件的支持;
当然,除了带来的了优势以外,同样也带来了一些开发上的难度,例如:移植操作系统需要专业人员进行,开发人员需要熟悉操作系统,庞大的操作系统带来很大的系统开销等问题。
本书还是按照单片机的开发思路,让ARM来单挑单片机,看看究竟是谁更厉害。 通过这样的对比学习可以帮助读者了解ARM的接口编程技术,为以后基于操作系统的接口编程打下坚实的基础。当然,我们还是以介绍ARM的接口编程为主,穿插和单片机的对比学习。
分享到:
相关推荐
arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 ./arm-none-linux-gnueabi-gcc -v Using built-in specs. COLLECT_GCC=./arm-none-linux-gnueabi-gcc Target: arm-none-linux-gnueabi Configured...
arm-none-eabi-arm-2010-09-51-for-linux是另一种交叉工具链,安装之后可以使用anm-none-eabi-gcc等命令。 #mkdir /usr/local/arm #cp /mnt/hgxxx/arm-none-eabi-arm-2010-09-51-for-linux.tar.bz2 / #tar xvfj arm...
arm-none-linux-gnueabi-gcc.exe -v Using built-in specs. COLLECT_GCC=arm-none-linux-gnueabi-gcc.exe COLLECT_LTO_WRAPPER=d:/eclipse/cross/arm-2014.05-29/bin/../libexec/gcc/arm-none-linux-gnueabi/4.8.3/...
arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu 是由 CodeSourcery 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App...
《深入理解arm-none-eabi-gcc工具集合在MinGW环境中的应用》 在嵌入式系统开发领域,GCC(GNU Compiler Collection)是一个不可或缺的工具,它提供了编译、链接和其他必要的功能来创建软件。在MinGW(Minimalist ...
标题“arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.rar”所提及的是一个特定版本的ARM交叉编译工具链,适用于Linux操作系统。这个版本是2014年5月29日的更新,其全称暗示了它用于构建不带任何Linux...
ARM交叉编译器:arm-sgmstar-gnueabihf-9.1.0-202007-gcc 免安装压缩包:SSC357_arm-sgmstar-gnueabihf-9.1.0-202007.tar.gz
ARM Linux交叉编译工具链,arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
arm-linux-gcc交叉编译器,版本3.4.1,用于Linux下的ARM开发。 安装方法: 1. tar zxvf arm-linux-gcc-3.4.1.tgz -C/ 2. 编辑 ~/.bashrc ,加入 export PATH=$PATH:/usr/local/arm/3.4.1/bin 3. 验证安装 [root@...
arm-linux-gcc交叉编译器,版本3.4.1,用于Linux下的ARM开发。 安装方法: 1. tar zxvf arm-linux-gcc-3.4.1.tgz -C/ 2. 编辑 ~/.bashrc ,加入 export PATH=$PATH:/usr/local/arm/3.4.1/bin 3. 验证安装 [root@...
"ubuntu安装arm-none-linux-gnueabi交叉工具链" 本文主要讲解了如何在 Ubuntu 操作系统中安装 arm-none-linux-gnueabi 交叉工具链,包括下载交叉编译工具链、解压源文件、设置环境变量、使得环境变量生效、测试安装...
The GNU Embedded Toolchain for Arm is a ready-to-use, open source suite of tools for C, C++ and Assembly programming targeting Arm Cortex-M and Cortex-R family of processors. It includes the GNU ...
arm-none-linux-gnueabi-gcc-4.8.3 已验证可用,请放心使用。arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,...
《Windows环境下ARM交叉工具链——GCC-ARM-NONE-EABI详解》 在嵌入式开发领域,ARM架构因其高效能和低功耗的特性而被广泛应用。为了在非ARM平台上编译针对ARM处理器的代码,我们需要一个交叉编译工具链。GCC-ARM-...
本资源名称为arm-2013.11-arm-none-linux-gnueabi-4.8.1.zip,解压之后是一个arm-none-linux-gnueabi-4.8.1.tar压缩包,直接拷贝到linux操作系统下,解压到/usr/local/arm下,修改环境变量即可
标题“arm-linux-gcc-4.5.1-v6-vfp-20101103”指的是一款特定版本的ARM交叉编译工具链,由友善之臂公司提供。这个工具链主要用于将源代码编译为适用于ARM架构处理器,特别是ARM11内核的二进制代码。日期“20101103”...
The GNU Embedded Toolchain for Arm is a ready-to-use, open source suite of tools for C, C++ and Assembly programming targeting Arm Cortex-M and Cortex-R family of processors. It includes the GNU ...
ARM-Linux-GCC-4.6.4-arm-x86_64交叉编译器是为在基于x86架构的主机上构建针对ARM处理器的Linux应用程序而设计的工具链。这个工具链包括了编译器、链接器、库和其他必要的组件,使得开发者可以在不依赖目标硬件的...
arm-2013.11-33-arm-none-linux-gnueabi-i686-pc-linux-gnu