基于ARM的芯片多数为复杂的片上系统.

合集下载

ARM判断模考试题与参考答案

ARM判断模考试题与参考答案

ARM判断模考试题与参考答案一、判断题(共100题,每题1分,共100分)1、STM32F103ZET6芯片具有全球唯一A、正确B、错误正确答案:A2、并行通信时,各个位同时在不同的数据线上传送,数据可以字或字节为单位并行进行传输。

A、正确B、错误正确答案:A3、ARM指令是32位的,而Thumb指令是16位的。

A、正确B、错误正确答案:A4、STM32F103ZET6芯片具有单周期乘法指令和硬件除法器A、正确B、错误正确答案:A5、GPIO_Mode_IN_FLOATING是呈现高阻态的一种状态,存在不确定性的电压,常用于读取内部电路状态A、正确B、错误正确答案:B6、温度传感器DS18B20和红外接收头均为单总线传感器,其与CPU接线较为简单。

A、正确B、错误正确答案:A7、项目文件夹inc是include的缩写。

该子目录下存放STM32F10x每个外设库函数的头文件A、正确B、错误正确答案:A8、STM32每个中断通道对应唯一的硬件中断信号输入。

A、正确B、错误正确答案:B9、若定义任务task1的优先级为12,则不能再定义其他任务的优先级为12A、正确B、错误正确答案:A10、每一个晶振的两端分别接上两个22PF的对地微调电容A、正确B、错误正确答案:A11、嵌入式系统和通用计算机系统工作原理是相同的的A、正确B、错误正确答案:A12、STM32单片机低电平复位,电路其可以实现上电复位和按键复位A、正确B、错误正确答案:A13、CPU在执行中断处理程序之前要保存主程序中断处的地址。

A、正确B、错误正确答案:A14、嵌入式存储器的层次结构,由内而外,可以分片内存储器、片外存储器和内部存储器三个层次。

A、正确B、错误正确答案:B15、核心板电路就是单片机最大系统电路加上ISP下载电路A、正确B、错误正确答案:A16、Thumb指令集没有包含进行异常处理时需要的一些指令。

A、正确B、错误正确答案:A17、数码管采用的是共阳接法A、正确B、错误正确答案:A18、对于STM32开发板而言,它需要两个晶振,一个是系统主晶振,频率为8MHz,一个是实时时钟晶振,频率为32.768KHz。

全国计算机等级考试三级嵌入式系统开发技术题库第十一套

全国计算机等级考试三级嵌入式系统开发技术题库第十一套

一、选择题1. 嵌入式系统的应用极其广泛,下列设备:①洗衣机、②电饭煲、③服务器、④平板扫描仪、⑤路由器、⑥机顶盒、⑦巨型机、⑧POS机中,属于嵌入式系统应用的是:A) 除④和⑤之外B)除③和⑦之外 C) 除⑤和⑦之外 D) ①~⑧全部都是2. 嵌入式系统的软件大多存储在非易失性存储器中,即使断电也不会消失。

目前嵌入式系统使用最多的非易失性存储器是:A) Mask ROM B) Flash memory C) SRAM D) SSD3. 下图是数字信号处理器(DSP)的典型应用方式,其中的①、②和③分别是:A) 模拟信号、DSP、数字信号B) 模拟信号、DSP、模拟信号C) 数字信号、DSP、数字信号 D) 数字信号、DSP、模拟信号4. 片上系统(或系统级芯片)是目前广泛使用的一种嵌入式处理芯片,下面有关叙述中错误的是:A) 其英文缩写是SOC或SoC,它是电子设计自动化水平提高和大规模集成电路制造技术发展的成果B) 它已成为集成电路设计的发展趋势,现在许多嵌入式处理芯片都是片上系统C) 芯片中既包含处理器又包含存储器及外围电路,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能D) 智能手机已经广泛采用片上系统,平板电脑大多还使用传统的Intel处理器5. 在嵌入式系统(如数码相机)中,获取数字图像的过程大体分为四步,如下图所示,正确的处理步骤是:A) 取样、扫描、分色、量化 B) 分色、量化、扫描、取样C) 扫描、分色、取样、量化 D) 扫描、量化、取样、分色6. 数字音频的比特率(码率)指的是每秒钟的数据量,它与取样频率、量化位数、声道数目、使用的压缩编码方法等密切相关。

假设数字音频的比特率为32kb/s,其量化位数为8位,单声道,采用压缩编码,压缩比为2,那么取样频率是:A) 8 kHz B) 12 kHz C) 16 kHz D) 20 kHz7. 微波通信是利用频率为300MHz~300GHz电磁波进行的通信,它具有频带宽、容量大的特性,应用广泛。

