热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌入式linux系统开发试卷,嵌入式linux系统移植试题

嵌入式Linux系统移植试题【时间:60分钟】姓名:()一、单项选择题【每题2分,共70分】1.嵌入式linux系统移植不包括(D)[A]

嵌入式Linux系统移植试题【时间:60分钟】

姓名:()

一、单项选择题【每题2分,共70分】

1. 嵌入式linux系统移植不包括( D )

[A] bootloader [B] linux内核 [C] 根文件系统 [D] 应用程序

2. 下列选项中符合gcc的编译流程的是( A )

[A] 预处理->编译->汇编->连接 [B] 预处理->汇编->编译->连接 [C] 编译->预处理->汇编->连接 [D] 预处理->连接->汇编->编译

3. 下列二进制工具哪个是丢弃目标文件的全部或者特定符号,减少文件体积的( D ) [A] size [B] as [C] nm [D] strip

4. 下列二进制工具哪个是用来反汇编的( B )

[A] nm [B] objdump [C] objcopy [D] string

5. 下列二进制工具哪个是用来进行目标格式转换的( C ) [A] nm [B] objdump [C] objcopy [D] string

6. 下列二进制工具哪个是用来把程序地址转换为文件名和行号的( D )

[A] nm [B] objdump [C] objcopy [D] addr2line

7. FS4412开发平台上,uImage被解压到什么地址( B )

[A] 0x40000000 [B] 0x40008000 [C] 0x41000000 [D] 0x43e00000

8. 编译Linux内核设备树文件使用什么命令( D )

[A] make dtbi [B] make tags [C] make dtb [D] make dtbs

9. linux要求bootloader在运行内核前,让系统进入何种模式( B )

[A] user [B] svc [C] system

10. u-boot的命令中存放自启动命令的环境变量是(D ) [A] ipaddr [B] bootargs [C] bootm [D] bootcmd

11. u-boot的命令中,设置环境变量的命令是(A ) [A] setenv [B] printenv [C] tftp [D] bootm

1

12. u-boot中存放内核启动参数的环境变量是( C )

[A] bootcmd [B] bootdelay [C] bootargs [D] ipaddr

13. 在内核配置时,哪个关键词是来包含下一级Kconfig ( B )

[A] menu endmenu [B] source [C] choice endchoice [D] depends on

14. 在内核配置时,哪个关键词是来创建一个选项菜单( D)

[A] menu endmenu [B] source [C] choice endchoice [D] config

15. 内核配置的结果保存在哪个文件中( C )

[A] Kconfig [B] Makefile [C] .config [D] System.map

16. 下列函数适合在内核解压后,console初始化以前使用的是( B ) [A] puts [B] printascii [C] printk [D] printf

17. 当console初始化以后,一般最为简单的内核调试方式为 ( A ) [A] printk [B] puts [C] bdi2000 [D] kgdb

18. 下列哪些文件系统可以运行在eMMC上(C )

[A] yaffs2 [B] ios9660 [C] ext3 [D] tmpfs

19. 下列哪些文件系统是只读的( D )

[A] ext2 [B] yaffs2 [C] ext2 [D] cramfs

20. 下列不占用任何磁盘空间的文件系统是(D )

[A] yaffs2 [B] jffs2 [C ] cramfs [D] tmpfs

21. u-boot使用网络需设置下面哪些环境变量(AB )

[A] ipaddr [B] serverip [C ] bootcmd [D] bootargs

22. 通过nfs挂载根文件系统,需要设置u-boot下面哪些环境变量( ABD )

[A] ipaddr [B] serverip [C ] bootcmd [D] bootargs

23. u-boot下通过nfs自启动,需要设置哪些环境变量(ABCD )

[A] ipaddr [B] serverip [C ] bootcmd [D] bootargs

24. 针对我们的目标板,u-boot下烧写命令,下面哪个是正确的( A )

[A] movi write u-boot 0x41000000

2

[B] movi write kernel 0x21000000 [C] movi write dtb 0x22000000 [D] movi write rootfs 0x42000000

25. 针对当前我们移植的项目,主机侧tftp共享目录和nfs共享目录,描述正确的是( AB )

[A] tftp共享目录,存放的是供目标板下载的文件

[B] nfs共享目录,存放的是供目标板子系统挂载的根文件系统 [C ] tftp和nfs都是提供给uboot使用的

