嵌入式系统应用开发实践——考试
总阅读次
- 课程名称:《嵌入式系统应用开发实践》
- 考试时间: 2016年12月20日**
星期二
**(14:00——16:00) - 考试地点:**
学思楼1-B205
**A+B卷,复习更全面
名词解释
1.)
什么是bootloader?
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,
以便为最终调用操作系统内核准备好正确的环境``。因此整个系统的加载启动任务就完全由BootLoader来完成。
2.)
什么叫同步通信?什么叫异步通信?根文件系统?UDP?
- 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 同步是阻塞模式
- 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。异步是非阻塞模式
- 根文件系统: Linux只有一个文件树,整个文件系统是以一个树根”/“为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上,包括硬盘,软盘,光驱,调制解调器等,这和以”驱动器盘符”为基础的Windows系统是大不相同的。
- UDP:
用户数据报协议
(英语:User Datagram Protocol,缩写为UDP),又称使用者资料包协定,是一个简单的面向数据报的传输层协议
,正式规范为RFC 768。在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口
3.)
在QT里什么叫插槽?
信号和插槽用于2个对象之间的通信,信号和插槽是Qt的核心特征。插槽会在连接它的信号被激发时调用。插槽是普通C++函数。
填空
1.)
一般而言,嵌入式系统的构架可以分为4个部分:分别是( 处理器
)、存储器、输入/输出和软件,一般软件亦分为操作系统相关和( 应用软件
)两个主要部分
2.)
嵌入式系统使用的微处理器可以将嵌入式系统分为
- 嵌入式微控制器
嵌入式微处理器
嵌入式DSP处理器
- 片上系统(SOC)
3)
操作系统是连接硬件与应用程序的系统程序,其基本功能有:
- 进程管理
内存管理
文件系统管理
- IO资源管理
4.)
从嵌入式操作系统特点可以将嵌入式操作系统分为
实时操作系统
硬实时/软实时 操作系统分时操作系统
6.)
内核负责管理各个任务,或者为每个任务分配CPU时间并且负责任务之间的通信,内核的基本服务是:任务调度
。
7.)
嵌入式开发一般采用宿主机和目标机的开发方式,其中宿主机是指 台式机或PC机
8.)
串口通信中最少需要连接3条
线.
9.)
zigbee网络拓扑的3种类型:星形、树形、Mesh型
10.)
CC2530 io的反向设置的时候0为输入,1为输出
。
11.)
传感器按数据类型可以分为:模拟量、开关量、数字量
12.)
Linux操作系统下修改文件属性命令是chmod
13.)
安卓的应用程序开发环境的搭建包括
安装JDK 及配置环境变量、Eclipse安装,
ADT的安装
和安卓SDK的安装和配置
14.)
嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。
**15.)
**按操作系统的分类可以知道DOS操作属于顺序顺序执行
的操作系统,UNIX操作系统属于分时操作系统
,VxWorks 属于实时操作系统
16.)
插槽用来接受信号可以看作是普通成员函数
可以直接被调用支持public、protect、private
**17.)
**B/S架构的全称是 Browser/Server
, 即浏览器/服务器结构.B/S的三层架构指的是:客户浏览端、Web端、服务器端
送分题
**18.)
**CC2530 IO口功能设置的时候1为通用,0为专用
19.)
传感器按数据类型分类的话,分别是模拟量类型、开关量、数字量
20.)
Linux建立一个文件目录的命令是:mkdir
选择题:
1.)
CC2530是片上系统主核采用的是 8051
芯片
2.)
CC2530采用无线通信的协议是: ZigBee
**3.)
**TCP/IP协议中路由器工作的层次称之为: 网络层
4.)
CC2530 的处理器SDRAM容量最大是: 8K
5.)
CC2530有21
个数字IO引脚
6.)
CC2530有 2个
串口(UART)
7.)
光照传感器,当无光线的时候,传感器的阻值是 最大
8.)
人体的红外传感器是 开关量
9.)
温湿度传感器是 数字量
10.)
Linux中需要加载硬件的需要创建节点,创建节点的命令是: mknod
**11.)
**近距离小于15m的通信采用有线的方式有:RS22
12.)
TCP/IP协议中双绞线工作的层次称作为物理层
13.)
异步通信是靠起始位和停止位
来实现字符的界定。故称为起止式协议
判断题
1.)
所有的电子设备都属于嵌入式设备 (错)
**2.)
**冯诺依曼体系结构将被哈佛体系所取代 (错)
3.)
嵌入式Linux操作系统属于免费的操作系统 (对)
4.)
移植操作系统时需要修改操作系统中与处理器直接相关的程序 (对)
5.)
USB2.0接口最大的通信数据最大是12M/S (错)
简答题
1.)
请说出嵌入式linux开发的一般流程
请分点回答
**1.
**建立交叉编译器开发环境
**2.
**配置开发主机:MINICOM、NFS网络文件系统
**3.
**建立引导装载程序Bootloader
**4.
**下载别人已经移植好的Linux操作系统
**5.
**建立根文件系统
**6.
**建立应用程序的Flash磁盘分区
**7.
**开发应用程序
**8.
**烧写内核、根文件系统、应用程序
2.)
列举Qt开发中常见的布局方法
- (1)使用水平布局类
QHBoxLayout
; - (2)使用垂直布局类
QVBoxLayout
; - (3)使用网格布局类
QGridLayout
; - (4)使用表格布局类
QFormLayout
; - (5)使用分组布局类
QStackLayout
3.)
请你描述建立一个嵌入式开发平台的步骤
(1)连接主机和目标板
(2)使用flash工具烧写bootloader
(3)配置并启动主机的bootp服务
(4)配置并启动主机的tftp服务
(5)使用tftp下载内核及根文件系统镜像到目标板,重启目标板
(6)配置并启动NFS服务
(7)在目标板使用mount挂载主机的目录
(8)再次使用bootp命令确认bootp服务是否建立,使用tftp命令确认tftp服务建立。
(9)将内核镜像和根文件系统cp到tftp根目录。
(10)重启目标板,确认嵌入式linux正常启动。
4.)
简述物联网的架构
物联网体系架构分为3个层次:
最上层——应用层:根据底层采集的数据,形成与业务需求相适应
第二层网络层: 实现广阔的互联网功能。
底层-感知层:用来感知数据的感知层
5.)
请你写出串口通信:9600,8,N,1
9600:波特率
8:数据位
N:无校验位(奇偶校验)
1:有1个停止位
/* B卷简答题 */
1.)
请列举linux中常见的字符设备和块设备名称
字符设备:键盘、鼠标、串口、LED
块设备:U盘、硬盘、SD卡
2.)
请你描述QT开发中信号与插槽的特点
当一个信号被发射,它所连接的槽会被立即执行,就像一个普通函数调用一样。 信号/槽机制完全不依赖于任何一种图形用户界面的事件回路。
当所有的槽都返回后 emit也将返回。如果几个槽被连接到一个信号,当信号被发射时,这些槽就会被按任意顺序一个 接一个地执行。
3.)
嵌入式开发环境中主要包括哪些组件?
宿主机
目标机(评估电路板)
基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE
运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境 嵌入式操作系统
4.)
列出一个智能家具系统框架图
5.)
为什么在linux操作系统编译针对ARM处理器的时候,为什么需要引入交叉编译工具?
因为
**1.
**在ARM上使用本地的编译器来编译程序会产生大量的中间文件,这会占用很大的内存和磁盘空间,通常ARM的CPU处理速度达不到编译程序的要求
**2.
**宿主机和目标机的体系结构不同,在宿主机X86平台上可以运行的程序在目标机ARM平台上无法运行
程序题目
(2题,1个java程序一个C程序)(18分)
java程序
阅读下面问题,回答问题(10分)
1 | import com.suninfoch2_1.R; |
问题
(1)
语句 final intent intent=new Intent(this,SecondActivity.class)
中Intent是什么意思?发回它作用的语句是什么?
答:
Intent
:意图,主要用于android应用的各个组件之间的通讯。它包含发生请求的组件中的一组信息送给被请求的对象发回它作用的语句是
startActivity(intent);
**(2)
**该程序是通过什么方式存储用户和密码的?定义它的语句是什么,存储密码的语句是什么?
答:
该程序使用
使用SharedPreferences
储存用户名和密码;定义它的语句是
private SharedPreferences sp;
存储密码的语句
1
2
3
4
5if(rem_pw.isChecked()){
Editor editor=sp.edit();
......
editor.commit();
}}
B卷问题
(1)
语句 setContenView
启什么作用?
答:
setContenView:
是设置一个Activity的显示界面,这句话就是设置这个这句话所在的Activity采用R.layout下的main布局文件进行布局,把登入窗体显示出来
(2)
private SharedPreferences sp;
的作用是什么?
答:使用这个SharedPreferences
接口可以很容易的实现对设置值得保存和获取
(3)
SecondActivity.class
在什么情况下会启动?启动它的语句是什么?
答:登入成功时会启动;启动它的语句是startActivity(intent);
C语言程
**(1)
**接收到什么字符串就停止接受?为什么?
答:接收到quite
就退出因为strncmp将输入的缓冲流buff与quit对比如果相同则返回0,则结束循环关闭fd
**(2)
**就本程序而言需要定义哪些宏?各代表什么意思?
答:
- BUFFER_SIZE:buff数组长度
- TARGET_COM_PORT:宏定义具体端口号
(3)
read
函数是什么功能?buff的数据来源于什么地方?4个参数的含义?
答:read
是读函数,buff通过read函数读入;