ARM嵌入式开发实例 第4章
- 格式:ppt
- 大小:640.50 KB
- 文档页数:59


浅谈 ARM 嵌入式系统
一、 嵌入式系统定义嵌入式系统是以应用为中心,以计算机技术为基础,
软硬件可裁剪,是对功能、可靠性、成本、体积、功耗等有严格要求的专用计
算机系统。嵌入式系统的应用日益广泛,可以说无所不在、无处不在,嵌入式
系统的快速发展也极大地丰富、延伸了嵌入式系统的概念。下面让我们一起认
识一下嵌入式系统。
二、 嵌入式系统组成
嵌入式系统一般指非 PC 系统,它包括硬件和软件两部分。硬件包括处理
器/微处理器、存储器及外设器件和 I/O 端口、图形控制器等。软件部分包
括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计
人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系
统控制着应用程序编程与硬件的交互作用。
三、嵌入式系统的核心是嵌入式微处理器。
四、任何嵌入式系统都包括硬件和软件两个方面。
1、硬件包括微处理器、存储器、I/O 端口和图形控制器等。在一片嵌入式处
理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心
控制模块。其中操作系统和应用程序都可以固化在 ROM 中。
2、软件包括操作系统软件和应用软件:应用软件控制着嵌入式系统的运作
和行为;而操作系统软件则为应用程序提供必要的底层支持,它一般是通过提
供应用编程接口(API)来实现的。
三、嵌入式的软硬件都有一下的特点:
1、硬件特点:
a、体积小,集成效率高。嵌入式系统总是去除冗余,力争最小的系统完成
ARM应用系统开发详解(入门资料)
第1章 ARM微处理器概述
本章简介ARM微处理器的一些基本概念、应用领域及特点,引导读者进入ARM技术的殿堂。
本章主要内容:
- ARM及相关技术简介
- ARM微处理器的应用领域及特点
- ARM微处理器系列
- ARM微处理器的体系结构
- ARM微处理器的应用选型
1.1 ARM-ADVANCED RISC Machines
ARM(ADVANCED RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
1991年 ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工 业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份 额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从 事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加 入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更 多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
1.2 ARM微处理器的应用领域及特点
1.2.1 ARM微处理器的应用领域
到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:
1、工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。
1. 做个最小系统板:如果你从没有做过ARM嵌入式开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,你的任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果你已有这些硬件的布线经验,这对你来讲是一件很容易的事情。
2. 写启动代码,根据硬件地址先写一个能够启动的小代码,包括以下部分:
初始化端口,屏蔽中断,把程序拷贝到SRAM中;完成代码的重映射;配置中断句柄,连接到C语言入口。也许你看到给你的一些示例程序当中,bootloader会有很多东西,但是不要被这些复杂的程序所困扰,因为你不是做开发板的,你的任务就是做段小程序,让你的应用程序能够运行下去
3. 仔细研究你所用的芯片的资料,尽管ARM在内核上兼容,但每家芯片都有自己的特色,编写程序时必须考虑这些问题。尤其是女孩子,在这儿千万别有依赖心理,总想拿别人的示例程序修改,却越改越乱。
4. 多看一些操作系统程序,在ARM嵌入式开发的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的原码。
5. 如果你是作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。先将原理图消化。这样你以后做设计时,对资源的分配心中有数。器件的DATSHEET一定要好好消化。
6.如果做软件最好对操作系统的机理要有所了解。当然这对软件工程师来说是小菜一碟。但如果是硬件出身的想做ARM嵌入式开发的人就有点费劲。
问: 做最小系统板是2层还是4层好?
答: 只有AT91可以用两层板,其他的最少4层;44b0的地和电源处理好也可用两层板;
谈四层板和33欧电阻:
选用四层板不仅是电源和地的问题,高速数字电路对走线的阻抗有要求,二层板不好控制阻抗。33欧电阻一般加在驱动器端,也是起阻抗匹配作用的;布线时要先布数据地址线,和需要保证的高速线;
(习题解答)第4章 嵌入式Linux程序开发基础
1、请查找资料,看看 GNU 所规定的自由软件的具体协议是什么?
(略)
2、什么是GCC?试述它的执行过程。
GCC(GNU C Compiler)是GNU项目所推出的功能强大、性能优越的多平台编译器。GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。因此特别适合在嵌入式系统开发编译应用程序。
GCC的执行过程要经历4个相互关联的步骤∶预处理、编译、汇编和连接。
(1)预处理阶段
在该阶段,命令GCC首先对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。
(2)编译阶段
接下来进行的是编译阶段,在这个阶段中,GCC 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后, GCC 把代码翻译成汇编语言。
(3)汇编阶段
汇编阶段是把编译阶段生成的“.s”文件转化成二进制代码的目标文件。
4)链接阶段
在链接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的函数库中链到合适的地方。
3、编写一个简单的C程序,输出“Hello,Linux.”,在Linux下用GCC进行编译。
设设编写的程序hello.c其源代码如下:
#include
int main()
{
printf("Hello,Linux.\n");
return 0;
}
编译为执行程序,其编译命令为:
gcc hello.o –o hello
运行该可执行文件:
./hello
Hello,Linux.
4、将例4-1中∑n=1+2+3+„„+100 求和运算的程序,编写一个Makefile文件,对其进行编译。
sum: ex_sum.o mysum.o