[D] tftp共享目录和nfs共享目录是不一样的,不能设置成同一目录

26. 查找u-boot启动代码时,需要通过哪个文件来查找它的入口函数名( C )

[A] start.S [B] head.S [C ] u-boot.lds [D] vmlinux.lds

27. 编译内核,可以使用下面哪个命令( AB)

[A] make

[B] make uImage [C] make dtbs

[D] make menuconfig

28. 配置内核,可以使用下面哪个命令( D )

[A] make

[B] make uImage [C] make dtbs

[D] make menuconfig

29. 我们当前目标板,第一次配置内核时,需要使用下面哪个配置文件( A )

[A] exynos_defconfig [B] .config [C] kconfig

[D] make menuconfig

30. Printk支持种打印级别( C )

[A] 6 [B] 7 [C ] 8 [D] 9

31. 我们根文件系统的制作,使用的是哪个工具( B )

[A] gcc [B] busybox [C] ld [D] ar

32. 针对我们移植的系统,内核启动时,调用的第一个可执行程序是下面哪个(B [A] init [B] linuxrc [C] inittab [D] bin

3

)

33. 针对我们当前移植的系统,根文件系统和nfs,下面描述正确的是( BCD )

[A] 根文件系统就是nfs

[B] 根文件系统依赖nfs进行挂载

[C] 只有linux系统才会用到nfs,uboot不使用nfs [D] nfs路径是通过uboot传入的

34. 关于设备树,下面描述正确的是( CD )

[A] linux系统,一定需要设备树 [B] 设备树只有arm才能用

[C] 设备树一种描述硬件的数据结构,由一系列被命名的结点和属性组成

[D] 设备树有一个root结点”\\”,,root结点下可以有一系列子节点,子节点一定要在root节点下

35. 系统移植过程中,出现了问题,我们第一步需要怎么处理(BD )

[A] 在uboot烧写完成后,发现没有任何显示在putty,我们可以增加printk进行调试。 [B] 在uboot烧写完成后,发现ping命令执行不了,我们可以尝试开启ping命令。 [C] 发现uImage 下载不了,我们尝试重新编译uImage。

[D] 发现内核加载过程中,出现了oops或其他异常,我们尝试反汇编查看问题原因。

二、简答题【共30分】

1. 简述嵌入式linux系统移植的主要内容有哪些&#xff1f; (4分) () <1>搭建交叉编译环境

<2>根据芯片手册和用户资料进行bootloader的选择和移植 <3>Kernel的配置、编译、移植和调试 <4>根文件系统的制作

2. 针对我们的目标板&#xff0c;如何定位下边oops信息错误位置&#xff1f; ( 6分) () Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd &#61; c0004000

[00000000] *pgd&#61;00000000 Internal error: Oops: 805 [#1] last sysfs file: Modules linked in:

CPU: 0 Not tainted (2.6.35 #21) PC is at s3c_fb_probe&#43;0xc/0x67c

LR is at platform_drv_probe&#43;0x1c/0x24

pc : [] lr : [] psr: a0000013 sp : cfc29f0c ip : cfc457c0 fp : 00000000

4

r10: 00000000 r9 : 00000000 r8 : c03bbb40

r7 : c03b7a18 r6 : c03b7a18 r5 : c03a3310 r4 : 00000000 r3 : 000000ff r2 : cfc28000 r1 : 00000000 r0 : c03a3308

Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel

PC is at s3c_fb_probe&#43;0xc/0x67c 找到对应的地址

3&#xff0e;描述u-boot启动流程( 10分) () 第一阶段&#xff1a;

设置CPU工作模式(SVC)、关中断、MMU 内存初始化 自搬运

设置堆栈、清空BBS段为第二除段C作准备 第二阶段&#xff1a;

初始化GPIO、串口、网口等需要用到的外围设备 执行命令 加载内核

4. 回答以下文件系统相关问题( 10分) ()

(1) inittab语法&#xff0c;下面这句话是什么功能( 5分) ::sysinit:/etc/init.d/rcS 该文件的功能主要有两个&#xff1a;

一个是将不同的文件系统挂载到根文件系统下的某个目录内 二是新建kernel所需的目录

(2) mount –a 命令会读取哪个配置文件&#xff1f; (5分) 安装在该目录下的所有文件系统

5



推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
author-avatar
丝家发艺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有