基于ARM的芯片多数为复杂的片上系统.
- 格式:doc
- 大小:28.50 KB
- 文档页数:3
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电磁波进行的通信,它具有频带宽、容量大的特性,应用广泛。
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。
全国计算机等级考试三嵌入式系统开发技术题库第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模拟试题(含答案)一、判断题(共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.嵌入式系统由硬件和软件两部分组成,硬件是基础,软件是关键,两者联系十分关键。
ARM判断模拟考试题与参考答案一、判断题(共100题,每题1分,共100分)1、STM32每个中断通道对应唯一的硬件中断信号输入。
A、正确B、错误正确答案:B2、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
这个主要是RTC的时钟源。
A、正确B、错误正确答案:A3、挂起任务和解挂任务的函数必须是成对出现的,否则会造成死锁A、正确B、错误正确答案:A4、ARM芯片本质上是一个32位复杂指令集(CISC)处理器架构A、正确B、错误正确答案:B5、ARM公司的ARM920T核采用了AMBA总线结构A、正确B、错误正确答案:A6、嵌入式系统是以应用为核心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,等多方面有严格要求的专用计算机系统。
A、正确B、错误正确答案:A7、CPU模块模块中STM32F103ET6集成了32位的ARMCortex-M3内核,最高工作频率可达72MHZ。
A、正确B、错误正确答案:A8、蜂鸣器的声音也可以通过PWM控制。
A、正确B、错误正确答案:A9、在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,BOOT1=0 BOOT0=1从用户闪存启动,这是正常的工作模式。
A、正确B、错误正确答案:B10、在嵌入式系统设计中可以通过ADC来测量电池电压A、正确B、错误正确答案:A11、串行通信:是指使用一条数据线,将数据一位一位地在这条数据线上依次传输。
A、正确B、错误正确答案:A12、STM32电源模块采用双电源供电方式A、正确B、错误正确答案:A13、24C02提供2048位的串行电可擦写可编程只读存储器(EEPROM),组织形式为256字×8位字长。
A、正确B、错误正确答案:A14、STM32F103ZET6芯片2.0V∽3.6V单一供电电源,具有上电复位功能(POR)A、正确B、错误正确答案:A15、STM32F103ZET6芯片内部集成了11个定时器A、正确B、错误正确答案:A16、从软件上看,嵌入式系统软件和通用计算机软件都可以划分为系统软件和应用软件两类A、正确B、错误正确答案:A17、S3C2410X有24个外部中断源A、正确B、错误正确答案:A18、使能时钟工作步骤是: 1、配置CPU主时钟的来源,以及主时钟的具体频率。
基于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()函数。