CortexM3微控制器概述

CortexM3微控制器概述

基于ARM低成本和高效的处理器设计方案,得到 授权的厂商生产了多种多样的的处理器、单片机以及 片上系统(SoC)。这种商业模式就是所谓的“知识产权授 权”。
ARMv7架构的闪亮登场。在这个版本中,内核架构首次 从单一款式变成3种款式。
款式A:设计用于高性能的“开放应用平台”——越来越 接近电脑了
内建的嵌套向量中断控制器
Cortex-M3在内核水平上搭载了一颗中断控制器——嵌套向量中断控制器 NVIC(Nested Vectored Interrupt Controller)。
NVIC提供如下的功能: • 可嵌套中断支持 • 向量中断支持 • 动态优先级调整支持 • 中断延迟大大缩短 • 中断可屏蔽
存储器映射
从图中可见,不像其它的ARM架构,它们的存储器映 射由半导体厂家说了算, Cortex-M3预先定义好了“粗线条 的”存储器映射。通过把片上外设的寄存器映射到外设区, 就可以简单地以访问内存的方式来访问这些外设的寄存器, 从而控制外设的工作。
中断和异常
虽然CM3是支持240个外中断的,但具体使用了多少 个是由芯片生产商决定。 CM3还有一个NБайду номын сангаасI (不可屏蔽 中断)输入脚。当它被置为有效(assert)时, NMI服务 例程会无条件地执行。
开发工具
在开始使用Cortex-M3之前,需要准备好一些开发工具,典型的如: • 编译器/汇编器:把C和汇编源程序转换成目标文件。几乎所有的C编译器套件 都包含了对应的汇编器。 • 指令系统模拟器:模拟指令的执行,用于在软件开发早期的调试。 • 在 线 仿 真 器 ( ICE) 或 者 调 试 探 测 器 ( probe) : 连 接 到 电 脑 和 目 标 板 上 的 调 试 硬 件 , 与 目 标 板 的 接 口 通 常 是 JTAG或 SW。 • 一块开发板。 • 跟踪捕捉仪:可选的硬件设备和周边软件,可以用它来捕捉来自DWT以及ITM 的输出,并且以可读的形式显示出来。 • 嵌入式操作系统:在单片机上运行的操作系统。这也是一个可选件,许多简单 的应用程序不需要操作系统。但是在开发复杂度较高或者有高性能指标的系统时, 常常需要使用。

bootloader流程

bootloader流程

Bootloader 设计分析3.1 Bootloader 的操作模式 (Operation Mode)大多数 Bootloader 都包含两种不同的操作模式[2]:(1). 启动加载(Boot loading)模式:也称为“自主”模式。

即Bootloader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。

(2).下载(Downloading)模式:在这种模式下,目标机上的Bootloader将通过串口或网络连接等通信手段从主机(Host)下载内核映像和根文件系统映像等,然后保存到目标机上的FLASH 类固态存储设备中。

Bootloader的这种模式通常在系统初次安装和更新时被使用,工作于这种模式下的Bootloader通常都会向它的终端用户提供一个简单的命令行接口。

在我们的Bootloader设计中我们同时支持这两种工作模式,采用的方法是:一开始启动时处于正常的启动加载模式,但并不立即启动进入uClinux内核,而是提示延时5秒,等待终端用户如果按下某一特定按键,则切换到下载模式,否则继续启动uCLinux 内核。

3.2 Bootloader 的启动及初始化基于ARM的芯片多数为复杂的片上系统(SoC),这类复杂系统里的多数硬件模块都是可配置的[3]。

因此大多数 Bootloader 都分为 stage1 和 stage2 两大部分。

依赖于 CPU 体系结构的代码,通常都放在 stage1 中,而且在这一部分,我们直接对处理器内核和硬件控制器进行编程,因此常常都用汇编语言来实现。

而stage2则通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。

3.2.1 Bootloader的stage1这部分代码必须首先完成一些基本的硬件初始化,为stage2的执行以及随后的kernel 的执行准备好一些基本的硬件环境[2]。

