|
嵌入式系统与结构复习题三资料
) \9 Z4 X7 q. h1 ~一、简答, ?7 f2 h) l; [0 Y8 b
1、存储器堆栈可分为哪两种# V2 b; }5 p4 w; d& ?" z* x a
(1)向上生长:向高地址方向生长,称为递增堆栈
& s1 b5 ]: ~ n(2)向下生长:向低地址方向生长,称为递减堆栈 g7 Q9 ]0 ]: _7 ?
2、简述四种类型的堆栈方式; ]/ w# S1 W8 D6 u* [ v
(1)满递增:堆栈向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA、STMFA等;
3 ]' G: T, i! {, X2 Z(2)空递增:堆栈向上增长,堆栈指针指向堆栈上的第一个空位置。指令如LDMEA、STMEA等; ' W; y% B/ Z8 o8 @( B" H4 _
(3)满递减:堆栈向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD、STMFD等;
9 F; Y: w$ l/ }: O: w( j P6 r(4)空递减:堆栈向下增长,堆栈指针向堆栈下的第一个空位置。指令如LDMED、STMED等。& Y$ Z6 o1 C% M1 a6 U; B7 Z
3、数据处理指令大致可分为3类! y+ P: T, ^4 a+ j. x1 a) c+ t
(1)数据传送指令;(2)算术逻辑运算指令;(3)比较指令。
! W6 T) O8 @* J& ~ B& f4、启动代码的作用?& G1 V3 o0 ]6 `9 P( l
常用一个汇编文件作启动代码,它可以实现异常向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围部件初始化、地址重映射等操作。
" s8 t5 N" I, N5、简述复位的3种类型2 J% O* L. \+ x$ I7 P
(1)外部复位
% ?( b9 S8 t- I把nRESET引脚拉为低电平,并保持一个最小时间,引发复位
- _* G) C/ f) G) @7 q(2)看门狗复位
+ B" ]$ V0 f+ D- I" V通过设置看门狗相关寄存器,当看门狗定时器溢出后,引发复位
: I9 R& a% P- i! M3 y(3)外部复位) S) {$ Q+ O/ u- D
外部复位引脚(nRESET)连接内部的施密特触发器,通过施密特触发器可以滤除引脚输入的干扰信号,保证复位的可靠性。如果外部复位信号一直有效,芯片将保持复位状态。
. w8 X. }+ y, R5 w. i6 T7 E二、综合题0 `( \* r( i" l, N' y ?6 V: H3 n; g
1、写出锁相环(PLL)计算流程。计算锁相环,系统要求:FOSC=10MHz、CCLK= 60MHz。锁相环(PLL)注意要点。" H# \7 z6 `8 G( l" _7 R2 @
* x6 T6 N H. F! P0 B9 x(1)、根据处理器的整体要求、UART波特率的支持等因素来决定。外围器件的时钟频率可以低于处理器频率
2 r9 |: }' T0 ~; ]4 u3 k( S0 K(2)、CCLK 必须为FOSC的整数倍。: P4 R7 v' e {7 i8 d; `
(3)、M = CCLK / FOSC,取值范围1~32。写入MSEL的值为(M-1)。
0 H- r* z0 _0 H1 o(4)、选择合适的P值,使FCCO在限制范围内。P只能取1、2、4或8。写入PSEL的值为P。
& L& c+ d1 a' G7 K- X# u. E锁相环(PLL)计算实例' c1 x- p& L+ o
系统要求:FOSC=10MHz、CCLK= 60MHz
9 Z0 Y$ O; P* W& c& b(1)计算M值:M= CCLK / FOSC =6 ;3 Z; x2 ~; F8 Y5 |$ m! S. r% a
(2)设置MSEL位:写入值为(M-1)=5;% k8 T1 p0 I1 \4 a3 `/ _
(3)设置PSEL位:P=FCCO/(CCLK×2)=(156~320)/120=1.3~2.67 ' F% ] o# P! G
所以P取整数2,PSEL写入值为2。
! b/ M1 n( Q U, w6 m0 d锁相环(PLL)注意要点
- q7 W' f* J- d0 V(1)PLL在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动恢复PLL的设定;
8 z S2 g: n, Z$ { w: N) S; ^: c(2)PLL只能通过软件使能;: U- g) \" X8 ^* q9 k" R
(3)PLL在激活后必须等待其锁定,然后才能连接;8 W2 z: s T, P, ]/ Z9 u
(4)PLL如果设置不当将会导致芯片的错误操作。1 _1 _: Y; Q+ C" e& o
% B4 `2 [* b' `% F* c- H$ S
5 ^' L2 r+ k# ~( { |
|