嵌入式系统离线作业

上传人:xins****2008 文档编号:104788112 上传时间:2019-10-10 格式:DOC 页数:5 大小:39.50KB
返回 下载 相关 举报
嵌入式系统离线作业_第1页
第1页 / 共5页
嵌入式系统离线作业_第2页
第2页 / 共5页
嵌入式系统离线作业_第3页
第3页 / 共5页
嵌入式系统离线作业_第4页
第4页 / 共5页
嵌入式系统离线作业_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式系统离线作业》由会员分享,可在线阅读,更多相关《嵌入式系统离线作业(5页珍藏版)》请在金锄头文库上搜索。

1、浙江大学远程教育学院嵌入式系统课程作业姓名:朱俊伍学 号:711116012003年级:2011秋学习中心:苏州简答题1.请简述用户自定义一个Linux系统调用的步骤过程。如果用户在Linux中添加新的系统调用,应该遵循几个步骤才能添加成功。(1) 添加源代码(2) 连接新的系统调用 (3) 重建新的Linux内核(4) 用新的内核启动系统2.简述Linux的slab分配器作用和原理slab分配器的作用slab分配器源于 Solaris 2.4 的分配算法,工作于物理内存页框分配器之上,管理特定大小对象的缓存,进行快速而高效的内存分配。slab 分配器为每种使用的内核对象建立单独的缓冲区。Li

2、nux 内核已经采用了伙伴系统(Buddy System)管理物理内存页框,因此slab分配器直接工作于伙伴系统之上。每种缓冲区由多个 slab 组成,每个 slab就是一组连续的物理内存页框,被划分成了固定数目的对象。为了充分利用硬件高速缓存,slab 分配器允许对象在一级硬件高速缓存中对齐(创建缓冲区时,设置 SLAB_HWCACHE_ALIGN 标志);同时使用着色(color)策略,使得同一缓冲区内不同 slab 中相同编号的对象的地址相互错开,避免它们被放入同一物理高速缓存行而造成频繁换入/换出的性能损失。为了支持多处理器同时分配对象,缓冲区为每个处理器维护一个本地缓存。处理器直接从

3、本地缓存中分配对象,从而避免了锁的使用;当本地缓存为空时,从 slab 中批量分配对象到本地缓存。slab分配器的原理:slab分配器分配的各种内存块被看作不同类型的对象,采用对象复用技术可以对对象进行如下操作:. 分配内存;. 构造对象;. 使用对象;. 析构对象;. 释放对象.有时系统会频繁地分配和释放对象,从而使对象构造和析构的开销很大, slab分配器采用基于对象缓存技术,可以大大优化这方面的性能.。slab分配器的结构:slab分配器主要有三层数据结构:对象缓存, slab对象.对象缓存 slab分配器给每一种对象分配一个缓存,同时提供一组2次幂常用缓存给不需要私有对象缓存的用户.C

4、ache_cache缓存负责分配管理缓存的结构kmem_cache_s,再由kmem_cache_s以链表结构引出空闲对象.slab分配器是一种快速,安全,高效,对硬件支持较好的分配器,预计在未来的Linux版本中还将使用slab分配器并对其做出改进3.嵌入式系统设计流程1产品定义2硬件与软件部分划分3迭代与实现4详细的硬件与软件设计5硬件与软件的集成6系统测试与发布4.嵌入式的软件调试方法有哪些?插桩调试法,直接调试法,ROM仿真法,模拟器法5.请简述ARM处理器的堆栈寻址和块拷贝寻址模式,并比较它们的不同点。堆栈寻址: 按先入先出的方式工作。块拷贝寻址: 一种多寄存器传送指令,用于将一块数

5、据从存储器的某一块位置拷贝到多个寄存器中或相反。主要不同点:两者存放数据的顺序相反。6.函数strncpy的作用是将长度为n的数组s拷贝至d,void strncpy(char *s, const char *d, int n)int c;_asmloop:CMP n, #0BEQ outLDRB c, s, #1STRB c, d, #1SUB n, n, #1B loopout:请将该函数补充完整。7.BIOS的作用和功能是什么?作用:BIOS 硬件与软件程序之间的一个“连接器”或者说是接口,负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行。它为计算机提供最低级的、最直接的硬件控制

6、,计算机的原始操作都是依照固化在BIOS里的内容来完成的。功能:1自检及初始化2程序服务3设定中断8.南桥和北桥的主要功能各是什么?北桥连接高速数据传输设备。北桥芯片负责与CPU的联系并控制内存、AGP、PCI数据在北桥内部传输,提供对CPU的类型和主频、系统的前端总线频率、内存的类型(SDRAM,DDR SDRAM以及RDRAM等等)和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持,整合型芯片组的北桥芯片还集成了显示核心。南桥连接低速数据传输设备。南桥芯片负责I/O总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等。

