2024年5月6日发(作者:)

ARM嵌入式系统基础教程简答题

1、简述通用计算机和嵌入式系统的主要区别?

答:通用计算机主要应用于数值计算、信息处理;而嵌入式系统主要应用于控制

领域,体积小,应用灵活。

2、简述MCU的基本含义是什么?

答:在一块芯片上集成了MPU、存储器、各种I/O端口和定时器/计数器的比较

完整的芯片级计算机。

3、简述MCU和DSP的差异?

答:MCU(微控制单元)主要偏重于传输控制,DSP(数字信号处理)主要偏

重于信号处理与运算。

4、简述嵌入式系统的定义、应用和特点?

答:嵌入式系统定义:

以应用为中心,以计算机技术为基础,其软硬件可裁剪配置,对功能、可靠

性、成本、体积、功耗有严格约束的一种专用计算机系统。

嵌入式系统应用:

应用于军事设备、信息终端、汽车电子、制造工业、航天航空等领域。

嵌入式系统特点:

专用性、可裁性、实时性好、可靠性高、功耗低。

5、简述嵌入式系统的软硬件结构?

答:嵌入式系统软件包括:设备驱动接口(DDI)、实时操作系统(RTOS)、可

编程应用接口(API)和应用软件。

嵌入式系统硬件包括:微处理器、外围电路和外设。

6、嵌入式处理器有那几种?它们有什么不同?

答:嵌入式处理器的种类有:MCU(微控制单元)、MPU(微处理器)、DSP(数

字信号处理)、SoC(片上系统)。

不同:MCU是集成了MPU、存储器、I/O端口和定时器/计数器的比较完整

的计算机;MPU偏重于传输控制;DSP偏重于信号处理与运算;而SoC则是片

上系统。

7、简述ARM和S3C2410之间的关系?

答:S3C2410是由三星公司生产的,采用的是ARM公司的ARM920T内核+外

围电路+AMBA总线+SDRAM(4K)+I/O组成,是一个MCU。

ARM则是由ARM公司生产的一类MPU,是对一类MPU的通称。

8、简述S3C2410的包括的硬件资源?

答:S3C2410包括了以下组件:16KB的指令和数据CACHE,处理虚拟存储

器管理的MMU,支持STN和TFT的LCD控制器,NAND FLASH的系统引导

器,SDRAM控制器,触摸屏接口,USB接口,PLL时钟产生器,一个通道的

USB从接口,4通道的PWM定时器和一个通道的内部定时器,带有看门狗定

时器,117个通用IO口,包括24个外部中断源,内部集成8通道ADC

10、简述ls、cd、mkdir、ifconfig、ping、mount、chmod、passwd和adduser等

命令的功能是什么?

答:ls:显示当前目录下的文件和子目录;cd:改变当前目录;mkdir:新建子目

录;ifconfig:显示网卡信息;ping:测试本机与目标主机的网络连通性;mount:

对文件系统进行挂载;chmod:修改文件或目录的权限;passwd:设置用户密码;

adduser:新建用户

11、在linux操作系统的命令行界面,提示符[root@localhost arm2410s]#的意思

是什么?

答:root表示用户名;localhost表示主机名;arm2410表示当前目录名;#表示超

级用户提示符。

12、telnet是什么?

答:Telnet是TCP/IP网络协议的登录和仿真程序。它的基本功能是允许用户登

录远程主机系统,Telnet包括两个部分:客户端和服务器端。

13、在linux操作系统中,使用ls -l命令后,显示如下信息:

- r w–r - - r - - root root hello.c

请解释以上显示的意思?

答:第一个-表示:文件类型为普通文件;rw-:表示用户具有的权限是可读可写

不可执行;r--:表示同组人具有的权限是可读不可写不可执行;r--:表示其他人

的权限是可读不可写不可执行; 第一个root表示用户名;第二个root表示同组

名;hello.c表示文件名。

14、NFS服务器的功能?安装NFS服务器的步骤?

答:NFS服务器的功能是:实现信息的共享。

NFS服务器的安装步骤:1、关闭防火墙;2、设置目标主机的IP地址;3、

配置NFS服务器;4、设置NFS服务器的IP地址;5、启动NFS服务;6、挂载

NFS。

15、Linux常用目录及其作用?

答:常用的目录及作用:

/bin:存放系统的执行文件;/boot:存放引导加载器使用的文件;/dev:存

放系统的设备文件;/etc:存放系统的配置文件;/home:存放系统用户的工作目

录;/lib:存放系统上需要的库文件;/mnt:系统管理员临时的mount的安装点;

/proc:记载整个系统的运行信息;/root:根用户的主目录等

16、什么叫交叉编译?为什么要使用交叉编译?

答:交叉编译:是指在一种机型上编译生成能在另一种机型上运行的可执行程序

