题目
第1题
试题五 (共15 分 )
阅读以下关于嵌入式C语言编程方面的问题,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
嵌入式C语言编程中常涉及位运算、宏定义的问题,以及大端方式(Big-endian)、小端方式(Little-endian)的访问问题。
【 问题1 】(4 )
嵌入式系统中常要求用户对变量或寄存器进行位操作。下面的两个函数分别为设置和清除变量 a 的第 5位。请使用下面的宏定义 BIT5 按要求对变量 a 进行相应的处理。在函数set_bit5中,用位或赋值操作(=)设置变量a的第5位,在函数clear_bit5中,用位与赋值操作(&=)清除变量a的第5位。
define BIT5 (0x01<<5)
static int a;
void set_bit5(void)
{
① ; /* 设置变量a的第5位 */
}
void clear_bit5(void)
{
② ; /* 清除变量a的第5位 */
}
【 问题2】(5 分 )
图5-1所示代码的设计意图是计算1~100各数的平方。 该段代码运行后,没有得到应有的结果,请说明出错原因,将答案填入答题纸的对应栏内。
”
【问题3】(6分)
某嵌入式处理器工作在大端方式 (Big-endian)下, 其中unsigned int为32位, unsigned short为16位,unsigned char为8位。仔细阅读并分析下面的C 语言代码,写出其打印输出的结果,将答案填入答题纸的对应栏内。
include "stdio.h"
include "stdlib.h"
void *MEM_ADDR;
void mem_test(void)
{
unsigned int *pint_addr = NULL;
unsigned short *pshort_addr = NULL;
unsigned char *pchar_addr = NULL;
MEM_ADDR = (void *)malloc(sizeof(int));
pint_addr = (unsigned int *)MEM_ADDR;
pshort_addr = (unsigned short *)MEM_ADDR;
pchar_addr = (unsigned char *)MEM_ADDR;
*pint_addr = 0x12345678;
printf("0x%x, 0x%x\n", *pshort_addr, *pchar_addr);
/* 第一次输出 */
pshort_addr++;
*pshort_addr = 0x5555;
printf("0x%x, 0x%x\n", *pint_addr, *pchar_addr);
/* 第二次输出 */
pchar_addr++;
*pchar_addr = 0xAA;
printf("0x%x, 0x%x\n", *pint_addr, *pshort_addr);
/* 第三次输出 */
}
第2题
以下关于嵌入式处理器的说法错误的是()。
A.哈佛结构是指CPU(运算器与控制器)与存储器的连接只有一套总线
B.RISC架构是指精简指令集计算机体系结构
C.ARM处理器采用单周期操作
D.ARM处理器都采用流水线技术
第3题
阅读以下关于嵌入式软件测试方面的叙述,回答问题1至问题3。
甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。
王工在与张工讨论该软件的测试计划时,就软件的测试环境产生了争执。张工认为所有的第三方测试工作都必须在目标机环境下完成,否则无法保证测试的有效性。王工认为开发工作进度很紧,而且开发工作需要频繁占用目标机环境,第三方测试在仿真环境下进行就可以了,没有必要非得在目标机环境下测试。请在200字以内对上述两人意见的正确性进行评价与分析,并简述你对本题目中的测试环境问题的建议。
第4题
阅读以下嵌入式多核程序设计技术方面的叙述,回答问题1至问题3。
甲公司承担了一项为宇航系统配套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延。根据用户对本项目的要求,甲公司成立了软/硬件两个项目组,总体设计由硬件组承担,负责高性能嵌入式计算机系统体系结构设计,软件组负责确定软件的技术需求和应用软件开发平台的软件设计工作。
在处理器选型方面,硬件组王工与软件组张工在讨论采用哪种CPU体系结构方面发生争议。目前,流行的处理器结构包括了单核结构、多处理器结构、超线程结构、多核结构、共享Cache的多核结构和超线程技术的多核结构六种,如下图所示。
王工提出,根据用户要求,本嵌入式系统应具有高速并行处理能力,采用多处理器结构比较适合,主要理由是多处理器结构设计简单、可支持多个进程在不同处理器上并发处理;而张工提出,必须分清“多处理器结构”与“多核结构”的优点和缺点,多处理器结构虽然支持多进程的并发处理,但没有直接实现多线程并发执行;多核结构可以直接实现多线程并发执行。要提高应用的并行性就必须利用多个硬件资源的并行工作,建议采用超线程技术的多核结构的处理器。请填写下图(f)中的(1)~(8),并用300字以内的文字对上述六种处理器结构的工作原理进行简要描述。
第5题
以下关于嵌入式系统的组成说法错误的是(26)。
A.在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块,其中嵌入式操作系统和应用程序都可以固化在 RAM中
B.Cache位于主存和嵌入式微处理器内核之间,用于减小主存或辅助存储器对微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强
C.板级支持包(BSP)位于嵌入式系统硬件层和系统软件层之间,也称为硬件抽象层(HAL),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关
D.系统软件层位于嵌入式中间层和应用软件层之间,由RTOS;文件系统、GUI、网络系统及通用组件模块等组成。
第6题
阅读以下关于80X86处理器方面的叙述,请回答问题1至问题3。
[说明]
80X86计算机中的寻址方式包括程序寻址和数据寻址两类。数据寻址方式是指获取指令所需的操作数或操作数地址的方式;程序寻址方式是指程序中出现转移和调用时的程序定位方式。
部分数据寻址方式见下表,其中,为每种数据寻址方式分配一个编号。
程序寻址方式见下表,其中,为每种程序寻址方式分配一个编号。
按照“数据寻址方式及编号”表所列出的数据寻址方式,说明下表中各汇编指令指定的操作数或操作数地址属于哪类数据寻址方式。
第7题
A.CISC的指令种类要多于RISC
B.RISC的寻址方式复杂,CISC的寻址方式简单
C.CISC的有些指令执行时间长,RISC多为单周期指令
D.RISC中Load/Store指令对存储器进行操作,其余指令对寄存器进行操作
第8题
下面关于目前嵌入式最小硬件系统的叙述中,错误的是()。
A.嵌入式最小硬件系统包括嵌入式处理器
B.嵌入式最小硬件系统包括时钟电路
C.嵌入式最小系统包括给系统供电的电源电路
D.嵌入式处理器片内一般不包括存储器,组成最小系统时必须外扩存储器
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!