
本文共 15999 字,大约阅读时间需要 53 分钟。
一、选择题(10分)
1、下列描述不属于RISC计算机的特点的是( C)。
A.流水线每周期前进一步。 B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。// 指令长度固定,指令格式种类少,寻址方式种类少 D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。2、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以小端模式存储,则2000H存储单元的内容为( C)//小端格式是低字节存储在低地址中 大端高字节存储在低地址中(大端存储就是Ox02)
A、0x21 B、0x68 C、0x65 D、0x023、 RS232-C串口通信中,表示逻辑1的电平是(D)。逻辑“1”用负电平(-5-15V)表示;逻辑“0”用正电平(+515V)表示
A、0v B、3.3v C、+5v~+15v D、-5v~-15v4、 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。LSL#1逻辑左移1位
mov r1, #0b1 mov r1, r1, lsl#1 @r1的值最终为 0b10A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R25、 ARM9的IRQ中断的入口地址是( C )。
A、0x00000000 B、0x00000008 C、0x00000018 D、0x000000146、 S3C2440X I/O口常用的控制器是(D )。S3C2440A端口控制寄存器(GPnCON)端口数据寄存器(GPADAT至GPJDAT)端口上拉寄存器(GPBUP至GPJUP)
A. 端口控制寄存器(GPACON-GPJCON)和上拉寄存器(GPxUP)。 B. 端口数据寄存器(GPxDAT)。 C. 外部中断控制寄存器(EXTINTn)。 D. 以上都是。7、GET伪指令的含义是( A)GET(或INCLUDE)用于将一个文件包含到当前源文件。
A. 包含一个外部文件 B. 定义程序的入口 C. 定义一个宏 D. 声明一个变量
8、ADD R0,R1,#3 ;#3属于( A )寻址方式。立即数的要求是8位立即数(例:0xa8)或一个8位立即数的移位(例:0xFF00)。
A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址
9、ARM9的ARM指令集和Thumb指令集分别是( D )位的。
A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位10 、Cache用于存放主存数据、程序的部分拷贝,主存单元地址与Cache单元地址之间的交换用( A)完成。
A.硬件 B. 软件 C. 用户 D. 程序员11、 下列关于存储管理单元(MMU)说法错误的是(B )。
A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。 B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。 C. MMU提供了一些资源以允许使用虚拟存储器。 D. MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。12、 下列CPSR寄存器标志位的作用说法错误的是( D )。
A. N:负数 B. Z: 零 C. C:进位 D. V:借位 N——若运算结果为负责置一,否则为零; Z——若运算结果为零则置一,否则为零; C——对于加法:若运算有进位置一;对于减法:若有进位则置零; V——运算有溢出则置一。13、如果要实现将R2-R7、R9-R12的值保存到R0指向的存储单元中,且R0自动加,下面哪个选项是正确( B )。
A. LDMIA R0!,{R2-R7,R9-R12} B. STMIA R0!,{R2-R7,R9-R12} C. LDMIA {R2-R7,R9-R12}, R0! D. STMDB R0!,{R2-R7,R9-R12}14、ARM9 的IRQ中断的优先级别是( D )。
A. 1 B. 2 C. 3 D. 4 a 15、 LDR R2,[R3,#0x28] 中[R3,#0x28]的寻址方式是( C )。 A. 寄存器寻址 B. 寄存器移位 C. 寄存器变址寻址 D. 间接寻址16、 ARM9处理器的工作模式有( C )种。
A. 5 B.6 C. 7 D.817、伪指令 LDR R0,=SP_TOP进行编译后编译成的指令为( )。
A. LDR R0,SP_TOP B. LDR R0,[PC,#rel] C. LDR R0,[R15] D. LDR R0,[R13]18、S3C2440自带一个( D )A/D转换器。s3c2440集成了8通道10位CMOS A/D转换
A. 8路8位 B. 1路10位 C. 8路16位 D. 8路10位19、每一次对触摸屏的触摸产生( )中断。
A. 一次 B. 二次 C. 三次 D. 四次20、NAND Flash是( )。
A. 地址线和数据线复用8bit宽 B. 地址线与数据线是分开的 C. 地址线的多少取决于容量的大小 D. 数据线是16位的21、 S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为( C )。
A. SCL和RTX B. RTX和RCX C. SCL和SDA D. SDA和RCX22、向无任何程序的目标机写入程序,一般使用下面那种接口( B )。
A. 串口 B. JTAG C. Ethernet D. USB23、ARM支持存储器( D )。
A. 小端方式 B. 大端方式 C. 只支持小端方式 D. 上电启动默认的是存储器小端方式,可以通过对MMU的R1控制寄存器的第7位B进行设置成大端方式 24、ARM的堆栈生成方向是( C )。当堆栈由低地址向高地址生成时,称为递增堆栈,当堆栈由高地址向低地址生成时,称为递减堆栈样就有四种类型的堆栈工作方式,ARM微处理器支持这四种类型的堆栈工作方式 A. 向下生成 B. 向上生成 C. 在指令中指出堆栈的生成方向 D. 固定的25、ARM9中断源挂起寄存器(SRCPND)和中断挂起寄存器(INTPND)的位清零是(A )。
A. 该对应位或1 B. 该对应位写0 C. 所有位写0 D. 所有位写1 此寄存器在中断服务程序中对相应的中断挂起位清零,清零的方式是对该位写1,写零的位不影响26、27、关于IIC总线不正确的叙述是( C )。
A. IIC总线的每条指令是以开始条件开始,以结束条件结束。 B. IIC总线的发送器每发完送一个字节,将数据线释放(即将数据拉高),由Master产生第9个时钟脉冲,接收器将数据线拉低,以此作为对发送器的应答。 C. IIC的器件地址是64bit。 D. IIC的器件地址是8bit,其中高4bit是器件类型。27、关于Kei的不正确说服是( )。
A. Keil5.0以下只支持到Cortex M3/M4。 B. Keil5.0以上版本的仿真器驱动程序在安装程序里自带。 C. 使用Keil5.0以上版本除了需要keil还需要安装芯片支持包。 D. Keil5.0以下版本需要安装芯片支持包。 28、IIC有器件地址为一个字节。我们所做的IIC实验中所用芯片是24CM01,该芯片的页(Page)是256字节。该芯片的容量是 字节,m该芯片内部是 地址线。在读写该芯片时A16地址是在 中。如果往该芯片的地址为0x120,写入长度为0x100字节,则需要 次写入;第一次起始地址 ,长度为 ;第二次起始地址 ,长度为 。(8分)二、判断题(20分)
1、调试程序时,需要暂停或单步执行程序运行后才可查看变量内容(对 )
2、将模拟信号转换成数字信号的电路是D/A转换器。(错 ) 3、IIC是同步串行数据总线。( 对 ) 4、S3C2440的处理器对内存RAM的访问只能通过Load/Store指令来实现。( 对 ) 5、Nand Flash比Nor Flash成本高,可靠性差。( 错 ) 6、C语言程序可以嵌套加入汇编程序模块。 ( 对 ) 7、ARM9中由某一中断源引发中断时,该中断源在中断源挂号寄存器和中断挂号寄存器的置位是由硬件在中断发生时自动清除。( )中断挂号寄存器是硬件提出中断申请后在相应的对应位置1,再排队响应中断 8、由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。( 对) 9、ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。(对 ) 10、ARM9的定时器输出可由软件换相。( ) 11、ARM9中断只能由硬件中断源的中断请求产生,无法通过软件在挂起寄存器写1来触发中断。( ) 12、每个PWM定时器的输入时钟有二级分频可设置,因此,定时范围很宽。( ) 13、DMA请求只能由DMA硬件源产生。( ) 14、设5级流水指令LDR R0,[PC,#0x28]的首地址addr,则本条指令是将[addr+0x28+4]中的内容送R0。( )正确值是[addr+0x28+20],即5级流水*4 15、ARM9的定时器是16位的加1计数。( ) 16、ARM9的FIQ中断可以同时设置多个中断源。( 错 ) 17、当TCNTn 到达0 时,发出中断请求并且TCNTBn 的值加载到暂存器中。在下一个定时器标记时刻,重载TCNTn为暂存器(TCNTBn)的值。( ) 18、ARM9的IQR中断只能允许设置一个中断源。( ) 19、ARM中每个PWM定时器设有定时计数缓冲器TCNTBn、比较寄存器TCMPBn和计数监视寄存器TCNTOn和计数寄存器TCNTn。( ) 20、ARM如果要开放某一中断源(允许中断),是在中断屏蔽寄存器中的该中断源的对应位写1。( ) 21、ARM9的第一级中断(即大类中断)的入口是固定的。( ) 22、Nand Flash的数据线与地址线是分开的。(错 )NAND flash共用地址线和数据线 23、Nor Flash是线性地址存储器。( 错 )数据的存取不是使用线性地址映射,而是通过寄存器的操作串行存取数据。 24、程序能直接在Nand Flash中执行。( 错 )用户不能直接运行NandFlash上的代码 NOR Flash 的特点是芯片内执行,这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中 25、Nor Flash的数据线与地址线是复用的。(错 )NAND flash的IO端口采用复用的数据线和地址线 26、ARM9的中断源挂起寄存器(SRCPND)中的位是写1清零。( ) 27、ARM9的中断挂起寄存器(INTPND)中的位是写零清零。( ) 28、ARM9的中断模式寄存器(INTMOD)能同时设几位为1。( 错 ) 29、IIC总线是四根线的总线。( 错 )总线仅由两根线组成:一根叫串行时钟线(SerialCLOCkLine),常用SCL表示:另一根叫串行数据线(SerialDataLine),常用SDA表示 30、ARM9是3级流水。( 错)五级 31、中断屏蔽寄存器(INTMSK)对FIQ中断不起作用。( 对 ) fiq的优先级高于irqIRQ模式只能被FIQ模式打断,FIQ模式下谁也打不断 32、ARM9的FIQ中断只能允许设置一个中断源。( 对 )因为同一时间只能有一个中断可以被设成快速中断 33、ARM9有调用和返回指令。( ) 34、ARM9的IRQ中断优先级管理是将32个主中断源分成6个小组(ARBITER0~ARBITER5),小组内的优先级可以设置,再将这6个小组纳入ARBITER6,进行组间的优先级设置。( ) 35、PWM定时器中的死区设置的作用是电平在转换时防止电源短路。(对 )在电平翻转时插入一个时间间隔,避免关闭前一个设备和打开后一个设备时因为开关速度的问题出现同时开启状态而增加负荷的情况(在没有彻底关闭前打开了后一个设备),尤其是电流过大时容易造成短路等损坏设备 36、ARM的IIC控制器中的IIC总线地址寄存器(IICADD)是用在IIC的从控方式(Slave)的,作为其他主机访问的地址;在主控方式(Master)时IICADD不起作用。( ) 37、在A/D转换器中,逐次逼近的A/D转换器的转换速度要快于双积分A/D转换器。( 对 ) 38、在A/D转换器中,逐次逼近的A/D转换器的抗干扰性要好于A/D转换器双积分。( 错 ) 39、ARM9定时器中的配置寄存器TCFG0的是用来设置计数时钟的预分频和死区的。( 对 ) 40、ARM9定时器中的配置寄存器TCFG1的是用来设置各定时器时钟分频值和定时器的DMA设置的。( 错 )TCFG0管理预分频Prescaler 0、Prescaler 1和死区;TCFG1管理每个定时器的分频值。 41、ARM9的FIQ中断可以同时设置多个中断源。( ) 42、ARM9的IQR中断只能设置一个中断源。( ) 43、ARM9中每个定时器设有定时计数缓冲器TCNTBn、比较寄存器TCMPBn和计数监视寄存器TCNTOn和计数寄存器TCNTn。( ) 44、ARM9中由某一中断源引发中断时,该中断源在中断源挂号寄存器和中断挂号寄存器的置位是由硬件在中断发生时自动清除。( )Cortex M7在中断发生时,中断服务子程序中只需要软件清除外部中断挂起位,硬件自动清除源挂起位和中断挂起位;ARM9需要在中断服务程序中使用指令清除源挂起位、中断挂起位。写1的位清零 ARM9、M7的中断源挂起寄存器、中断挂起寄存器不能通过软件给相应位置“1” 45、可以通过软件设置ARM9的中断源挂起寄存器的某一位,来触发该硬件中断源的中断一次。( ) 46、ARM汇编指令的每条指令都可以条件执行。( ) 47、ARM9中断发生后在中断服务程序中对该中断的各挂起寄存器相应位写1来清除该挂起。( ) 48、ARM9如果要开放某一中断源(允许中断),是在中断屏蔽寄存器中的该中断源的对应位写1。( ) 49、ARM的端口地址、特殊功能寄存器地址与存储器空间地址是属于同一个地址空间,在地址空间的高端地址位置。( ) 50、ARM9的PWM定时器能控制周期与占空比。( ) 51、ARM Cortex-M4/7 有三种类型的总线,分别用于指令(代码) (IB) 访问、数据(DB) 访问以及系统(SB) 访问。这3条总线中每条总线里都有独立的地址线、数据线、控制线。( ) 52、ARM9中FIQ中断类似于其它CPU里的非屏蔽中断。不同的是ARM9中FIQ的中断源可通过软件设置不同的中断源。 53、ARM9的每个中断源的中断优先级是可以软件设置的。设置的方法是将IRQ的所有中断源分成6个小组(ARBITER0~5),再把所有的小组输出分在另外一个小组里(ARBITER6),小组内的中断优先级顺序可设置,这样达到中断优先级可设置的目的。( ) 54、在ARM9中的地址和数据都是32bit的,ARM9的每条指令长度也是固定的32bit,在汇编指令中的立即数只能是能通过左移或右移表示成的短立即数,在指令的操作中最终将该短立即数还原成32bit的立即数。( ) 55、多层AHB总线矩阵为并发操作提供了可能。能在同一时刻由2个CPU核同时对同一块内存空间进行操作。( ) 56、Cortex M7在编程风格上与ARM9不同。Cortex M7是使用结构来对寄存器进行操作的。( ) 57、Cortex M7的中断优先级寄存器有很多个,每一个优先级寄存器管理4个中断源的优先级。( ) 58、Cortex M7的中断向量地址表的入口地址可以通过写入VTOR寄存器里的内容来进行改变。( ) 59、ARM9中断源优先级是通过对中断源的分组改变组间与小组内的优先级。( ) 60、Cortex M7的外部中断挂起寄存器(EXTI_PR)可以通过软件给相应位置“1”,以此来模拟一次外设的中断请求。( ) 61、ARM Cortex 的中断有抢占式中断优先级(Preemptive Priority)、响应中断优先级(Subpriority)和优先级分组的概念(如NVIC_PriorityGroup_0)。提出以上概念的目的是为了避免中断嵌套太多 ( ) 62、VNIC的响应中断优先级的概念类似于MCS-51的中断优先级查询顺序。( ) 63、NVIC的中断优先级分组实际是指抢占式中断优先级所用的位数,其余位数用于响应中断优先级。( ) 64、Cortex M7是6级流水,指令执行速度相对同等时钟情况下没有流水的速度提高了6倍。 ( ) 65、uCOS iii的任务有返回值。 ( ) 66、uCOS iii的任务一旦产生,在该任务删除以前,该任务一直存在于内存中,只要条件具备,该任务就会一直运行。 ( ) 67、μCOS iii没有最大任务数限制,支持同优先级的时间片轮转任务调度。( ) 68、Cortex M系列没有FIQ中断的概念,但有非屏蔽中断。( ) 69、1是对称传输。 ( ) 70、uCOS iii的任务如果只需要执行一次,需要在该任务中对该任务自身进行删除。( ) 71、uCOS iii中空闲任务的优先级是所有任务中优先级级别最低的。( ) 优先级 0:中断服务管理任务 优先级 1:时钟节拍任务 优先级 2:定时任务 优先级 3:开始任务 优先级OS_CFG_PRIO_MAX-2 :统计任务 优先级OS_CFG_PRIO_MAX-1 :空闲任务三、问答题(60分)55道
1、画出ARM Cortex M7的IIC总线与24CM01接口(24CM01为128KB),在接地时的随机连续读时序图(开始条件用S表示,应答用A表示,不应答用/A表示,器件地址用Device_addr表示,读写地址用Addr-F(高8bit地址)和Addr_S(低8bit地址)表示低16位地址,第17位(bit)地址使用A16表示,数据用Datai表示,结束条件用P表示)。注:在读的最后一个字节时发送器不需要应答,只需要有Master发出的第9时钟脉冲即可。
2、论述向IIC总线接口的芯片24CM01(页的大小为256字节)写一块数据大概分哪几小块数据写入?该芯片的容量大小是多少? 3、CPSR与SPSR相互之间存在什么样的关系? 保护程序状态寄存器SPSR(Saved Program Status Register)是在处理器系统模式下保存当前程序状态寄存器CPSR的内容。 3、简述SD、SDHC、SDXC卡在容量上的主要区别。 SD最大容量为2GB。 SDHC最大的特点就是高容量(2~32GB) SDXC存储卡理论容量是32G~2TB 4、SD卡3.0的标准最小容量是多大? 32G 5、SD卡有几根线?SD现在最新标准是多少?用什么符号表示?最小容量是多大? 4条线 Ver.3.00 SDXC 32G 6、USB接口中OTG(On The Go)是什么概念?(PPT没找到,百度的) 其是USB 2.0规格的补充标准。它可使USB设备,例如播放器或手机,从USB周边设备变为USB主机,与其他USB设备连接通信。 7、IIS总线的作用是什么? IIS(Inter-IC Sound)专责于音频设备之间的数据传输。 8、嵌入式实验超级终端设置的波特率是多少? 115200 9、超级终端或串口调试助手的作用有哪些?(源于百度) 能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。 10、RS-232C标准与RS-485标准主要异同有哪些?(百度) RS-232-C是一种串行物理接口标准。其总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现。RS-232-C标准规定了数据传输的速率。同时RS-232-C传输距离短。 RS-485总线通信距离一般为为几十米到上千米。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。RS-485采用半双工工作方式。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。 11、现场总线Profibus与RS-485总线的主要区别是什么?(百度) 485规定的是通信接口硬件连接的物理规范,而PROFIBUS就是软件约定,是传输和应用层协议,用于对话和表示的高层应用。 12、已知R13等于0x8800,R0、R1、R2的值分别为0x01、0x02、0x03。试说明执行以下指令后寄存器和存储内容如何变化。 STMFD R13!,{R0-R2} 0x8800 0x87FC 0x87F8 0x87F4 R13 R0 R1 R2 13、在DDR中什么叫突发长度(Burst Lengths)?(百度) 突发传输周期 14、Nand Flash中一页的概念是什么? 页是读写操作的最小单位(块是NAND Flash擦除操作的最小单位) 15、IIC的芯片(如24C08)中页概念是什么?(答案不怎么对) 24C08容量为8K(1024×8);每页256字节,共分4页 16、以自己对IIC的理解,阐述IIC的基本概念。 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。其最主要的优点是其简单性和有效性,I2C规程运用主/从双向通讯。 17、IIC总线的器件地址中的器件类型是几位? 由7位地址和1位传输方向标志(表现为读或写)组成 18、简述IIC总线原理。 IIC总线是一种高效,实用,可靠的串行数据传输结构总线,该总线使各电路分割成各种功能的模块,并进行软件化设计,各个功能模块电路内都有集成一个IIC总线接口电路,因此都可以挂接在总线上,很好的解决了众多功能IC与CPU之间的输入输出接口,使其连接方式变得十分简单。IIC总线上的器件分为主控器和被控器两大类它们之间只要在正常工作,总有一个IIC在总线上发送信息数据。 19、Nand Flash中块(Block)的概念是什么? 块是NAND Flash擦除操作的最小单位 20、SPI芯片(如X5045)中页概念是什么? 21、为什么IIC的器件地址是一个字节,而一线总线器件地址是64 bit?(没找到答案) 从IIC的2根线变成一线总线,没有了时钟线。变成复位命令、ROM命令、RAM命令。器件ID由IIC的1个字节器件地址变成了48bit。 22、Nand Flash的擦除是按什么的大小进行的? NOR Flash有Sector和Bank的概念。一个Bank包含几个Sector,擦除一般是按Sector的大小进行的(NAND的读写是按页(Page)进行的。页的概念也是存储器矩阵列地址宽度) 23、ARM9是几级流水? ARM9是5级流水(ARM7是3级流水,分别是取指、译码和执行;ARM9是5级流水,分别是取指、指令译码、执行、数据缓存和写回;ARM10、ARM11、M0、M1、M3、M4是三级流水。M0+是二级流水。Cortex M7是6级流水。流水越多,速度越快。) 24、用自己对ARM结构的理解解释为什么在ARM中没有设返回指令? 25、写出一句后索引寻址的指令。 LDR R0, [R1], #4(前索引寻址方式:基址带偏移作为传送地址;后索引寻址方式:基址不带偏移传送地址,且传送后自动更新基址寄存器) 26、嵌入式系统设计实验课所用开发工具(编程工具软件)是什么? Keil uVision5 27、说明下列指令的含义和可能的执行过程。其中LOOP为已定义的行标号。 BEQ LOOP cmp的结果为0,或者CPSR的Z标识位为1时跳转到LOOP (补充:beq run_on_dram” 如果 r0 - r1 = 0 ,程序跳转到run_on_dram处,再向下执行,此时CPSR的Z标识位为1,我们可以理解为:cmp的结果为0,或者CPSR的Z标识位为1时,程序跳转到beq 后的标签处; “bne clear_loop” 如果 r0 - r1 != 0 ,程序跳转到clear_loop处,再向下执行,此时CPSR的Z标识位为0,我们可以理解为:cmp的结果为1,或者CPSR的Z标识位为0时,程序跳转到bne 后的标签处) 28、ARM9能否由软件设置中断挂起寄存器的某一位为1来模拟一次外设的中断? 29、ARM9的IO端口初始化与Cortex M7的IO端口初始化有什么不一样? (每个通用I/O端口包括4个32位配置寄存器(GPIOx_MODER、GPIOx_OTYPER、GPIOx_OSPEEDR和GPIOx_PUPDR)、2个32位数据寄存器(GPIOx_IDR和GPIOx_ODR)、1个32位置位/复位寄存器(GPIOx_BSRR)、1个32位的GPIO端口配置锁定寄存器(GPIOx_LCKR)和2个32位的GPIO复用功能寄存器(GPIOx_AFRL、GPIOx_AFRH)。即每个端口有10个32位的寄存器) (Cortex M7初始化流程:使用assert_param()检查GPIO端口参数的合法性;确定要初始化的引脚Pin;初始化GPIO端口复用功能寄存器Alternate;初始化GPIO模式寄存器Mode(类似按多态思想进行处理,配置 IO 方向模式 (Input, Output, Alternate or Analog));配置GPIO上拉或下拉;配置外部中断。) 30、ARM9的PWM定时器在一个周期内有几种可控状态? 31、ARM9的 除GPA的每个IO端口是1bit的功能选择,其余的IO端口GPB~GPJ的每位功能选择是几bit? 30、在操作系统(如μCOS iii)中什么情况下发生任务调度? uC/OS-III为了解决问题,需要执行很多任务,当任务过多时,就需要任务调度 31、在操作系统(如μCOS iii)中什么叫临界段? 临界段是进入关键的一段代码的位置,不允许进行任务调度,需要锁调度器。 32、在操作系统(如μCOS iii)中创建空闲任务的作用是什么? 在无其它任务时调用 33、在嵌入式系统中使用操作系统有什么作用? 有了操作系统,用户实现一个复杂的系统,就不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点地连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性,提高了设计生产效率。 34、任务与子程序有什么不同? 任务就是线程。不同于子程序,不返回,也没有返回值。就绪运行,等待条件就睡眠。 35、作为嵌入式应用的智能手机,操作系统有android(Google)、iOS(Apple),为了避免手机感染病毒,安全问题是怎么解决的? 对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障 36、android的内核是属于linux,linux属于免费操作系统。为什么android手机生产厂商还需要找Google发牌照并付费? 基于linux开源内核开发的Android系统,内核是免费的,但谷歌开发出来的产品是可以收费的。 37、μCOS中任务同步使用两种方式信号量和事件标志组。如果使用信号量同步,等待一个信号量使用什么函数? 书 283 38、μCOS中任务同步使用两种方式信号量或事件标志组。如果使用信号量同步,提交一个信号量使用什么函数? 书 283 39、什么叫中断回调函数?操作系统定义的缺省与用户定义的中断回调函数,是怎样避免重复定义的? 书 129 当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数。但是有些库函数(library function)却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数(callback function)。 回调函数的原理是使用函数指针实现类似“软中断”的概念。 比如在上层的两个函数A和B,把自己的函数指针传给了C,C通过调用A和B的函数指针达到“当做了什么,通知上层来调用A或者B”的目的。 从更底层的角度上,代码之间都是在一段程序里面或者可以理解为一致代码段的跳转。通过标准的call ret就可以实现的。 |–upper layer–|--lower layer–| 40、在操作系统(如μCOS iii)中,什么叫上下文切换? 在任务切换时任务控制块在内存中切换。 41、简述ARM Cortex独占指令和屏蔽指令的作用。 书40 42、简述ARM9的GPIO管理与Cortex M7的GPIO 管理的不同。 书83 89 43、简述STM32中抢占式优先级(Preemptive priority)、响应优先级(Subpriority)和中断优先级分组的概念。 书119 44、已知ARM9的指令为5级流水,设指令LDR R0,[PC,#0x24]的首地址是Addr,则在执行这条指令时,PC的实际值是多少? 45、从CPU的发展历程,阐述MCS-51、MCS-96、ARM9、ARM cortex M7的特点(从寄存器、IO、存储器编址、IO、中断、定时器等角度)。 46、CPU的流水级数与CPU性能的关系? 流水线级数越多,性能越好 47、DMA操作与中断操作有何异同?为什么在DMA中还要使用中断? DMA有两种方式,一种是查询方式,一种是中断方式。查询方式是通过查询标志位来判定DMA结束,中断方式是DMA结束的时候返回中断,在程序中不需要一直查询标志位。 DMA与中断的区别⑴中断方式是在数据缓冲寄存器满之后发出中断,要求CPU进行中断处理,而DMA方式则是在所要求传送的数据块全部传送结束时要求CPU 进行中断处理。这就大大减少了CPU进行中断处理的次数。⑵中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下,不经过CPU控制完成的。这就排除了CPU因并行设备过多而来不及处理以及因速度不匹配而造成数据丢失等现象。 常用的设备和CPU之间数据传送控制方式有4种,它们是程序直接控制方式、中断控制方式、DMA方式和通道方式。程序直接控制方式和中断控制方式都只适用于简单的、外设很少的计算机系统,因为程序直接控制方式耗费大量的CPU时间,而且无法检测发现设备或其他硬件产生的错误,设备和CPU、设备和设备只能串行工作。中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且能够并行操作的设备台数也受到中断处理时间的限制,中断次数增多导致数据丢失。DMA方式和通道方式较好地解决了上述问题。这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。 48、实验中超级终端或串口调试助手的串行通信设置有哪些,具体是怎样设置的? 波特率115200 、1 位停止位、无校验位、无硬件流控制 49、为什么ARM Cortex要将外部中断分为抢占式优先级(Preemptive priority)和响应式优先级(Subpriority,注意:这里不翻译为“子优先级”)(即这样划分的目的)。 书119 抢占优先级的级别高于响应优先级。而数值越小所代表的优先级就越高。 高的抢占式优先级可以打断低的抢占式优先级,故名抢占;而在抢占式优先级相同的情况下,响应优先级越高,同时发生则先响应它,但是不能打断低响应优先级,响应表达的是响应速度。 在解释一下这里的两点:第一,如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行;第二,高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。而抢占优先级相同的中断,高优先级的响应优先级不可以打断低响应优先级的中断。 50、工业以太网profinet与普通以太网的异同点有哪些? 书232 51、简述ARM9中断挂起寄存器(SRCPND、INTPND)的作用。 书105 硬件提出申请后正在相应的对应位置置1,再排队响应中断 52、简述ARM9中断优先级寄存器(PRIORITY)的作用。 书105 决定中断排队响应的顺序 53、DMA控制器主要应解决几个主要问题是什么? 书162最后一段 54、简述Cortex M系列与ARM9在中断管理系统上(如中断优先级管理、中断使能管理、外部中断引脚管理)的最大不同。 书115第一段 55、IC制造有个摩尔定律,其实整个IT业都有类似摩尔定律。对于IC制造业主要是指制造集成电路的制程每一代尺寸比上一代缩小30%,时间为18个月至24个月,企业只有遵守摩尔定律IC才会有活力,不会被淘汰。作为IT业的大学生你谈谈你该如何适应这一定律?今年(2018年)的最新制程是7nm。 一是,它不仅营造了全球半导体产业新的增长点,而且在信息技术与通信技术相融合的领域,具有培育起新兴战略产业的巨大现实和潜在驱动力。 二是,它为如中国为代表的发展中国家,在新兴市场中应对挑战、持续推进本国半导体产业、建立自主可控的创新体系指明了一条产品多功能化、以成本为推动力的高效路径。总之,“后摩尔定律”告知世界,全球半导体行业是一个充满了活力和创造力的行业,摩尔定律揭示的创新精神,将不断地推动行业持续创新。四、指出下列指令中带下划线的操作数的寻址方式或操作符的含义(10分)
1、LDMIA R0,{R1-R5} ;块拷贝寻址
2、LDR R0,[R1,R2] ;基址加索引寻址 3、LDR R0,[R1],#4 ;后索引寻址 4、LDR R0,[R1+4]! ;前索引寻址 5、STR ;写入普通/不可cache的内存 6、STMIA ;将操作数2拷贝到操作数1指向的位置,指针+ 7、LDMFD ;将操作数2从堆栈恢复POP,指针+五、编程(20分)
1、ARM9的中断服务程序一般就是清相应的中断源挂起寄存器rSRCPND和中断挂起寄存器rINTPND,并设置相应的中断发生标志ready。请用C语言编写IIC读写的中断服务程序。可能用到的表达式有1<<INT_IIC。
2、用汇编语言(ARM指令)设计程序实现2+4+6+…+2N。可能用到的指令ADD、MOV、CMP、BNE等。
3、用C语言编写ARM9端口编程的初始化程序(如Port B的GPB7,GPB8输出)。Port B端口控制寄存器rGPBCON,输出:01。可能用到的表达式有~((3<<14)|(3<<16))、(1<<14)|(1<<16)。
4、利用S3C2440的GPF4、GPF5、GPF6、GPF7四个I/O管脚控制4个LED发光二极管,用C语言编程使其实现所有LED全亮(输出0),间隔一段时间,所有LED全灭(输出1)。用到的寄存器为rGPFCON、rGPFUP、rGPFDAT。Port F为 8 bit(07)。可能用到的表达式有(0xFF<<8)、(0x55<<8)、0x0、0xF0、0xFF。(端口控制寄存器输出:01,端口上拉寄存器,不上拉:1)
六、多选填空题(10分)
1、ARM公司形成大规模销售的芯片系列发展顺序是(Cortex A系列、R系列、M系列(M0\M3\M4\M7\M23\M33))。
2、ARM9的PIO命名是(GPxXXX ),Cortex M7的PIO命名是(GPIOx_XXX)。 3、DMA申请响应操作过程是(DMA响应操作(CPU释放三总线,DMA控制器接管三总线,完成DMA规定的操作,DMA总线释放))。 4、中断申请响应操作过程是(中断挂号登记、申请排队)。 5、手机等移动设备上常用的数据库有(SQLite)。 6、常用的软件版本管理工具有(Git)。 7、DMA请求线的概念是Cortex (M4)才有。 8、向无如何程序的目标机写入程序的接口有(JTAG)。 9、Cortex M7的中断向量地址表在()文件中。 Cortex M7新设了一个VTOR寄存器(Vector Table Offset Register),可以用来改变中断向量地址表的入口地址,这样可以使中断向量地址表在RAM中,来方便调试 ;ARM9的IRQ中断发生时需要在中断程序中计算并查表中断程序入口地址。 10、Cortex M7在运行时首先运行(Startup_stm32F756xx.s)文件。 11、AES加密的4轮运算是(S盒、轮密钥加、行移位、列混合)。 12、非对称加密的算法有(RSA、DSA、ECC/ECDH/ECDSA、Elgamal、背包算法)。 13、ARM指令中相对地址占用(24)bit。 14、μCOS iii的任务分为(无限循环)的任务与(只执行一次)的任务。无限循环的任务要么在运行要么在等待运行的条件(即睡眠)。只执行一次的任务需要在任务执行完后,在该任务里的后面自己删除该该任务(即调用OSTaskDel())。供参考选择有:
GPIOx_XXX; ARM7; DMA仲裁; M7; GPxXXX; 中断申请; ARM9; DMA申请; ARM10; DMA响应操作(CPU释放三总线,DMA控制器接管三总线,完成DM规定的操作,DMA总线释放); ARM11; 中断挂号登记、申请排队; Cortex A系列、R系列、M系列(M0\M3\M4\M7\M23\M33);. 中断响应; 中断返回; DMA中断响应; M4; Git; SVN; Realm; SQLite; Core Data; JTAG; SWD; Startup_stm32F756xx.s S盒、轮密钥加、行移位、列混合;发表评论
最新留言
关于作者