Bootloader的stage1一般通用的内容包括:* 定义程序入口点* 设置异常向量表* 初始化存储系统(包括地址重映射)* 初始化有特殊要求的端口,设备* 初始化用户程序的执行环境* 初始化堆栈指针寄存器,必要时改变处理器的模式* 设置FIQ/IRQ中断处理程序入口* 进入C程序在整个Bootloader的初始化过程中我们都不必响应中断,因此首先禁止系统的中断,然后程序设置CPU的速度和时钟频率,设置CPU内部指令/数据cache,DRAM初始化,DRAM初始化完成后即可拷贝ROM中的代码到DRAM中,然后内存重映射,程序开始进入DRAM中执行,然后再初始化一些用户有特殊要求的端口、设备,比如LED或串口等,可以通过点亮LED,或者向串口打印一些调试信息,以此表明系统的状态是OK还是Error。

第2章 ARM微处理器概述

第2章 ARM微处理器概述


工业控制领域:
作为32位 的RISC 架构,基于ARM 核的微控制器芯片不
但占据了高端微控制器市场的大部分市场份额,同时也 逐渐向低端微控制器应用领域扩展,ARM 微控制器的低 功耗、高性价比,向传统的8 位/16 位微控制器提出了挑 战。

无线通讯领域:
目前已有超过85%的无线通讯设备采用了ARM 技术,
ARM体系结构的变种

(4)J变种(Java加速器Jazelle)
ARM的Jazelle技术将Java的优势和先进的32位RISC芯
片完美地结合在一起。Jazelle技术提供了Java加速功能, 可以得到比普通Java虚拟机高得多的性能。与普通的 Java虚拟机相比,Jazelle使Java代码运行速度提高了8 倍,而功耗降低了80%。 Jazelle技术使得程序员可以在一个独立的处理器上同时 运行Java应用程序、已经建立好的操作系统、中间件以 及其他的应用程序。与使用协处理器和双处理器相比, 使用单独的处理器可以在提供高性能的同时保证低功耗 和低成本。 J变种首先在ARM体系版本4TEJ中使用,用字母J表示。
使用电池供电的高性能的便携式设备。这些 设备一方面需要处理器提供高性能,另一方 面又需要功耗很低。SIMD功能扩展为包括音 频/视频处理在内的应用相同提供了优化功能。 它可以使音频/视频处理性能提高4倍。 Version 6首先在2002年春季发布的ARM11 处理器中使用。
2.2.3 ARM体系结构的变种及版本 命名格式
Version 4(v4)
该版本增加了下列指令:
半字加载和存储指令; 加载带符号的字节和半字数据的指令; 增加mb状态; 增加了处理器的特权模式。 该版本不再强制要求与以前的26位地址空间 兼容。

全国计算机等级考试_三级嵌入式_题库(含答案)

全国计算机等级考试_三级嵌入式_题库(含答案)

全国计算机等级考试三嵌入式系统开发技术题库第1套一、选择题1:嵌入式系统是一类特殊的计算机系统。

下列产品中不属于嵌入式系统的是()。

A:电饭煲 B:路由器 C:巨型机 D:POS机2:嵌入式系统硬件的核心是CPU。

下面关于嵌入式系统CPU特点的叙述中,错误的是()。

A:支持实时处理 B:低功耗C:字长在16位以下 D:集成了测试电路3:下面关于微控制器的叙述中,错误的是()。

A:微控制器将整个计算机硬件的大部甚至全部电路集成在一块芯片中B:微控制器品种和数量最多,在过程控制、机电一体化产品、智能仪器仪表、家用电器、计算机网络及通信等方面得到了广泛应用C:微控制器的英文缩写是MCUD:8位的微控制器现在已基本淘汰4:片上系统(SoC)也称为系统级芯片,下面关于SoC叙述中错误的是()。

A:SoC芯片中只有一个CPU或DSPB:SoC芯片可以分为通用SoC芯片和专用SoC芯片两大类C:专用SoC芯片可分为定制的嵌入式处理芯片和现场可编程嵌入式处理芯片两类D:FPGA芯片可以反复地编程、擦除、使用,在较短时间内就可完成电路的输入、编译、优化、仿真,直至芯片的制作5:数码相机是嵌入式系统的典型应用之一。

下面关于数码相机的叙述中,错误的是()。

A:它由前端和后端两部分组成,前端负责数字图像获取,后端负责数字图像的处理 B:后端通常是以嵌入式DSP作为核心的SoC芯片,DSP用于完成数字图像处理 C:负责进行数码相机操作控制(如镜头变焦、快门控制等)是一个32位的MCUD:高端数码相机配置有实时操作系统和图像处理软件6:电子书阅读器中存储的一本中文长篇小说,大小为128KB,文件格式为.txt,试问该小说包含的汉字大约有多少万字?()A:6万字 B:12万字 C:25万字 D:40万字7:数字视频信息的数据量相当大,通常需要进行压缩处理之后才进行传输和存储。

