|
嵌入式系统与结构复习题三资料
5 n/ {" I; J) \# S+ T0 C3 O一、简答
% ^+ n" K. U9 @1、存储器堆栈可分为哪两种
- D2 c; B* ?! q# E/ |(1)向上生长:向高地址方向生长,称为递增堆栈! d4 ?3 n$ A; I' A. W
(2)向下生长:向低地址方向生长,称为递减堆栈
; y7 ]0 M& D' [1 U0 A2、简述四种类型的堆栈方式5 R7 H: m. G% F
(1)满递增:堆栈向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA、STMFA等; - o' V. _6 U$ s5 b* f4 f
(2)空递增:堆栈向上增长,堆栈指针指向堆栈上的第一个空位置。指令如LDMEA、STMEA等;
" u9 i g& R# R9 o' P(3)满递减:堆栈向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD、STMFD等;
7 D: @# G N2 Y% _ `' y! ~% v8 U(4)空递减:堆栈向下增长,堆栈指针向堆栈下的第一个空位置。指令如LDMED、STMED等。
. B5 |0 y) q/ j: B3、数据处理指令大致可分为3类
% _& _/ s3 _5 R5 z7 f# ~, r(1)数据传送指令;(2)算术逻辑运算指令;(3)比较指令。: i. K% I1 K' d5 ~/ }
4、启动代码的作用?* \3 _3 Z ]" S+ u1 S K1 @
常用一个汇编文件作启动代码,它可以实现异常向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围部件初始化、地址重映射等操作。6 W, X4 C" K \0 r5 F
5、简述复位的3种类型
; y# v8 H& ^% [5 u. x; \* D+ _(1)外部复位: I7 n" l) f1 @. E( P5 r0 r. V& v
把nRESET引脚拉为低电平,并保持一个最小时间,引发复位. v" l, `$ Q( t: C+ p
(2)看门狗复位
1 F' v: ]4 Z* H/ T3 z6 h3 i通过设置看门狗相关寄存器,当看门狗定时器溢出后,引发复位8 } j' ]' h3 z5 R. L4 H# |6 w
(3)外部复位
( ~/ K0 b$ y ?, [9 u3 P4 J# A外部复位引脚(nRESET)连接内部的施密特触发器,通过施密特触发器可以滤除引脚输入的干扰信号,保证复位的可靠性。如果外部复位信号一直有效,芯片将保持复位状态。
" o+ ?! a" B" T二、综合题! h3 K9 r f/ M# ^- R) A
1、写出锁相环(PLL)计算流程。计算锁相环,系统要求:FOSC=10MHz、CCLK= 60MHz。锁相环(PLL)注意要点。. V- b, ^0 @; g. R* ~
% J, U% _! Z+ I: u/ K* V0 `: _. s
(1)、根据处理器的整体要求、UART波特率的支持等因素来决定。外围器件的时钟频率可以低于处理器频率
: x5 G$ d2 K8 @; y; N1 |; o(2)、CCLK 必须为FOSC的整数倍。5 g) I: v5 u9 E6 h& e H/ e
(3)、M = CCLK / FOSC,取值范围1~32。写入MSEL的值为(M-1)。) R5 k9 \+ k, M3 Z5 a9 G
(4)、选择合适的P值,使FCCO在限制范围内。P只能取1、2、4或8。写入PSEL的值为P。
. h9 V1 B6 T4 n8 K P& {锁相环(PLL)计算实例( | S. Z! T! b" I: P
系统要求:FOSC=10MHz、CCLK= 60MHz
. ~' R8 Z% D6 w' P) q' |(1)计算M值:M= CCLK / FOSC =6 ;7 W& p9 u! [3 U. G
(2)设置MSEL位:写入值为(M-1)=5;4 P, B* m: g: \; @$ h
(3)设置PSEL位:P=FCCO/(CCLK×2)=(156~320)/120=1.3~2.67
( g: K; H3 |7 D0 t K所以P取整数2,PSEL写入值为2。, U( s- |( T! }- I
锁相环(PLL)注意要点
+ t! j r( J# C& I% l1 i w(1)PLL在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动恢复PLL的设定;% n) h& q9 Q, z) G# T U; d$ u
(2)PLL只能通过软件使能;
2 l$ I. g: Q- r1 r(3)PLL在激活后必须等待其锁定,然后才能连接;( i' x& p4 ~+ x$ o/ |5 ]( ^3 N
(4)PLL如果设置不当将会导致芯片的错误操作。& a v/ r8 C* L+ O' T
1 g/ ]* P0 z. f1 u0 ^* j1 M# B! Y! ]( C
|
|