嵌入式Linu应用程序开发过程考核【附答案】.docVIP

  • 12
  • 0
  • 约7.06千字
  • 约 12页
  • 2018-11-08 发布于广东
  • 举报

嵌入式Linu应用程序开发过程考核【附答案】.doc

嵌入式Linu应用程序开发过程考核【附答案】.doc

嵌入式Linux应用程序开发过程考核 附答案】 过程考核一 1、 ①ARM7采用采用3级流水线,而ARM9采用5级流水线,其时钟频 率更高,指令执行效率也有了较大提高②ARM7采用冯诺依曼结构,而ARM9 采用哈佛结构,支持指令Cache和数据Cache,具有更高的数据处理能力③ ARM9支持MMU,能够真正实现内存保护,所以比ARM7具有更强的稳定性 和可靠性 2、 在一种计算机平台运行的编译程序,能编译出在另外一平台上执 行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编 译.原因:由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成 开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上 运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计 算机)来编译出目标机的可执行代码。 3、 假设现有三个c程序main.c,mytooll.c,mytool2.c,其中主程序在 main.c中,编译命令如下,试编写makefile文件。gcc-cmain.c gcc-cmytooll.cgcc-cmytool2.cgcc-omainmain.omytooll.omytool2.o 要求: 使用自定义变量及自动变量 角军:OBJS:=main.omytooll.omytool2.o CC:=gccmain:$(OBJS)$(CC)-o$@$ A main.o:main.cmytooll.hmytool2.h$(CC)-c$lt; mytooll.o:mytooll.cmytooll.h$(CC)-c$lt; mytool2.o:mytool2.cmytool2.h$(CC)-c$lt; 4、 文件比较命令:diff[选项】文件1文件2 补丁命令:patch[选项][待patch的文件[patch文件]] 关系:patch命令跟diff配合使用,把生成的补丁文件应用到现有代码 上。 5、 列出gcc编译器常用参数,并举例说明其用法。 -c选项:只编译不链接,生成目标文件“.0” -S选项:只编译不汇编,生成汇编代码, -E选项:只进行预编译,不进行其他处理 -ofile:将file文件指定为输出文件 -g:在可执行程序中包含便准调试信息 例如:gcc - oTestTest.c 执行该指令会在当前目录下生成一个名为Test的可执行文件 过程考核二 1、 bootloader第二阶段主要工作有哪些?①用汇编语言跳转到main() 入口函数②初始化本阶段要使用到的硬件设备③检测系统的内存映射④ 加载内核映像和根文件系统映像⑤设置内核的启动参数 2、 列出底层文件10及标准10的主要函数,并说明这两种10操作的 区别。 底层文件 IO:open(),read(),write(),lseek(),close() 标准 IO:fopen(),fread(),fwrite(),fclose() 底层文件I/O —般没有采用缓冲,而标准I/O默认采用了缓冲机制; 从操作的设备上来区分,底层文件I/O主要针对文件操作,读写硬盘 等,它操作的是文件描述符,标准I/O针对的是控制台,打印输出到屏幕 等,它操作的是字符流。 3、守护进程的编写流程。①创建子进程,父进程退出②在子进程中 创建新会话③改变当前冃录为根冃录④重设文件权限掩码⑤关闭文件描 述符 5、 管道及有名管道的区别。(1)无名管道只能用于具有亲缘关系的进 程之间通信,而有名管道可以使互不相关的两个进程间彼此通信(2)无名管 道不属于其他任何文件系统,并且只存在于内核的内存空间中;有名管道可 以通过路径名来指出,并且在文件系统屮是可见的(3)—个进程向无名管道 中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲 区的末尾,并且每次都是从缓冲区的头部读出数据;FIFO严格遵循先进先出, 对有名管道及FIFO的读总是从开始处返回数据,对它们的写则把数据添加 到末尾 6、 wait函数和waitpid函数的区别。(1) wait可能阻塞调用者直到一 个子进程终止,而waitpid则川*以通过选项不会阻塞。(2) waitpid并不等 待第一个终止的进程,它有选项可以控制它所等待的进程。 2、嵌入式系统的定义:嵌入式系统是以应用为中心,以计算机技术 为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗 等有严格耍求的专用计算机系统,用于实现对其他设备的控制、监视或管 理等功能 3、嵌入式系统与桌面通用系统的区别(列出来两个)(1)嵌入式系统中运 行的任务是专用而确定的,而桌面通用系统需要支持大量的、需求多样的应 用程序(2)嵌入式系统往往对实时性提出较高的耍求。(3)嵌入式系统屮使用 的操作系统一般是实时操作系统(4)嵌入式系统运行需要高

文档评论(0)

1亿VIP精品文档

相关文档