




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考察知识点l 交叉开发环境概念(包括Jtag,网口,串行口等用途)嵌入式应用软件的开发需要使用交叉开发环境。交叉开发环境是指:实现编译、链接、调试应用程序代码的环境。与运行运用程序的环境不同,它分散在有通信链接的宿主与目标机环境之中。l 嵌入式嵌入式系统是以应用为中心,以计算机技术为基础,其软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用计算机系统。l 系统基本开发流程1、 需求分析阶段a、 对问题的识别与分析b、 指定规格说明文档c、 需求评审2、 设计阶段a、 数据流分析b、 划分任务c、 定义任务间的接口3、 生成代码阶段a、 代码编程b、 交叉编译和链接c、 交叉调试d、 测试4、 固化阶段l Bootloader基本概念Bootloader都分成主机端和目标端两部分。嵌入式系统的多种启动方式的启动部分的工作主要是由Bootloader程序来完成。Bootloader的主要功能有:a、 初始化处理器b、 初始化必备的硬件c、 下载系统映像d、 初始化操作系统并准备执行l 内核概念内核是指操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用。操作系统的代码分为一下两部分:a、 内核所在的地址空间称做内核空间b、 外部管理程序与用户进程所占据的地址空间称作外部空间。l 进程概念Linnux系统中的进程都具备有一下要素:a、 有一段程序供其执行。就好像一场戏要有本剧本一样。b、 有起码的“私有财产”,就是进程专用的系统堆栈空间。c、 有“户口”,就是在内核中的一个“进程控制块”。d、 有独立的存储空间,意味着拥有着专有的用户空间。进程的3个重要特性:a、 独立性b、 动态性c、 并发性l 嵌入式系统软硬件系统基本概念嵌入式系统由两部分组成:1、 硬件系统:包括嵌入式处理器、存储器、I/O接口及其外设2、 软件系统:系统软件(嵌入式操作系统,各类驱动程序等)、应用软件(各类应用程序)l 进程之间通信机制(邮箱、信号量、共享内存)用户态进程间处于并发状态。为了协调进程的运行,需要实现进程之间通信机制。在Linux中有一下几种方法:a、 管道机制:适用解决生产者-消费者问题。管道是一种在进程之间单向流动数据的结构。b、 先进先出机制(FIFO):FIFO指一个文件,它可以被所进程所共享。c、 IPC机制:IPC资源包括信号、信息量、消息队列和共享内存几种。l Linux内核基本编译步骤1、 安装内核2、 清除从前编译内核时残留的.o 文件和不必要的关联3、 配置内核,修改相关参数4、 正确设置关联文件5、 编译内核6、 编译模块7、 安装模块8、 使用新内核9、 重新生成ram磁盘10、重新启动,OK!(以上参考网上资料)l 实时系统概念实时系统是指产生系统输出的时间对系统至关重要的系统,能够在指定或者确定的时间内完成系统功能以及对外部或内部时间在同步或异步事件内做出响应的系统。系统的正确运行要同时满足特定的逻辑和时间关系。l 操作系统主要功能。1、处理器管理2、存储器管理3、设备管理4、文件管理5、用户接口l 请说明GCC的编译的基本过程。有四个阶段:1、 预处理(预编译)2、 编译3、 汇编4、 链接 在编译过程中,命令GCC首先调用cpp进行预处理,接着调用ccl进行编译。汇编过程是针对汇编语言的步骤,调用as进行工作。最后GCC调用ldl来完成链接工作。l 请解释以下语句。# Define macros for name of compilerCC = gcc/#定义编译器的宏# Define a macr o for the CC flagsCCFLAGS = -D_DEBUG -g -m486/#定义后缀的宏# A rule for building a object filetest.o: test.c test.h/#目标文件的规则$(CC) -c $(CCFLAGS) test.c/#定义CC的参数的宏l 嵌入式系统的定义。国内的一般定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。l 嵌入式系统有哪些特点?1、软硬件一体化,集计算机技术、微电子技术和行业技术为一体。2、需要操作系统支持,代码小,执行速度快。3、专用紧凑,用途固定,成本敏感。4、可靠性要求高。5、多样性,应用广泛,种类繁多。l 嵌入式系统是如何分类的?1、按表现形式分:(硬件范畴)a、系统级芯片SoCb、芯片级c、模块级2、按实时性要求分:(软件范畴)1、非实时系统2、软实时系统3、硬实时系统3、按嵌入式处理器分:1. 嵌入式为控制器MCU:单片机2. 数字信号处理器DSP3. 嵌入式微处理器MPU:如ARM4. 片上系统SoCl 简述嵌入式处理器、嵌入式实时操作系统的种类和特点。1、嵌入式处理器的种类和特点:a、嵌入式微处理器:低功耗,可扩展,存储区保护,调试功能,实时支持能力b、微控制器:成本低,单片化,体积小,功耗小,缩短产品的设计开发时间。c、DSP处理器:适合执行DSP算法,编译效率和执行速度高。2、嵌入式实时操作系统(RTOS)种类和特点 实时操作系统可分为可抢占型和不可抢占型两类。可抢占型实时操作系统的实时性最好,但易产生系统崩溃,死机等严重后果。不可抢占型实时性比非实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。l 嵌入式操作系统的分类?1、实时性分:强实时性,弱实时性2、商业模式分:商用型,免费型3、应用领域分:面向低端设备,面向高端设备l 如何选择嵌入式处理器和嵌入式操作系统?(参考网上资料)选择嵌入式处理器考虑的因素:1、 处理性能2、 技术指标3、 功耗4、 软件支持工具5、 是否内置调试工具6、 供应商是否提供评估板选择嵌入式操作系统考虑的因素:1、 应用2、 实时性3、 开发工具4、 能否使用嵌入式linux5、 价格和服务技术等l 简述嵌入式系统的设计过程。1、需求分析阶段2、设计阶段3、生成代码阶段4、固化阶段l 简述ARM处理器种类及特点。ARM处理器分ARM7、ARM9E、ARM10、SecurCore。ARM处理器有三大特点: 小体积、低功耗、成本低、高性能 16/32位双指令集 全球众多的合作伙伴l 简述ARM处理器的工作状态。ARM处理器有两种工作状态: ARM:32位,这种状态下执行字对准的ARM指令; Thumb:16位,这种状态下执行半字对准的Thumb指令。l 什么是大端模式?什么是小端模式? 大端模式:是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中,这样的存储模式,地址由小向大增加,而数据从高位往低位放; r( dLm ,小端模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。l 简述ARM微处理器的七种运行模式。1、 用户模式:正常程序执行模式2、 FIQ模式:支持高速数据传送或通道处理3、 IRQ模式:通用中断处理4、 管理模式:操作系统保护模式5、 中止模式:虚拟存储器或存储器保护6、 未定义模式:支持硬件协处理器的软件仿真7、 系统模式:运行特权操作系统任务l 简述ARM寄存器组织的特点ARM处理器共有37个寄存器:31个通用寄存器,6个状态寄存器。这些寄存器不能被同时看到,处理器状态和工作模式决定哪些寄存器编程者课件。寄存器安排成部分重叠的组,每种处理器模式使用不同的寄存器组,在任何时候,15个通用寄存器(R0-R14)、1或2个状态寄存器和程序计数器都是可见的。l 简述ARM指令寻址方式。1、寄存器寻址2、立即寻址3、寄存器移位寻址4、寄存器间接寻址4、变址寻址5、多寄存器寻址6、堆栈寻址7、块拷贝寻址8、相对寻址l 编写驱动程序一般有几个步骤,具体各是什么?1、 定义主次设备号,也可以动态获取。2、 实现驱动初始化和清除函数。3、 设计所要实现的文件操作,定义file_operations结构4、 实现所需的文件调用,如read,write等5、 实现中断服务函数,并用request_irq向内核注册6、 将驱动编译到内核或编译成模块,用ismod命令加载7、 生成设备节点文件l 操作系统是怎么实现对设备进行管理的?设备管理的功能:1、设备分配和回收;2、管理输入输入缓冲区;3、设备驱动,实现物理I/O操作;4、外部设备中断处理;5、虚拟设备及其实现。l 举出5个驱动程序的常用接口函数。 Init_modules() Cleanup_module() Register_chrdev() Get_kernel_sysms() Create_module()l 名词解释:1、 嵌入式Linux 嵌入式linux主要分为两类:第一类:在利用linux强大功能的前提下,使它尽可能的小,以满足许多嵌入式系统对体积的要求。如uClinux。第二类:将linux开发成实时系统,尤其是硬实时系统,应用于一些关键的控制场合,如RTlinux、Hard Hat linux。2、 BootLoader Bootloader都分成主机端和目标端两部分。嵌入式系统的多种启动方式的启动部分的工作主要是由Bootloader程序来完成。Bootloader的主要功能有:1、初始化处理器2、初始化必备的硬件3、下载系统映像4、初始化操作系统并准备执行3、 用户态和内核态 由于多用户操作系统代码是大家共享的运行资源,多用户操作系统Linux核心代码必须运行在高优先级和处于最大保护环境中。这样,运行在一台机器上的代码起码被分成了两个级别:高保护状态的优先级(内核)和一般级别(用户程序)。当CPU正在运行内核代码时我们就称系统处于内核态,而当CPU正运行用户代码时则称系统处于用户态。l 根据设备驱动程序的基本特性,设备文件可以分为块设备和字符设备两大类。在Linux操作系统下有3类主要的设备文件类型:块设备、字符设备、网络设备。字符设备:在对其发出读写请求时,实际硬件I/O一般会紧接发生。块设备:以系统内存做缓冲区,若用户进程能满足请求,返回请求数据,否则进行实际I/O操作。设备驱动程序的功能:1、 对设备初始化和释放2、 把数据从内核传送到硬件和从硬件读取数据3、 读取应用程序传送给设备文件的数据和回送应用程序请求的数据4、 检测和处理设备出现的错误。l Linux系统提供的基本IPC通讯方式包括哪些?现在最常用的进程间通信的方式有:信号,信号量,消息队列,共享内存。l 简单驱动实验分析,设计并实现一个简单的虚拟驱动:参考文件夹参考代码l 分析使用socket套接字实现基于TCP的进程间通信 ,典型程序分析,参考文件夹实验代码l 使用行扫描法处理键盘接口是嵌入式系统经常使用的手段,一般采用两组信号线:输出信号线(行线),输入信号线(列线)。列信号线一般通过电阻与电源正极相连。键盘的行信号线和列信号线均由CPU通过数据线加以控制,CPU通过数据线向行信号线上输出全“0”信号,然后通过数据线读取列信号,若键盘阵列中无任何键按下,则读到的列信号必然是全“1”信号,否则就是非全“1”信号。若是非全“1”信号时,CPU再在行信号线上输出“步进的0”信号,既逐行输出“0”信号,来判断被按下的键具体在哪一行上,然后产生对应的键码。如下图所示为一个具体阵列键盘,试分析该键盘实现接口,并且给出识别键盘码的程序流程图。l 模块为Linux的一个重要机制,模块程序和普通程序如何区别,下面程序为一个最为简单的模块程序,观察程序:int init_module(void) printk(Hello,worldn); return 0; void cleanup_module(void) printk(Goodbye cruel worldn); 试说明模块程序与普通c程序有何区别?与模块相关的linux命令有哪些?如何观察模块输出?l 列出你所知道嵌入式系统领域比较知名的人物、网站、论坛,书籍。(加起来不少于10个)。我国著名嵌入式系统专家:沈绪榜院士嵌入式控制研究室及其论坛Linux时代China Linux ForumChinaULinux伊甸园红联Linux论坛李亮李振春孙玉芳UNIX网络编程LINUX 高级编程l 叙述编译内核,并通过配置gurb文件让新内核运行起来的基本步骤。l 何为交叉开发环境?在嵌入式系统开发当中为何建立交叉开发环境?交叉开发环境是指实现编译、链接和调试应用程序代码的环境。有的嵌入式系统的处理能力和存储能力较弱,不能在它上面安装开发软件;有的嵌入式系统的处理结构特殊,没有可以在上面运行的开发工具。所以,在开发嵌入式系统时,通常需要采取交叉开发的方式进行。l 谈谈你对进程这个概念的理解?进程与程序在概念上有什么不同?进程是一个具有独立功能的程序,关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态概念,是一个活动的实体。它不只是程序的代码,还包括当前活动,通过程序计数器的值和处理寄存器的内容表示。程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。进程是程序在处理机上的一次执行过程,它是一个动态的概念。进程是由程序和数据组成的。 程序作为软件资料长期存在,是永久性的。 进程有独立性,动态性,并发性。l 谈谈你对进程调度的这个概念的理解?你所知道的进程调度的算法有哪些?(能结合ucos和linux说明最好)无论是在批处理系统还是时分系统中,用户进程数一般都多于处理机数,这将导致它们相互争夺处理机,另外,系统进程也同样需要使用处理机,这就要求进程调度程序按一定的策略,动态的把处理机分配给处于就绪队列中的某一进程,以使之执行。先进先出算法。最短CPU运行期优先调度算法。轮转法。多级反馈队列l 在没有操作系统的一些单片机程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟酒购买合同协议
- 香烟采购合同协议
- 膳食劳动合同协议
- 物业绿化合同协议
- 珠宝合作合同协议
- 通信安装合同协议
- 羊棚租赁合同协议
- 沙石合伙合同协议
- 松树转让合同协议
- 徐工买卖合同协议
- 碎石外包合同协议
- 2025年第三届天扬杯建筑业财税知识竞赛题库附答案(1001-1536题)
- 2025科技辅导员培训
- 劳务联合施工协议书
- 智研咨询发布:2025年纸浆模塑餐饮具行业市场规模及主要企业市占率分析报告
- 2025年广东能源集团云浮蓄能发电有限公司招聘笔试参考题库含答案解析
- 2025年CCAA《管理体系认证基础》考前必练题库500题(含真题、重点题)
- 2025年国家粮食和物资储备局垂直管理系事业单位招聘笔试参考题库附带答案详解
- 《住院患者身体约束的护理》团体标准解读课件
- 2023-2024学年天津市部分区八年级(下)期中数学试卷(含解析)
- 医院侵害未成年人案件强制报告制度培训课件
评论
0/150
提交评论