嵌入式系统离线作业答案 联系客服

发布时间 : 星期三 文章嵌入式系统离线作业答案更新完毕开始阅读7c27202333687e21af45a9c8

浙江大学远程教育学院 《嵌入式系统》课程作业答案

简答题

1. 请简述用户自定义一个Linux系统调用的步骤过程。 修改三个地方

1)/usr/src/linux/kerner/sys.c中添加自定义系统函数,如: asmlinkage int sys_mysyscall(int a) {

return a; }

2)定义系统调用号,/usr/src/linux/include/asm-i386/unistd.h,如: #define _NR_sysmycall 318 //不能与前面已有的重复

#define _NR_syscalls 319//修改系统中所用系统调用数目 3)在系统调用向量表里添加自定义的系统调用函数入口位置, /usr/src/linux/arch/i386/kernel/syscall_table.S,以前老版本是entry.s .long sys_mysyscall 最后重编译内核。

2. 简述Linux的slab分配器作用和原理

1) 内核通常依赖于对小对象的分配,它们会在系统生命周期内进行无数次分配;slab 缓存分配器通过对类似大小的对象进行缓存而提供这种功能,从而避免了常见的碎片问题。 2) slab 分配器还支持通用对象的初始化,从而避免了为同一目而对一个对象重复进行初始化。

3) slab 分配器还可以支持硬件缓存对齐和着色,这允许不同缓存中的对象占用相同的缓存行,从而提高缓存的利用率并获得更好的性能

3. 嵌入式系统设计流程

产品定义、硬件与软件划分、迭代与实现、软硬件的详细设计、硬件与软件集成、系统测试与发布

4. 嵌入式的软件调试方法有哪些?

插桩调试法,直接调试法,ROM仿真法,模拟器法

5.请简述ARM处理器的堆栈寻址和块拷贝寻址模式,并比较它们的不同点。 堆栈寻址: 按先入先出的方式工作。 块拷贝寻址: 一种多寄存器传送指令,用于将一块数据从存储器的某一块位置拷贝到多个寄存器中或相反。

主要不同点:两者存放数据的顺序相反。

6. .函数strncpy的作用是将长度为n的数组s拷贝至d, void strncpy(char *s, const char *d, int n)

{ int c; __asm { loop:

CMP n, #0 BEQ out

LDRB c, [s], #1 STRB c, [d], #1 SUB n, n, #1 B loop out: } }

7. BIOS的作用和功能是什么?

1) 加电自检、初始化、引导操作系统; 2) 程序服务 3) 设定中断

8. 南桥和北桥的主要功能各是什么?

1) 北桥连接高速数据传输设备。北桥芯片负责与CPU的联系并控制内存、AGP、PCI数

据在北桥内部传输,提供对CPU的类型和主频、系统的前端总线频率、内存的类型(SDRAM,DDR SDRAM以及RDRAM等等)和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持,整合型芯片组的北桥芯片还集成了显示核心。

2) 南桥连接低速数据传输设备。南桥芯片负责I/O总线之间的通信,如PCI总线、USB、

LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等。

9. 描述总线性能的有哪些参数?什么样的情况会导致总线冲突?后果是什么?采用什么样的技术来避免这种情况的发生?

描述总线性能的参数有总线带宽、总线宽度、总线的单元时钟频率和总线的负载能力 如果两个设备正好同时把数据放到总线上,就可能发生总线冲突 后果是可能会使设备失效 采用三态门 p.150

10. 可编程门阵列由哪几部分组成?各自的作用是什么? 可编程门阵列由可编程逻辑宏单元(CLB)、可编程输入输出宏单元(IOB)、互连资源和重构逻辑的程序存储器组成。各自的作用分别是用于编程、输入输出、内部互连、存储配置程序。 P.157

11. 简述SoC设计的三种方法

见书本p227,三种方法是系统集成法,部分集成法和IP集成法。

12. 简述软硬件划分的原则

见书本p231,软硬件划分的基本原则是高速,低功耗由硬件实现;多品种、小批量由软件对应,处理器和专用硬件并用以提高处理速度和降低功耗。

13. 简述各各嵌入式微处理器之间的特点以及微处理器与微控制器之间的优劣。

1.RAM微处理器的一般特点。大量寄存器,绝大操作都在寄存器中,寻址方式简单,固定长度的指令格式。

2.MIPS 其机制是尽量利用软件方法避免流水线中的数据相关。

3.PowerPC独特的分支出来单元可以让指令预期效率大大提高;超标量的设计;可处理“字节非对齐”的数据存储。

4.微处理器与微控制单元区别:微控制单片化,体积大大减少,从而功耗和成本下降、可靠性提高。

14. 分析嵌入式Linux 操作系统特点,以及与其他操作系统的不同。 嵌入式linux操作系统的特点:

1.互操作性强, 任务和多用户支持,多处理器支持, 多硬件平台支持,多文件系统支持,内存保护模式,共享库支持,按需调入执行,TCP/IP、SLIP和PPP支持。 2.写出Windows CE 和VxWorks的一两个特点比较即可

15. 简述VxWorks的启动过程 参考P334图

16. 简述VxWorks下中断处理过程 参考P337

17. 嵌入式GUI的实现一般要划分为几个模块?简述各个模块的功能。

1)GUI用户接口模块:为上层应用软件开发人员提供方便、易用的API接口函数。 2)GUI对象模块:GUI对象模块对窗口环境中的逻辑对象进行组织管理。

3)GUI基本图形模块:在该模块中实现了对显示输出设备的操作,如画点、画线、画矩形等基本功能,还有对字符的解析输出以及对图形的解析输出。

4)GUI消息驱动模块:该模块是GUI系统的通信模块,负责GUI的消息接收和与其他任务的通信以及消息队列的维护。 (课本350页上面)

18. Qtopia Core的底层图形接口是什么?它的驱动程序的实现分为哪两个方面? 1) FrameBuffer

2) 一方面是对LCD以及其相关部件的初始化,包括画面缓冲区的创建和对DMA通道的设置。另一方面是对画面缓冲区的读写。 (课本354页倒数第二段和355页第四段)

19. 请简述Bootloader程序启动流程。 教材P393页图

20. 列出设备驱动作为Linux内核模块基本实现函数 教材P492-P493,1至5

21. VoIP的概念以及VoIP传输的基本过程。

VoIP,即Voice over IP,又称IP电话。

VoIP终端 ->压缩语音数据编码 ->IP网络 ->压缩语音数据编码 ->VoIP终端

22. SDL怎么对资源访问进行同步?

通过创建Mutex互斥体,并用函数lock(SDL_mutexP())和unlock(SDL_mutex())防止多个线程同时访问资源。

23. 如何利用开源项目进行嵌入式应用程序开发,其移植过程是怎样的?

a。下载开源代码

b.在主机Linux环境下进行交叉编译

c.把交叉编译好的可用于ARM的库文件下载到目标板