7、9.描述总线性能的有哪些参数?什么样的情况会导致总线冲突?后果是什么?采用什么样的技术来避免这种情况的发生?1、描述总线性能的参数有总线带宽、总线宽度、总线的单元时钟频率和总线的负载能力2、如果两个设备正好同时把数据放到总线上,就可能发生总线冲突3、后果是可能会使设备失效4、采用三态门10.可编程门阵列由哪几部分组成?各自的作用是什么?1、可编程逻辑宏单元:通过编程来实现用户所需的逻辑2、可编程输入输出宏单元:通过编程来实现所需的输入输出方式控制3、互连资源:内部互连4、重构逻辑的程序存储器:存储配置程序11.简述SoC设计的三种方法系统集成法 部分集成法 IP集成法 p22712.简述软硬件

8、划分的原则软硬件划分的基本原则是高速,低功耗由硬件实现;多品种、小批量由软件对应,处理器和专用硬件并用以提高处理速度和降低功耗。P23113.简述各各嵌入式微处理器之间的特点以及微处理器与微控制器之间的优劣。1. RAM微处理器的一般特点。大量寄存器,绝大操作都在寄存器中,寻址方式简单,固定长度的指令格式。2. MIPS 其机制是尽量利用软件方法避免流水线中的数据相关。3. PowerPC独特的分支出来单元可以让指令预期效率大大提高;超标量的设计;可处理“字节非对齐”的数据存储。4.微处理器与微控制单元区别:微控制单片化,体积大大减少,从而功耗和成本下降、可靠性提高。14.分析嵌入式Linux

9、 操作系统特点,以及与其他操作系统的不同。1 互操作性强 任务和多用户支持 多处理器支持 多硬件平台支持 多文件系统支持 多格式可执行文件支持 内存保护模式 共享库支持 按需调入执行 TCP/IP、SLIP和PPP支持 。2写出Windows CE 和VxWorks的一两个特点比较即可15.简述VxWorks的启动过程第一阶段 1代码已经位于RAM中2系统处于不会发生中断的静止状态(必须包括处理器中断被禁止和各个设备中断被禁止)在该阶段,“处理器初始化”和“代码装入”即通常所说的引导代码。第二阶段 1、激活多任务的内核2、安装设备驱动3、各种组件初始化16.简述VxWorks下中断处理过程1当

10、设备产生IRQ(中断请求)时,中断当前任务并取中断类型号2在中断应答期间,系统决定哪个设备需要服务(计算中断向量地址)3为设备调用适当的函数(系统注册的设备中断服务程序)4在VxWorks定义的中断包裹函数里,保存寄存器值及调用用户定义的中断服务程序5中断处理结束后,从中断服务器程序返回并恢复寄存器值6如果执行中断服务程序后,没有高优先级的任务运行,则恢复被中断任务的执行17.嵌入式GUI的实现一般要划分为几个模块?简述各个模块的功能。分为四个模块:1、GUI用户接口模块:该模块为上层应用软件开发人员提供方便、易用的API接口函数2、GUI对象模块:GUI对象模块对窗口环境中的逻辑对象进行组织

11、管理。3、GUI基本图形模块:在该模块中实现了对显示输出设备的操作,如画点、画线、画矩形等基本功能,还有对字符的解析输出以及对图形的解析输出。4、GUI消息驱动模块:该模块是GUI系统的通信模块,负责GUI的消息接收和与其他任务的通信以及消息队列的维护。18.Qtopia Core的底层图形接口是什么?它的驱动程序的实现分为哪两个方面?Framebuffer。Framebuffer驱动程序的实现分为两个方面:一方面是对LCD以及其相关部件的初始化,包括画面缓冲区的创建和对DMA通道的设置;另外一方面是对画面缓冲区的读写. (课本354页倒数第二段和355页第四段)19.请简述Bootloade

12、r程序启动流程。答系统从起始地址运行,Bootloader运行是是否要人为干预?否利用Bootloader进行系统更新、设置、调试等根据启动参数初始化硬件和软件将控制权交给内核Bootloader任务完成20.列出设备驱动作为Linux内核模块基本实现函数1、初始化模块函数init_module 2、cleanup_module函数 3、printk调用 4、devfs_register_chrdev函数 5、llseek 6、read 7、write 8、readdir 9、poll 10、ioctl 11、mmap 12、open 13、flush 14、release 15、fsync

13、16、fasync 17、check_media_change 18、revalidate 19、lock21.VoIP的概念以及VoIP传输的基本过程。VOIP就是Voip over IP,又称IP电话。 传输的基本过程:VOIP终端-压缩语音数据编码-IP网络-压缩语音数据译码-VOIP终端22.SDL怎么对资源访问进行同步?通过创建Mutex互斥体,并用函数lock(SDL_mutexP()和unlock(SDL_mutex()防止多个线程同时访问资源23.如何利用开源项目进行嵌入式应用程序开发,其移植过程是怎样的?如何利用开源项目进行嵌入式应用程序开发移植过程:下载开源代码-在主机Linux环境下进行交叉编译-把交叉编译好的可用于ARM的库文件下载到目标板。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号