嵌入式笔试题1

 一、选择题

1、下列哪个不是嵌入式系统的特点?

        A. 硬件资源受限
        B. 实时性要求高
        C. 软件开发成本低
        D. 系统可靠性要求高

答案:C

解析:嵌入式系统的三个基本特点:硬件资源受限、实时性要求高、具有专用性

        A:嵌入式系统是特定功能的计算机系统,通常使用专门定制的硬件实现,因此其硬件资源有限。选项A正确。

        B:嵌入式系统的另一个基本特征是其实时性较高,需要及时响应外部事件和内部激励。特定应用程序的操作须在连续时间内进行,以保证系统正常运行。选项B正确。

        C:嵌入式开发过程的成本较高,由于具有极高的专业性和极高的技术含量,并且对于开发人员的技术要求较高,除了必要的设备开发成本外,技术人员成本同样很高,因此在嵌入式软件开发的成本较高。选项C错误。

        D:嵌入式系统是可以独立运行的器件,同时是针对特定的实际业务需求而制定的嵌入式系统,因此对于整个系统可以独立稳定运行的要求极高。选项C正确。

2、下列哪个不是嵌入式系统中常用的总线标准?
        A. USB
        B. I2C
        C. RS232
        D. HDMI

答案:D

解析:嵌入式系统中的总线分为内部总线、系统总线、外部总线。

           内部总线有:I²C总线、SPI总线、SCI总线。

           系统总线有:ISA总线、EISA总线、VESA总线、PCI总线、Compact PCI。

            外部总线有:RS-232-C总线、RS-485总线、IEE-488总线、USB总线、IEEE1394总线。

            

3、下列哪个不是C语言的关键字?
        A. switch
        B. case
        C. class
        D. break

答案:C

解析:C语言共有32个关键字。

关键字解释关键字解释
auto声明自动变量break跳出当前循环
case开关语句分支char声明字符型变量或函数返回值类型
const声明只读变量continue结束当前循环,开始下一轮循环
default开关语句中的“默认分支”do循环语句的循环体
double声明双精度浮点型变量或函数返回值类型else条件语句否定分支(与if连用)
enum声明枚举类型extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型for一种循环语句
goto无条件跳转语句if条件语句
int声明整型变量或函数long声明长整型变量或函数返回值类型
register声明寄存器变量return子程序返回语句(可带参数,可不带)
short声明短整型变量或函数signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度static声明静态变量
struct声明结构体类型typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数union声明共用体类型
void声明函数无返回值或无参数,声明无类型指针volatile说明变量在程序执行中可被隐含地改变
while循环语句的循环条件switch用于开关语句

        class是java的关键字,在声明新的java类时使用。

4、下列哪个不是常用的编译器?
        A. GCC
        B. Keil
        C. IAR
        D. Visual Studio

答案:D

解析:

        A:GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言编译器。GNU编译器套件包括C、C++、 Objective-C、Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等)。

        B:Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。

        C:IAR Embedded Workbench是瑞典IAR Systems公司为 微处理器开发的一个集成开发环境(下面简称IAR EW),支持ARM,AVR,MSP430等芯片内核平台。IAR Systems是嵌入式系统开发工具和服务的供应商 [2]  。公司成立于1983年,提供的产品包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。

        D:暂时不明白,因为其实Visual Studio也集成了GCC编译器套件等等。

                欢迎各位大佬赐教~(抱拳)

5、下列哪个不是常用的调试工具?
        A. JTAG
        B. GDB
        C. SVN
        D. Trace32

答案:C

解析:

        A:JTAG 标准即IEEE 1149.1 标准。联合测试行动组JTAG(Joint Test Action Group ) 起草了边界扫描测试BST(Boundary Scan Testing)规范, 该标准为数字集成电路规定了一个测试访问口(TAP) 和边界扫描结构,解决了由于数字电路高度集成化带来的一些测试难题。它还提供了一种访问和控制芯片内部仿真(ICE) 模块的方法, ICE 模块一般包括内部扫描和自测试的功能, 可以很好地支持集成电路的开发。JTAG在嵌入式开发过程中十分重要,对于嵌入式开发者来说,JTAG可以读写内存、控制CPU运行、调试代码。选项A正确。

        B:GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。在Linux环境软件开发中,GDB是主要的调试工具,用来调试C和 C++程序(也支持go等其他语言)。选项B正确。

        C:SVN的全称是Subversion,即版本控制系统。它是最流行的一个开放源代码的版本控制系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(Repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。其不是调试工具。选项C错误。

        D:TRACE32是一款由德国Lauterbach公司开发的,功能强大的调试工具。它针对各种不同的处理器和微控制器提供了高效、可靠的调试功能,并支持多种编程语言。TRACE32可用于处理器寄存器、存储器、I/O端口、总线桥连接等多种连接方式。TRACE32具有智能化的调试功能,能够帮助开发人员快速定位和排除故障。其在运行时能够对代码进行动态跟踪、调试、模拟和分析,大大提高了开发效率和质量。选项D正确。

二、简答题

1、什么是中断?中断的作用是什么?
答:
中断是指在CPU运行程序的过程中,由于某些事件的发生,需要立即暂停当前程序的执行,转而去执行另一段代码的一种机制。中断的作用是提高CPU的利用率,增强系统的实时性和可靠性,实现CPU与外设的异步通信。

2、请简述I2C总线的工作原理。
答:I2C总线是一种串行通信协议,通过两根线SCL和SDA实现设备间的通信。SCL线是时钟线,由主设备控制;SDA线是数据线,用于主设备和从设备之间的数据传输。在传输数据时,主设备先发送起始信号,然后发送从设备地址和读/写标志,接着发送数据或者请求数据,最后发送停止信号。从设备在接收到起始信号后,会根据地址来判断是否需要响应主设备的请求。


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值