的过程。

使用交叉编译的原因:由于嵌入式系统的硬件资源有限,如内存小,不能安

装编译所需要的资源。

17、make和Makefile之间的关系?

答:make是一种命令,是根据Makefile文件的规则决定如何编译和连接程序或

其他的动作。

18、Makefile的普通变量和预定义变量有什么不同?预定义变量有那些?它们分

别表示什么意思?

答:普通变量:引用变量时,只需在变量前面加上$符;预定义变量:已经定义

好,直接引用即可。

预定义变量有:$@、$^、$<。

$@:表示完整的目标文件名;$^:表示所有的依赖文件;$<:表示依赖文

件列表中的第一个文件。

19、gcc编译器的常用参数有那些?它们的功能分别是什么?

答:gcc编译器的常用参数:-o,-I,-L,-E,-S,-c

功能:-o表示编译成一个可执行程序;-I表示指定头文件目录;-L表示指

定库文件目录选项;-E表示对源代码进行预编译;-S表示编译成汇编代码;-c

表示把.c文件转换为以.o为扩展名的目标文件。

20、驱动程序提供那些标准函数?

答:标准函数:open();close();read();write();ioctl()等。

21、设备驱动程序和应用程序的区别?

答:设备驱动程序工作在内核态下,而应用程序工作在用户态下;设备驱动程序

从module_init()开始,将初始化函数加入内核初始化函数列表中,在内核初始化

时执行驱动的初始化函数,从而完成驱动的初始化和注册,之后驱动便停止工作,

等待应用程序的调用;而应用程序从main()函数开始执行。

22、在Linux系统下,设备分那几种?

答:设备分为三种:字符设备、块设备和网络设备。

23、设备文件、驱动程序、主设备号和次设备号之间的关系?

答:驱动程序加载到内核后会有一个主设备号

25、BootLoader的结构分2部分,简述各部分的功能?

答:两部分:Stage1:用汇编语言编写,主要进行设备的初始化;

Stage2:用C语言编写,增强程序的移植性和可读性。

26、ARM常用的BootLoader程序有那些?

答:U_Boot、BLOB、RedBoot、VIVI

27、简述生成内核映像文件zImage的步骤?

答:1、make config 进入命令行;2、make menuconfig 内核裁剪;3、make clean

清理以前已生成的目标文件;4、make dep 编译变量的依赖关系;5、make zImage

生成内核镜像文件zImage。

28、BusyBox工具的功能是什么?

答:BusyBox工具用来精简基本用户命令和程序,它将数以百计的常用

UNIX/Linux命令集成到一个可执行文件中。

29、简述根文件系统的创建过程?

答:1、建立基本的目录结构;2、交叉编译BusyBox;3、创建配置文件;4、利

用cramfs工具创建根文件系统映像文件。

30、常用的嵌入式GUI开发软件有几种?它们各自使用的语言和优缺点?

答:常用的GUI开发软件有:X Window、MiniGUI、MicroWindows、OpenGL、

Qt/Embedded。

X Window:是Linux与其他类UNIX系统的标准GUI,具有可扩展性好、

可移植性好等优点;系统庞大、效率低、源代码不开放。

MiniGUI(C语言):成熟的一个图形用户界面系统,集成了多字体和多字

符集,支持硬件加速能力,充分使用显示内存。

Micro Windows(C语言):不需要其他图形系统的支持,可以充分利用Linux

提供的Framebuffer机制来进行图形显示。

OpenGL:可移植性好。

Qt/Embedded(C++):界面美观、色彩配比好、使用与QT/Windows和QT/X11

完全一致的API接口,且具有丰富模块。

31、MiniGUI 中有那三种窗口类型?

答:主窗口、对话框和控件。

32、如何来设置主窗口的属性?

答:应通过初始化一个MAINWINCREATE结构,来设置主窗口的属性。

33、DLGTEMPLATE 和CTRLDATA 两个结构的功能是什么?

答:DLGTEMPLATE:定义一个对话框模板;CTRLDATA:定义一组控件的属

性。

34、

从应用层面来看,嵌入式数据库的特点有那些

答:1、体积小;2、可靠性高;3、可定制性好;4、支持SQL查询语言;5、提

供接口函数,供高级语言调用;6、实时性好;7、有一定的底层控制能力。

35、从技术层面而言,嵌入式数据库与传统数据库的区别体现在那几方面?

答:1、嵌入式数据库属于程序驱动式,而传统数据库属于引擎响应式;

36、嵌入式数据库主要有那几种?

答:嵌入式数据库主要有:mSQL、Berkeley DB、SQLite。

37、开发嵌入式系统的步骤?

答:1、需求分析;

2、系统总体设计;

3、详细的硬件与软件设计;

4、系统集成与测试;

5、产品发布、系统维护与升级。