目前数字有线电视所传输的数字视频采用的压缩编码标准是()。

《ARM 白皮书—Cortex-M3 处理器简介》

《ARM 白皮书—Cortex-M3 处理器简介》
第 6 章 更快地投入市场...............................................................................................................18 6.1 简单、可配置的硬件设计和调试..................................................................................18 6.2 简易的应用程序开发......................................................................................................18
I
ARM 白皮书
第一章 简介
第1章 简介
基于ARM嵌入式处理器的片上系统解决方案可应用于企业应用、汽车系统,家庭网络 和无线技术等市场领域。ARM CortexTM系列提供了一个标准的体系结构来满足以上各种技 术的不同性能要求,其包含的处理器基于ARMv7 架构的三个分工明确的部分。A部分面向 复杂的尖端应用程序,用于运行开放式的复杂操作系统;R部分针对实时系统;M部分为成 本控制和微控制器应用提供优化。Cortex-M3 是首款基于ARMv7-M架构的处理器,是专门 为了在微控制器,汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应 用领域实现高系统性能而设计的,它大大简化了可编程的复杂性,使ARM架构成为各种应 用方案(即使是最简单的方案)的上佳选择。
1.3 针对敏感市场降低成本和功耗
成本是采用高性能微控制器永恒的屏障。由于先进的制造工艺相当昂贵,只有降低芯片 的尺寸才有可能从本质上降低成本。为了减小系统区域,Cortex-M3 处理器采用了至今为止 最小的 ARM 内核,该内核的核心部分(0.18um G)的门数仅为 33000 个,它把紧密相连的

ARM模拟试题(含答案)

ARM模拟试题(含答案)

ARM模拟试题(含答案)一、判断题(共100题,每题1分,共100分)1.STM32F103ZET6芯片只具有睡眠、停止两种低功耗工作模式A、正确B、错误正确答案:A2.OLED显示屏是利用有机电致发光二极管制成的显示屏A、正确B、错误正确答案:A3.并行通信:是指使用多条数据线传输数据。

并行通信时,各个位同时在不同的数据线上传送,数据可以字或字节为单位并行进行传输A、正确B、错误正确答案:A4.STM32开发板只需要接一个晶振A、正确B、错误正确答案:B5.NVIC集成在ARMCortex-M3内核中,与中央处理器核心CM3Core 紧密耦合,从而实现低延迟的中断处理和高效地处理晚到的较高优先级的中断。

A、正确B、错误正确答案:A6.晶震的作用是为STM32系统提供基准时钟信号A、正确B、错误正确答案:A7.蓝桥杯ARM嵌入式开发板主CPU设计了复位按钮A、正确正确答案:A8.STM32单片机低电平复位,电路其可以实现上电复位和按键复位A、正确B、错误正确答案:A9.借助GPIO,微控制器可以实现对外围设备(如LED和按键等)最简单、最直观的监控。

A、正确B、错误正确答案:A10.编译工程,如没有错误,则会在output文件夹中生成“工程模板.hex”文件,如有错误则修改源程序直至没有错误为止A、正确B、错误正确答案:A11.串行通信按照数据传送方向分为单工制式,半双工制式,全双工制式.A、正确B、错误正确答案:A12.SoC将嵌入式系统的几乎全部功能都集成在一块芯片中,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能A、正确B、错误正确答案:A13.电源故障、内存出错、总线出错等是可屏蔽中断。

A、正确B、错误正确答案:B14.端口号通常以大写字母命名,每个端口有16个I/O引脚B、错误正确答案:A15.嵌入式系统由硬件和软件两部分组成,硬件是基础,软件是关键,两者联系十分关键。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。

因此在用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。

由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。

一般通用的内容包括:
中断向量表
初始化存储器系统
初始化堆栈
初始化有特殊要求的断口,设备
初始化用户程序执行环境
改变处理器模式
呼叫主应用程序
1. 中断向量表
ARM要求中断向量表必须放置在从0地址开始,连续8X4字节的空间内。

每当一个中断发生以后,ARM处理器便强制把PC指针置为向量表中对应中断类型的地址值。

因为每个中断只占据向量表中1个字的存储空间,只能放置一条ARM指令,使程序跳转到存储器的其他地方,再执行中断处理。

中断向量表的程序实现通常如下表示:
AREA Boot ,CODE, READONLY
ENTRY
B ResetHandler
B UndefHandler
B SWIHandler
B PreAbortHandler
B DataAbortHandler
B
B IRQHandler
B FIQHandler
其中关键字ENTRY是指定编译器保留这段代码,因为编译器可能会认为这是一段亢余代码而加以优化。

