试题四(共15分)阅读下列说明和表,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]看门狗(Watchdog)技术是嵌入式系统设计中保证系统可靠的常用技术。嵌入式控制系统运行时由于受到外部干扰或者内部系统错误,程序有时会出现“跑飞”现象,导致整个系统瘫痪。为了防止这一现象的发生,对系统可靠性要求较高的场合往往要加入看门狗电路。当系统“跑飞”时,看门狗电路能自动恢复系统的运行。
[问题2](7分)张工在某嵌入式系统中设计实现了看门狗电路,采用的芯片寄存器如表4-1、表4-2、表4-3、表4-4所示。
王工编写了以下程序代码,实现看门狗电路的初始化。请仔细阅读每行代码,然后回答问题。
请将以下问题的答案写在答题纸的对应栏中。(1)在程序的第2、3、4行,分别使用了volatile关键字,请说明该关键字的作用。(2)在程序的第7行,实现了对看门狗的三个功能设置,除了设置预装比例值外,其他两个功能分别是什么(3)在程序的第10行,实现了对看门狗的哪个功能设置(4)该系统结构采用的编址方式是什么(5)该系统的位序是大端方式还是小端方式
参考答案:(1)类型修饰符,防止编译器对代码进行优化 (2)设置看门狗的分频因素为1/128、使能中断产生 (3)使能看门狗定时器 (4)统一编址 (5)小端方式
解析:(1)在驱动程序中对寄存器操作时,经常使用volatile关键字,作用是确保本条指令不会因编译器的优化而省略,且要求每次直接读值。 (2)在程序第7行,对看门狗定时器控制寄存器(WTCON)设置了三个属性值,通过查表4-4中WTCON的相应标识位,可以得知对预装比例值[15:8]、时钟分频因素[4:3]、中断位能[2]进行了设置。 (3)在程序第10行,也对看门狗定时器控制寄存器(WTCON)进行了设置,通过查表4-4中WTCON的相应标识位,可以得知位能看门狗定时器[5]。 (4)从程序的第2、3、4行可以看出,对寄存器的操作,采用存储器指令进行,所以,该系统结构采用的是内存和外设统一编址的方式。 (5)从程序第7行、第10行对看门狗定时器控制寄存器的操作,结合表4-4中对应寄存器的位定义可以看出,该系统的位序是小端方式。