嵌入式操作系统应用开发复习题及复习资料

合集下载

嵌入式系统考前复习题

嵌入式系统考前复习题

嵌入式系统考前复习题终结版(节操落地版,不看考完定后悔)、填空题1.嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2.请列举2个嵌入式实时操作系统:WinCE操作系统和Linux操作系统。

3.ARMv7M采用的异常模型理论上预定义了256个异常类型,其中包括11个系统异常类型和4+L个档位,然而实际上CortexM3只存在7个系统异常类型4.Bootloader主要功能是:系统初始化、加载和运行内核程序。

5.RAM存储器有两种,分别是:SRAM和DRAM;现在市场上两种主要的非易失闪存技术也有两类,分别是:NorFlash和MandFlash。

6.CortexM3有两种工作模式:handler模式和线程模式。

7.CortexM3支持的指令集为Thumb-2指令集的子集。

8.在CM3控制内核中R13对应的有两个堆栈指针,分别是主堆栈指针(MSP)和进程堆栈指针(PSP)指针。

9.C编译器没有(选填“有”或“没有”)直接支持CortexM3的位带区操作。

10.较为普遍的一种Cortex的编程开发调试环境为ARM公司的RealViewMDK。

11.嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统构成。

12.I/O接口电路数据传送方式有:查询、中断、DMA、I/O通道和I/O处理机方式。

13.ARM体系结构所支持的最大寻址空间为4GB。

14.CortexM3采用的两种提升中断响应速度的措施为尾链(Tailchaining)和迟到处理(LateArriving)。

15.CortexM3的PSR由3个子状态寄存器APSR、IPSR和EPSR组成。