链接的时候要确保这段代码被链接在0地址处,并且作为整个程序的入口。

2. 初始化存储器系统
(1)存储器类型和时序配置
通常Flash和SRAM同属于静态存储器类型,可以合用同一个存储器端口;而DRAM因为有动态刷新和地址线复用等特性,通常配有专用的存储器端口。

存储器端口的接口时序优化是非常重要的,这会影响到整个系统的性能。

因为一般系统运行的速度瓶颈都存在于存储器访问,所以存储器访问时序应尽可能的快;而同时又要考虑到由此带来的稳定性问题。

(2)存储器地址分布
一种典型的情况是启动ROM的地址重映射。

3. 初始化堆栈
因为ARM有7种执行状态,每一种状态的堆栈指针寄存器(SP)都是独立的。

因此,对程序中需要用到的每一种模式都要给SP定义一个堆栈地址。

方法是改变状态寄存器内的状态位,使处理器切换到不同的状态,让后给SP赋值。

注意:不要切换到User模式进行User 模式的堆栈设置,因为进入User模式后就不能再操作CPSR回到别的模式了,可能会对接下去的程序执行造成影响。

这是一段堆栈初始化的代码示例,其中只定义了三种模式的SP指针:
MRS R0,CPSR
BIC R0,R0,#MODEMASK 安全起见,屏蔽模式位以外的其他位
ORR R1,R0,#IRQMODE
MSR CPSR_cxfs,R1
LDR SP,=UndefStack
ORR R1,R0,#FIQMODE
MSR CPSR_cxsf,R1
LDR SP,=FIQStack
ORR R1,R0,#SVCMODE
MSR CPSR_cxsf,R1
LDR SP,=SVCStack
4. 初始化有特殊要求的端口,设备
5. 初始化应用程序执行环境
映像一开始总是存储在ROM/Flash里面的,其RO部分即可以在ROM/Flash里面执行,也可以转移到速度更快的RAM中执行;而RW和ZI这两部分是必须转移到可写的RAM里去。

所谓应用程序执行环境的初始化,就是完成必要的从ROM到RAM的数据传输和内容清零。

下面是在ADS下,一种常用存储器模型的直接实现:
LDR r0,=|Image$$RO$$Limit| ;得到RW数据源的起始地址
LDR r1,=|Image$$RW$$Base| ;RW区在RAM里的执行区起始地址
LDR r2,=|Image$$ZI$$Base| ;ZI区在RAM里面的起始地址
CMP r0,r1 ;比较它们是否相等
BEQ %F1
0 CMP r1,r3
LDRCC r2,[r0],#4
STRCC r2,[r1],#4
BCC %B0
1 LDR r1,=|Image$$ZI$$Limit|
MOV r2,#0
2 CMP r3,r1
STRCC r2,[r3],#4
BCC %B2
程序实现了RW数据的拷贝和ZI区域的清零功能。

其中引用到的4个符号是由链接器第一输出的。

|Image$$RO$$Limit|:表示RO区末地址后面的地址,即RW数据源的起始地址
|Image$$RW$$Base|:RW区在RAM里的执行区起始地址,也就是编译器选项RW_Base 指定的地址
|Image$$ZI$$Base|:ZI区在RAM里面的起始地址
|Image$$ZI$$Limit|:ZI区在RAM里面的结束地址后面的一个地址
程序先把ROM里|Image$$RO$$Limt|开始的RW初始数据拷贝到RAM里面|Image$$RW$$Base|开始的地址,当RAM这边的目标地址到达|Image$$ZI$$Base|后就表
示RW区的结束和ZI区的开始,接下去就对这片ZI区进行清零操作,直到遇到结束地址|Image $$ZI$$Limit|
6. 改变处理器模式
因为在初始化过程中,许多操作需要在特权模式下才能进行(比如对CPSR的修改),所以要特别注意不能过早的进入用户模式。

内核级的中断使能也可以考虑在这一步进行。

如果系统中另外存在一个专门的中断控制器,这么做总是安全的。

7. 呼叫主应用程序
当所有的系统初始化工作完成之后,就需要把程序流程转入主应用程序。

最简单的一种情况是:
IMPORT main
B main
直接从启动代码跳转到应用程序的主函数入口,当然主函数名字可以由用户随便定义。

在ARM ADS环境中,还另外提供了一套系统级的呼叫机制。

IMPORT __main
B __main
__main()是编译系统提供的一个函数,负责完成库函数的初始化和初始化应用程序执行环境,最后自动跳转到main()函数。

相关文档
最新文档