16.指令LDR.WR0,[R1,#20!]为带顶索引的指令,而STR.WR0,[R1],#-20则为带后索引的指令。

17.访问特殊功能寄存器指令MSR和MRS必须在特权级下使用。

嵌入式期末复习资料(9)

嵌入式期末复习资料(9)

嵌⼊式期末复习资料(9)第⼀章嵌⼊式系统概论本章主要内容:1.什么是嵌⼊式系统(嵌⼊式系统是计算机软件与计算机硬件集成在⼀起,并嵌⼊到应⽤对象内部的计算机系统)嵌⼊式系统是以应⽤为中⼼,以计算机技术为基础,并且软硬件可裁剪,适⽤于应⽤系统对功能、可靠性、成本、体积、功耗有严格要求的专⽤计算机系统。

它⼀般由嵌⼊式微处理器、外围硬件设备、嵌⼊式操作系统以及⽤户的应⽤程序等四个部分组成,⽤于实现对其他设备的控制、监视或管理等功能。

2.嵌⼊式系统分类(按技术复杂度分类:⽆操作系统控制的嵌⼊式系统NOSES;⼩型操作系统控制的嵌⼊式系统SOSES;⼤型操作系统控制的嵌⼊式系统LOSES。

按⽤途分类:军⽤,⼯业⽤,民⽤。

)系统级,板级,⽚级芯⽚级嵌⼊含程序或算法的处理器模块级嵌⼊系统中的某个核⼼模块板系统级嵌⼊主计算机系统3.嵌⼊式操作系统分类(按照源代码分类:商⽤型和开源型;按照实施性能分类:强实时性型和普通实时型;按内核结构分类:单内核型和为内核型。

)按⽤途分类:军⽤/民⽤按载体分类:宇航/车载? ? ?按通信性质分类:⽆线/有线按⽹络性质分类:联⽹/单机按环境分类:普通/恶劣按功耗分类:低功耗/普通功耗主要分类⽅法按硬件软件性质根据控制技术的复杂度可以把嵌⼊式系统分为三类:⽆操作系统控制的嵌⼊式系统NOSES,Non-OS control Embedded System;⼩型操作系统控制的嵌⼊式系统SOSES,Small OS control Embedded System;⼤型操作系统控制的嵌⼊式系统LOSES,Large OS control Embedded System。

4.嵌⼊式处理器特点,常见缩写特点:1.对实施多任务有较强的⽀持能⼒,能完成多任务处理,并且中断响应速度快2.处理器结构可扩展3.内部集成了测试电路4.低功耗常见缩写:通⽤型嵌⼊式微处理器(简称:EMPU,或者MPU)微控制器(MCU)数字信号处理器(DSP)(嵌⼊式DSP处理器:EDSP)混合处理器和⽚上系统(SOC)嵌⼊式双核处理器,双核(dual core);多核处理器,多核DSP。

嵌入式Linux系统开发与应用考试

嵌入式Linux系统开发与应用考试

嵌入式Linux系统开发与应用考试(答案见尾页)一、选择题1. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板2. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程规范D. 嵌入式系统函数库3. 嵌入式Linux应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序调试技巧D. 嵌入式Linux应用程序性能优化4. 嵌入式Linux系统内核设计与实现A. 内核硬件抽象层(HAL)B. 微内核架构C. 嵌入式系统驱动程序开发D. 嵌入式系统实时性研究5. 嵌入式Linux系统文件系统与存储管理A. 文件系统基本概念B. 嵌入式Linux文件系统实现C. 存储管理技术D. 嵌入式系统数据安全6. 嵌入式Linux网络通信技术A. 网络通信协议分析B. 嵌入式Linux网络驱动程序开发C. 嵌入式Linux套接字编程D. 网络安全研究7. 嵌入式Linux系统跨平台开发技术A. 嵌入式Linux系统与Windows平台的互操作性技术B. 嵌入式Linux系统与macOS平台的互操作性技术C. 嵌入式Linux系统与Linux其他发行版的互操作性技术D. 嵌入式Linux系统全球化与本地化技术8. 嵌入式Linux系统项目实战A. 嵌入式Linux系统产品策划与设计B. 嵌入式Linux系统软件开发与测试C. 嵌入式Linux系统项目实施与运维D. 嵌入式Linux系统项目总结与反思9. 嵌入式Linux系统开发与应用相关技术标准与规范A. 嵌入式Linux系统开发规范B. 嵌入式Linux系统测试标准C. 嵌入式Linux系统文档编写规范D. 嵌入式Linux系统知识产权保护规范10. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译和调试C/C++程序D. 使用集成开发环境(IDE)11. 嵌入式Linux系统编程基础A. 数据类型与运算符B. 控制结构与函数C. 指针与内存管理D. 文件操作与进程管理12. 嵌入式Linux应用程序开发A. 创建和控制线程B. 实现多任务处理C. 数据结构与算法D. 设计用户界面13. 嵌入式Linux系统启动与引导A. 启动过程B. 加载内核与根文件系统C. 系统初始化与配置D. 启动设备驱动程序14. 嵌入式Linux系统调试与诊断A. 使用调试工具B. 分析系统性能C. 调试程序错误D. 系统故障排除15. 嵌入式Linux网络编程A. 网络协议与数据结构B. 建立网络连接C. 数据传输与通信D. 网络安全与防火墙设置16. 嵌入式Linux系统资源管理A. 内存管理B. 文件系统C. 设备分配与管理D. 系统性能监控17. 嵌入式Linux项目实战A. 嵌入式Linux产品设计与实现B. 嵌入式Linux项目开发流程与方法C. 嵌入式Linux项目测试与评估D. 嵌入式Linux项目经验分享与交流18. 嵌入式Linux系统未来发展趋势A. 人工智能与物联网应用B. 5G与低功耗技术发展C. 自动驾驶与智能交通系统D. 绿色环保与可持续发展19. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板20. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程概念D. 嵌入式系统编程实例21. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念B. 驱动程序开发流程C. 驱动程序编写实例D. 驱动程序调试与测试22. 嵌入式Linux系统应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序实例D. 嵌入式Linux应用程序优化23. 嵌入式Linux系统文件系统与内存管理A. 嵌入式Linux文件系统基本概念B. 嵌入式Linux内存管理机制C. 嵌入式Linux文件系统实现D. 嵌入式Linux内存管理优化24. 嵌入式Linux系统网络编程A. 嵌入式Linux网络编程基础B. 嵌入式Linux套接字编程C. 嵌入式Linux网络应用开发D. 嵌入式Linux网络协议栈实现25. 嵌入式Linux系统设备驱动程序开发A. 设备驱动程序基本概念B. 嵌入式Linux设备驱动程序开发流程C. 嵌入式Linux设备驱动程序编写实例D. 嵌入式Linux设备驱动程序调试与测试26. 嵌入式Linux系统内核裁减与移植A. 嵌入式Linux内核裁减原理B. 嵌入式Linux内核移植方法C. 嵌入式Linux内核配置D. 嵌入式Linux内核集成27. 嵌入式Linux系统项目实战A. 嵌入式Linux系统开发项目需求分析B. 嵌入式Linux系统开发团队组建与分工C. 嵌入式Linux系统开发进度管理与质量控制D. 嵌入式Linux系统开发成果展示与评估28. 嵌入式Linux系统交叉平台开发环境建立A. 搭建交叉开发环境所需硬件设备B. 安装交叉开发工具软件C. 编写交叉平台软件开发框架D. 调试和优化交叉平台程序29. 嵌入式Linux系统应用程序开发技术A. 嵌入式Linux系统编程基础B. 嵌入式Linux系统进程与线程管理C. 嵌入式Linux系统内存管理D. 嵌入式Linux系统文件系统30. 嵌入式Linux系统网络编程A. 嵌入式Linux系统网络通信协议B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统网络驱动程序开发D. 嵌入式Linux系统网络安全31. 嵌入式Linux系统实时性技术A. 嵌入式Linux系统实时性概念及重要性B. 嵌入式Linux系统实时调度算法C. 嵌入式Linux系统实时任务设计D. 嵌入式Linux系统实时性能优化32. 嵌入式Linux系统低功耗技术A. 嵌入式Linux系统功耗概念及评估方法B. 嵌入式Linux系统低功耗硬件设计C. 嵌入式Linux系统低功耗软件优化D. 嵌入式Linux系统低功耗系统级设计33. 嵌入式Linux系统文件系统优化A. 嵌入式Linux系统文件系统概述B. 嵌入式Linux系统文件系统性能优化C. 嵌入式Linux系统文件系统安全性优化D. 嵌入式Linux系统文件系统可扩展性优化34. 嵌入式Linux系统内核定制与裁减A. 嵌入式Linux系统内核功能分析B. 嵌入式Linux系统内核配置与编译C. 嵌入式Linux系统内核裁减与移植D. 嵌入式Linux系统内核优化与升级35. 嵌入式Linux系统驱动程序开发A. 嵌入式Linux系统驱动程序基本概念B. 嵌入式Linux系统驱动程序开发流程C. 嵌入式Linux系统驱动程序编写规范D. 嵌入式Linux系统驱动程序测试与调试36. 嵌入式Linux系统项目实战案例分析A. 嵌入式Linux系统智能家居项目实战B. 嵌入式Linux系统物联网项目实战C. 嵌入式Linux系统汽车电子项目实战D. 嵌入式Linux系统航空航天项目实战37. 嵌入式Linux系统交叉开发技术A. 嵌入式Java技术B. 嵌入式Python技术C. 嵌入式C/C++技术D. 嵌入式汇编语言技术38. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念及分类B. 嵌入式Linux系统设备驱动程序开发流程C. 嵌入式Linux系统中断服务程序开发D. 嵌入式Linux系统硬件设备驱动程序调试与测试39. 嵌入式Linux系统文件系统开发A. 文件系统基本概念及分类B. 嵌入式Linux系统常用文件系统解析C. 嵌入式Linux系统文件系统优化与管理D. 嵌入式Linux系统用户认证与权限管理40. 嵌入式Linux系统进程与线程管理A. 进程与线程基本概念及区别B. 嵌入式Linux系统进程调度与进程通信C. 嵌入式Linux系统线程同步与互斥D. 嵌入式Linux系统实时性与并发性处理41. 嵌入式Linux系统网络编程A. 网络编程基础概念及协议分析B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统TCP/IP协议栈实现D. 嵌入式Linux系统网络设备驱动程序开发42. 嵌入式Linux系统图形用户界面(GUI)开发A. 嵌入式Linux系统GUI组件开发B. 嵌入式Linux系统事件处理与消息循环C. 嵌入式Linux系统多线程与同步D. 嵌入式Linux系统GUI性能优化43. 嵌入式Linux系统安全性设计A. 嵌入式Linux系统安全性概述B. 嵌入式Linux系统权限管理与访问控制C. 嵌入式Linux系统安全审计与监控D. 嵌入式Linux系统加密与解密技术44. 嵌入式Linux系统项目实战A. 嵌入式Linux系统智能家居控制系统设计B. 嵌入式Linux系统车载电子系统设计C. 嵌入式Linux系统工业自动化控制系统设计D. 嵌入式Linux系统医疗设备远程监控系统设计45. 嵌入式Linux系统未来发展趋势与挑战A. 嵌入式Linux系统与云计算、物联网融合B. 嵌入式Linux系统人工智能、机器学习应用C. 嵌入式Linux系统边缘计算技术发展D. 嵌入式Linux系统绿色环保与节能技术二、问答题1. 什么是嵌入式Linux系统?它的主要特点是什么?2. 嵌入式Linux系统开发流程通常包括哪些步骤?3. 嵌入式Linux系统中常用的开发工具有哪些?4. 嵌入式Linux系统中如何进行性能优化?5. 嵌入式Linux系统中如何进行故障排查与调试?6. 嵌入式Linux系统中如何保护知识产权?7. 嵌入式Linux系统中如何进行跨平台开发?8. 嵌入式Linux系统中如何进行可持续性与环保设计?参考答案选择题:1. ABCD2. ABCD3. ABCD4. ABCD5. ABCD6. ABCD7. ABCD8. ABCD9. ABCD10. ABCD11. ABCD 12. ABCD 13. ABCD 14. ABCD 15. ABCD 16. ABCD 17. ABCD 18. ABCD 19. ABCD 20. ABCD21. ABCD 22. ABCD 23. ABCD 24. ABCD 25. ABCD 26. ABCD 27. ABCD 28. ABCD 29. ABCD 30. ABCD31. ABCD 32. ABCD 33. ABCD 34. ABCD 35. ABCD 36. ABCD 37. ABCD 38. ABCD 39. ABCD 40. ABCD41. ABCD 42. ABCD 43. ABCD 44. ABCD 45. ABCD问答题:1. 什么是嵌入式Linux系统?它的主要特点是什么?嵌入式Linux系统是一种特殊的Linux操作系统,主要用于嵌入到各种硬件设备中。

嵌入式系统考试试题及答案

嵌入式系统考试试题及答案

嵌入式系统考试试题及答案一、选择题1、嵌入式系统是指哪些设备?A.智能手机B.平板电脑C.个人电脑D.所有电子设备答案:D.所有电子设备解释:嵌入式系统是指嵌入在其它设备中的小型计算机系统,它们通常具有特定的功能和用途,例如控制机械、电子设备等。

因此,所有电子设备都可以看作是嵌入式系统的一种。

2、嵌入式系统的主要特点是什么?A.体积小B.功耗低C.处理能力强D.以上都是答案:D.以上都是解释:嵌入式系统通常具有体积小、功耗低、处理能力强等特点,这些特点使得它们能够适应各种不同的应用场景。

3、下面哪个不是嵌入式系统的应用?A.手机语音助手B.智能家居控制C.汽车发动机控制D.超级计算机答案:D.超级计算机解释:超级计算机是一种大型计算机系统,主要用于科学计算、数据分析等高性能计算领域,与嵌入式系统的应用场景不同。

4、嵌入式系统开发需要哪些技能?A.硬件设计B.软件编程C.系统集成D.以上都是答案:D.以上都是解释:嵌入式系统开发需要具备硬件设计、软件编程和系统集成等技能,因为嵌入式系统需要与具体的硬件设备进行交互,同时需要进行软件编程来实现特定的功能。

5、下面哪个是嵌入式系统开发的主要语言?A. C语言B. C++语言C. Java语言D. Python语言答案:A. C语言解释:C语言是嵌入式系统开发的主要语言之一,因为它具有高效的性能和直接访问硬件的能力,适合用于编写嵌入式系统的底层代码。

嵌入式系统是现代电子技术中非常重要的一部分,它们广泛用于各种领域,如工业控制、智能家居、医疗设备等。

因此,学习嵌入式系统的知识对于电子工程专业的学生来说是非常重要的。

在这里,我们提供了一些嵌入式系统期末考试的题目和答案,以帮助学生们更好地理解嵌入式系统的基本概念和原理。

解释:嵌入式系统通常具有小型化、快速化和智能化的特点,而巨型化并不是嵌入式系统的特点。

解释:嵌入式系统通常使用低级编程语言,如C语言和汇编语言,而Python语言通常用于高级编程和脚本编写,并不是嵌入式系统常用的编程语言。

嵌入式考试题库及答案

嵌入式考试题库及答案

嵌入式考试题库及答案一、单项选择题(每题2分,共20分)1. 在嵌入式系统中,通常采用哪种类型的处理器?A. 通用处理器B. 精简指令集处理器(RISC)C. 复杂指令集处理器(CISC)D. 专用处理器答案:B2. 以下哪个不是嵌入式系统的典型特点?A. 实时性B. 可扩展性C. 资源受限D. 专用性答案:B3. 在嵌入式系统中,以下哪个不是常用的存储介质?A. ROMB. RAMC. 硬盘D. Flash答案:C4. 嵌入式操作系统与通用操作系统的主要区别是什么?A. 嵌入式操作系统更复杂B. 嵌入式操作系统更简单,资源占用少C. 嵌入式操作系统价格更高D. 嵌入式操作系统运行速度更快答案:B5. 以下哪个不是嵌入式系统的应用领域?A. 消费电子B. 工业控制C. 航空航天D. 办公自动化答案:D6. 在嵌入式系统中,通常使用哪种类型的编程语言?A. 汇编语言B. 高级语言C. 机器语言D. 以上都是答案:D7. 以下哪个不是嵌入式系统的开发工具?A. 编译器B. 调试器C. 项目管理软件D. 文字处理软件答案:D8. 在嵌入式系统中,以下哪个不是常用的通信协议?A. TCP/IPB. USARTC. I2CD. USB答案:D9. 嵌入式系统的功耗通常与什么因素有关?A. 处理器速度B. 存储容量C. 系统复杂度D. 以上都是答案:D10. 以下哪个不是嵌入式系统的开发流程?A. 需求分析B. 系统设计C. 编码实现D. 产品发布答案:D二、多项选择题(每题3分,共15分)1. 嵌入式系统的开发过程中,以下哪些是必须考虑的因素?A. 系统性能B. 成本控制C. 系统安全性D. 用户体验答案:ABCD2. 在嵌入式系统中,以下哪些是常见的输入设备?A. 触摸屏B. 键盘C. 鼠标D. 传感器答案:ABD3. 以下哪些是嵌入式系统开发中常用的软件工具?A. 集成开发环境(IDE)B. 版本控制系统C. 项目管理工具D. 数据库管理系统答案:ABC4. 在嵌入式系统中,以下哪些是常见的输出设备?A. 显示器B. 扬声器C. 打印机D. LED灯答案:ABD5. 嵌入式系统的测试通常包括哪些方面?A. 功能测试B. 性能测试C. 安全性测试D. 稳定性测试答案:ABCD三、填空题(每题2分,共20分)1. 嵌入式系统通常由、、和四个部分组成。

嵌入式系统设计与应用复习资料

嵌入式系统设计与应用复习资料

嵌入式系统设计与应用复习资料(一) .单项选择题:1.下面哪个系统属于嵌入式系统。

( D )A、“天河一号”计算机系统B、联想 T400 笔记本计算机C、联想 S10 上网本D、联想 OPhone手机2. 软硬件协同设计方法与传统设计方法的最大不同之处在于( B )。

A、软硬件分开描述B、软硬件统一描述C、协同测试D、协同验证3. 下面关于哈佛结构描述正确的是(A)。

A、程序存储空间与数据存储空间分离B、存储空间与IO 空间分离C、程序存储空间与数据存储空间合并D、存储空间与IO 空间合并4. 下面哪一种工作模式不属于ARM特权模式( A )。

A、用户模式B、系统模式C、软中断模式D、 FIQ 模式5.ARM7TDMI的工作状态包括(D)。

A、测试状态和运行状态B、挂起状态和就绪状态C、就绪状态和运行状态D、 ARM状态和 Thumb状态B 接口移动硬盘最合适的传输类型为(B)。

A、控制传输B、批量传输C、中断传输D、等时传输7.下面哪一种功能单元不属于I/O 接口电路。

( D )A、 USB控制器B、 UART控制器C、以太网控制器D、 LED8.下面哪个操作系统是嵌入式操作系统。

( B )A、 Red-hat LinuxB、μ CLinuxC、 Ubuntu LinuxD、SUSE Linux9.使用 Host-Target 联合开发嵌入式应用,( B )不是必须的。

A、宿主机B、银河麒麟操作系统C、目标机D、交叉编译器10.下面哪个系统不属于嵌入式系统(D)。

A、 MP3播放器B、 GPS接收机C、“银河玉衡”核心路由器D、“天河一号”计算机系统11.在嵌入式系统设计中,嵌入式处理器选型是在进行(C)时完成。

A、需求分析B、系统集成C、体系结构设计D、软硬件设计12.下面哪一类嵌入式处理器最适合于用于工业控制(B)。

A、嵌入式微处理器B、微控制器C、 DSPD、以上都不合适13.关于 ARM子程序和 Thumb子程序互相调用描述正确的是( B )。

嵌入式期末复习题_(含答案)

嵌入式期末复习题_(含答案)

期末考试复习题一、填空题1. ARM微处理器有7种工作模式,它们分为两类_特权模式_、_非特权模式_其中用户模式属于_非特权模式__。

2. ARM微处理器共有__37_个__32__位寄存器,其中__31_个为通用寄存器,_6___个为状态寄存器。

3. 嵌入式系统一般哪4个部分组成( 嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件)4. 协处理器主要控制:___片内的MMU __、___指令和数据缓存___、___写缓冲___。

5. ARM嵌入式系统主要由___相关支撑硬件___、___ARM处理器___和__嵌入式软件系统____构成。

6. S3C2410芯片外部寻址空间是1G,被分成___8__个存储块,每块_ 128 _MB。

SDRAM 存储器应连接到第____7或8__个存储块。

7. 操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、内存管理、文件系统管理、I/O资源管理。

8. 常用的嵌入式外围设备有存储设备_、通信设备____和___显示设备___三类。

10. 嵌入式系统是用来控制或者监视哪些设备( )11. 嵌入式系统的三个基本要素。

引导程序内核文件系统12. 链接分为:(硬链接)和( 软链接)。

13. 数据寄存器,其中控制寄存器的主要功能是设置_引脚的功能_,数据寄存器的功能是从寄存器读取数据或者向寄存器写入数据。

15. 目前流行的嵌入式操作系统主要有:_ WinCE_、_ Vxworks__、_ Linux/µCLinux_和_µC/OS-II、PalmOS____。

16. 嵌入式操作系统的调试一般包括:___操作系统__调试和___应用程序__调试。

17. ARM字数据存储格式有:大端格式和小端格式。

18. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:( 644 ),该文件属性是( 目录)。

19. 在宿主机上使用编译器软件将嵌入式应用。

嵌入式期末考试复习资料

嵌入式期末考试复习资料

嵌⼊式期末考试复习资料1、ARM 微处理器有 7种⼯作模式,它们分为两类⾮特权模式、特权模式。

其中⽤户模式属于⾮特权模式 ARM 处理器有两种总线架构,数据和指令使⽤同⼀接⼝的是冯诺依曼,数据和指令分开使⽤不同接⼝的是哈佛结4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的⼯作模式是Supervisor 。

5、ARM 微处理器⽀持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进⾏虚拟内存的存储和管理。

当系统发⽣数据异常和指令领取异常时,异常处理程序透过嵌⼊式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页⾯,以保证程序正常执⾏。

6、编译链接代码时,有两种存储代码和数据的字节顺序,⼀种是⼩端对齐,另⼀种是打断对齐7、构建嵌⼊式系统开发环境的⼯具链有多种,其中开放源码的⼯具链是 GNU ⼯具链,ARM 公司提供的⼯具链是 ADS ⼯具链计算机有CISC 和RISC 两种类型,以ARM 微处理器为核⼼的计算机属于 RISC 类型,其指令长度是定长的1、⽬前使⽤的嵌⼊式操作系统主要有哪些?请举出六种较常⽤的。

Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六 2、ARM 系统中的堆栈有四种,如下图。

请按图标出四种堆栈的类型。

ATPCS 编程规范约定使⽤的堆栈是哪⼀种?答:FD 、FA 、ED 、EA 。

ATPCS 编程规范约定使⽤的堆栈是FD3、Boot Loader 在嵌⼊式系统中主要起什么作⽤?完成哪些主要的⼯作?答:Boot Loader 是在嵌⼊式系统复位启动时,操作系统内核运⾏前,执⾏的⼀段程序。

通过Boot Loader ,初始化硬件设备,建⽴内存和I/O 空间映射图,为最2、ARM ⽀持两个指令集,ARM 核因运⾏的指令集不同,分别有两个状态 ARM 、 Thumb,状态寄存器CPSR 的 T 位反映了处理器运⾏不同指令的当前状态3、ARM 核有多个寄存器,其中⼤部分⽤于通⽤寄存器,有⼩部分作为专⽤寄存器, R15 寄存器⽤于存储PC ,R13通常⽤来存储 SPHi Address Hi Address4、搭建嵌⼊式开发环境,连接⽬标板,⼀般使⽤什么通信接⼝连接?在Windows 主机上使⽤什么软件建⽴连接?在Linux主机上使⽤什么软件建⽴连接?1、答:RS-232,以太⽹⼝、并⼝在Windows主机上使⽤超级终端软件在Linux主机上使⽤Minicom软件5嵌⼊式开发环境主要包括哪些组件?嵌⼊式系统开发需要交叉编译和在线调试的开发环境,主要包括●宿主机●⽬标机(评估电路板)●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE●运⾏于宿主机的交叉编译器和链接器、以及开发⼯具链或软件开发环境●嵌⼊式操作系统6 在进⾏基于ARM核的嵌⼊式系统软件开发时,调⽤如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么⽅式从调⽤程序传⼊被调函数?根据ATPCS编程规范,调⽤函数和⼦程序通过R0——R3四个寄存器传递参数,超过四个参数使⽤堆栈传递。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、简述Linux操作系统具有的特点。

答:开放的源代码,良好的兼容性,完备的帮助手册页,优秀的网络支持支持多用户多任务多处理器支持多种文件系统,独特的挂载方式确保数据的安全性将应用程序的核心实现为库,可重用性良好采用模块化分层的程序设计方法,可靠易维护将设备等一切都看做是文件,提供统一的文件操作接口对设备等进行操作2、解释POSIX。

答:POSIX表示可移植操作系统接口,可以提高UNIX环境下应用程序的可移植性。

POSIX标准定义了标准的API,只要是符合这一标准的应用程序,就能够在多种操作系统中运行。

3、解释通用公共许可证GPL。

答:GPL保证软件对所有用户来说是自由的。

遵循GPL的软件提供给用户时必须提供源码,一旦用户得到遵循GPL的软件,就能够对其任意地改写,修改之后如果要提供给其他人也必须遵循GPL,并开放源码,允许被修改。

4、Linux系统下,常用的在线帮助文件有哪些?答:1、man手册2、info手册3、How-To文件。

5、Linux系统下进行C程序开发的主要两个标准。

答:1 、ANSI C标准2、POSIX标准。

6、一般Linux系统调用函数,如果执行成功将返回什么值?如果执行失败将返回什么值?并对哪个系统全局变量进行赋值,以指示具体的错误情况。

答:成功时返回为0,不成功时一般返回-1,也可能返回一些非0值。

失败时将会在全局变量errno中赋值指示错误类型7、画出Linux函数库调用和系统调用的示意图,简单说明系统调用(API)函数的作用。

答:应用程序库函数系统调用内核硬件设备API是操作系统和用户程序之间的接口,应用程序通过API与操作系统进行通信,使用操作系统提供的服务。

API同时保证了操作系统数据和程序的安全性。

因此,API提供给用户安全地使用操作系统提供的服务。

8、简单说明在Linux程序开发过程中,利用GCC工具将C语言程序编译成一个可执行程序文件的四个步骤。

答:1、预处理2、编译3、汇编4、连接9、解释gcc工具的o、c、I、L、l等5个参数的功能作用。

答:o:把文件输出到output_,c:只编译,不连接I: L:在库文件的搜索路径列表中添加dirname目录l: -o file指定输出文件为file-c 预处理,编译,汇编源文件,但是不做连接,产生.o(OBJ)文件-Idirname在头文件的搜索路径列表中添加dirname目录-Ldirname 在“-I”的搜索目录中添加dirname目录,在连接库文件时候使用-lname 如果一个库文件的名称为“libname.a”,程序执行时若要连接这个库文件,就要使用该选项进行连接,省略库名中的前缀“lib”和后缀“.a”10、可执行程序文件在存储时(没有调入到内存)分为几部分,说明各段的主要内容。

答:1、可执行代码区(text):存放CPU执行的机器指令。

2、已初始化数据区(data):包含了在程序中已经被初始化的全局变量和静态变量。

3、未初始化数据区(bss):未初始化的全局变量和静态变量,在程序开始执行之前被内核初始化为0或空指针。

11、可执行程序文件调入到内存产生进程后,分为几个存储区域,说明各区域的主要内容与作用。

答:前三个与10中内容相同4、堆区:用于动态内存分配5、栈区(heap):由编译器自动分配释放,存放函数的参数值、返回值、局部变量等。

12、Linux系统下,用C语言编程,进行文件管理,有哪两类函数可用?试比较两类函数的优缺点。

答:ANSI C优点:1.具有丰富的函数可供使用。

2.直接对内存缓冲区进行操作,可以高效的写任意长度的数据块,在数据长度满足要求时安排底层系统调用,降低的系统的开销且没有数据块大小的限制,整体的效率要比直接对硬件操作的系统调用高3.具有更好的兼容性缺点:对系统调用进行封装,因此使用时会在库函数中再调用系统调用,就一次读写相同的数据来说,效率比系统调用要低POSIX优点:在类UNIX等系统中有很好的可移植性,可以直接设置对硬件的控制缺点:1.使用时会影响系统性能,如果一次只存取很少的内容,效率会很低 2.硬件会限制对底层系统调用一次能读写的数据块大小,如果数据很小,会留下空隙。

3.兼容性不是很好13、Linux系统中,系统默认为每个进程打开了几个个文件?即每个进程可以直接操作哪几个流?答:3个,STDIN_FILENO标准输入文件,STDOUT_FILENO标准输出文件,STDOUT_FILENO标准错误文件。

每个进程可以直接操作STDIN:标准输入流,STDOUT标准输出流,STDERR:标准错误输出流。

14、标准输入输出设备的文件描述符和文件流指针分别是什么?文件流指针与文件描述符有什么区别?答:使用系统调用open()成功返回一个文件描述符,文件描述符是任何打开的文件都被分配一个唯一非负整数用于表示该打开的文件,内核通过文件描述符对文件进行操作。

文件流指针:在操作一个文件时要打开该文件使用ANSIC库函数fopen打开一个文件后返回一个文件流指针与该文件关联,所有对该文件的读写操作都可以通过该指针流完成。

在Linux中,文件流指针中封装了文件描述符,才能使通过文件流指针对文件操作成为可能。

15、Linux文件类型,在shell应用层面用ls -l查看命令不同类型的文件分别显示什么内容?答:文件的类型,文件权限,应连接个数,拥有者,拥有者所在组,文件大小,最后一次修改时间。

文件类型标识:目录文件d,普通文件f,字符设备文件c,块设备文件b,管道文件p,链接文件l,socket文件s16、在Linux某个文件系统下,文件属性中惟一标识某个文件的是什么?惟一标识一个打开的文件是什么?答:索引节点,文件描述符。

17、ls –lc,-lu,-lt分别列出的是什么时间?答:–lc:最后一次修改i结点时间.-lu:最后一次访问时间.-lt:最后一次修改内容时间18、一个文件设置了setuid位,该可执行文件在执行时有什么主要的影响。

答:会使得拥有执行该文件权限的用户执行该文件时,即使不是文件所有者也会使用文件所有者的权限。

19、一个常规文件的大小可以为0(st_size字段定义),那么目录和符号连接的长度是否可以为0?答:不为0.因为每当目录文件创建时,会自动产生两个“.”开头的隐含文件,符号链接,文件包含着另一个文件的路径名。

20、Linux系统下,进程结束的方法有哪几种?答:1.在本进程或者其它进程中使用kill()调用发送SIGKILL信号。

2.进程运行过程中遇到内存段冲突,非法指令等错误,由操作系统发送相应的信号终止进程。

3.进程执行到return或者调用exit()或者运行到最后自然结束。

4.执行exec类函数执行新的进程21、Linux系统下,线程结束的方法有哪几种?答:1、调用pthread_exit()退出。

2、调用pthread_cancel函数取消该线程。

3、创建线程的进程退出或者整个函数结束。

4、其中的一个线程执行了exec类函数执行新的进程。

5.线程调用pthread_exit()或者执行到return或者执行完毕自然终止。

6.线程执行中出错由系统终止22、线程间通信的机制有哪几种?答:1.信号量2.互斥量3.共享全局变量23、进程间通信的机制有哪几种?答:本地主机通信:1.信号 2.信号量,消息队列,共享内存 3.管道(包括有名管道和无名管道)4.共享内存网络通信:1.socket 2.rpc24、画出面向连接的(TCP)socket通信模型,并解释说明其中主要的socket函数。

答:socket():创建一个socket ,作为通信的一个端点bind():为socket 命名,若是创建的AF_INET 套接字将其关联到一个IP 端口号,若是AF_UNIX 套接字将其关联到一个文件系统的路径名listen():创建一个队列用来保存等待处理的连接accept():阻塞等待连接请求,在有连接请求时创建一个新的socket 来与客户进行通信 recv()/read():接收数据 send()/write():发送数据connect():用户通过在一个命名的或者未命名的socket 和服务器的socket 建立连接 25、 画出面向非连接的(UDP )socket 通信模型,并解释说明其中主要的socket 函数。

read/recv write/sendwrite/send read/recvsocket,bind26、 Linux 系统IO 操作有哪几种方式?答:1、阻塞I/O2、非阻塞I/O3、多路选择I/O4、信号驱动I/O 27、 字节排列顺序有几种方式? 答:大端方式,小端方式采用大端方式将高位存放在低地址,小端方式将低位存放在低地址。

采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。

28、 POSIX 标准下,文件管理的基本操作函数有哪些?recvfrom sendtosendto recvfrom答:open 打开文件close关闭文件read()从文件或设备中读读数据write()向文件或者设备中写数据fcntl():传递控制信息到设备驱动程序编程29、如何使用ANSI C标准库,实现文件拷贝操作。

答:假如要从文件中拷贝数据到中#include <stdio.h>#include <stdlib.h>int main(){int c;FILE *in, *out; //定义两个文件流指针in = fopen("", "r"); //in与文件关联,使用只读方式打开out = fopen("", "w"); //out与文件关联,用只写方式打开while((c = fgetc(in)) != EOF)fputc(c, out); //每次循环从中用fgetc()读出一个字符放到c中,再从c中写入到。

如果没有读到文件尾(EOF),就继续下一次循环exit(0);}30、如何使用POSIX IO库,实现文件拷贝操作。

答:#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>#include <stdlib.h>int main(){int c[50]; //暂存从中读出的字符int in, out;int nread; //存放read()返回值,即成功读取的字符数in = open("", O_RDONL Y); //以只读方式打开out = open("", O_CREA T | O_WRONLY, S_IRUSR | S_IWRUSR); //以只写方式打开,如果该文件不存在,就使用所有者可读可写的方式创建它while((nread == read(in, c, 50) )> 0) //请求从中读取50个字符放入c中,并返回实际读取的字符数放入nread中write(out, c, nread); //将c中的有效字符写入,如果还有字符未读出,循环,如果返回值为0(即已经读完了所有字符),退出循环if(nread < 0) //如果返回值为-1,出现错误,在终端输出“read() error!”write(2, "read() error!", 13);exit(0);}31、如何编程实现文件夹的拷贝。

相关文档
最新文档