… … … … … … … …注 …意 … : … …密级 … 班 …封_ 密线 …内 … 不 … …要 … …答 …题 … _ …别密 系 …封_ …_…线__ …__…外__ …不_ …要 …写 …姓 封… …名 __ …__ …学_号 …号学 … __ …___ …班…__ …级 __ …___ …违__ …者__ …试__ …_…__ …卷__ …作__ 线零 __ …分名 …处姓生 …考 …理… _ …___ …__ …__ …___ … … …… … _ …_号 …场 …考 …… 嵌入式系统设计 (闭)卷试题A
(嵌入式技术应用专业 )
注:(普通教室) 考试时间:120分钟 题 号 一 二 三 四 五 六 七 八 九 十 合 分 评卷人 应得分 40 30 30 100 实得分 一、 填空题(每小题2分,共40分)
1、 嵌入式系统一般有3部分组成:__________、___________、___________。 2、SOC含义是_____________________________。
3、 RISC含义是
_____________________________。 4、Linux列出隐含文件或目录的命令是 _________________________。
5、Linux列出当前所在的目录位置的命令是___________________________________。 6、Linux命令rmdir或rm含义是 ______________________________________________。 7、mkdir $QTDIR/bin
命令的含义是___________________________________ _________________________________________________________________。
8、cp bin/uic $QTEDIR/bin的含义是________________________________________。 9、ifconfig eth0 192.168.0.111的含义是______________________________________。 10、inetd的含义是_________________________________________。 11、cd .. 的含义是__________________________________________。
12、rm –rf yaffs/*的含义是________________________________________。
13、进入vivi后,输入命令bon part 0 128k 192k 1216k 4288k:m6470k的作用是: __________________________________________________________________。 14、load flash kernel x 命令的作用是:________________________________。 15、make clean命令的作用是:
_________________________________________________________。 16、执行minicom命令后,再执行下面命令:
mount –t nfs –o nolock 192.168.0.121:/arm2410s /host
其上IP地址是__________IP地址,其实质是把____________________________挂载到目标机的_________________________目录。
17、./hello 回车的运行____________________________________文件。
18、ln –sf /dev/tts/0 ttyS0命令是含义是:___________________________________ _______________________________________________________________。
19、echo $变量名 的作用是:____________________________________________。 20、tar –jxf qtopia-free-source-2.1.1.tar.bz2命令是_____________________ _________________________________________________________________________。
二、阅读程序,写出程序对应的元件或程序段完成的功能。(每小题5分,共30分) 1、 drivers/example/cpu/Makefile的内容如下: # drivers/example/example/Makefile# SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
试题 第1页(共 4 页)
… … …… … … … … … … …… … … … … … … …… … … … … … …… … … … … … … …… … … … … … …… … … … … … …… … … …… … … … … … …… … … … … … …… … … …
ALL_SUB_DIRS := $(SUB_DIRS) L_TARGET := example_cpu.a
obj-$(CONFIG_example_CPU) += cpu.o include $(TOPDIR)/Rules.make clean:
rm -f *.[oa] .*.flags drivers/Makefile : ……
subdir-$(CONFIG_EXAMPLE) += example ……
include $(TOPDIR)/Rules.make
2、下面几条宏定义语句的GPBCON 、GPBDAT、GPBUP地址分别是多少? #define GPIO_CTL_BASE 0x56000000
#define bGPIO(p) __REG(GPIO_CTL_BASE + (p)) #define GPBCON bGPIO(0x10) #define GPBDAT bGPIO(0x14) #define GPBUP bGPIO(0x18) 3、阅读下面是LED驱动程序的模块的入口函数leds_init(),说明它的功能?LED的初始状态如何? static int __init leds_init (void){ int ret; int i;
ret = register_chrdev(LED_MAJOR, DEVICE_NAME, &leds_fops); if (ret < 0) {
printk(DEVICE_NAME \return ret;}
devfs_handle = devfs_register(NULL, DEVICE_NAME, DEVFS_FL_DEFAULT,LED_ MAJOR, 0, S_IFCHR | S_IRUSR | S_IWUSR, &matrix4_leds_fops,NULL);
/* set_gpio_ctrl 和write_gpio_bit 均为宏定义,对gpio写命令和写数据,*/ for (i = 0; i < 8; i++) {
set_gpio_ctrl (led_table[i] | GPIO_PULLUP_EN | GPIO_MODE_OUT); write_gpio_bit(led_table[i], 1);} printk(DEVICE_NAME \return 0;}
试题 第2页(共 4 页)
… … … … … … … …注 … …意 …: …密级 … 班 …封_密线 … …内 …不 …要 … …答 …题 _ …别 …密 系 …封_ …_…线__ …__ …外__ …不_ …要 …写 …姓 封… …名 __ …__ …学_号 …学 …号__ … ___ …班…__ …级__ … ___ …__ …违__ …者__ …试_…__ …卷__ …作__ 线零 __ …名 …分姓生 …处考 …理… _ …___ …__ …__ …___ … … …… … _
…_…号…场…考… 4、下面是键盘驱动程序的申请系统中断函数,设置的中断方式为何?中断服务程序名为何? static int request_irqs(void){ struct key_info *k; int i;
for (i = 0; i < sizeof key_info_tab / sizeof key_info_tab[1]; i++) { k = key_info_tab + i;
set_external_irq(k->irq_no, EXT_BOTH_EDGES, GPIO_PULLUP_DIS); if (request_irq(k->irq_no, &buttons_irq, SA_INTERRUPT, DEVICE_NAME,&buttons_irq)){ return -1; } }
return 0; }
5、分别写出下面几条命令的作用。
使用手工输入命令的方式编译buttons驱动模块: ① $arm-linux-gcc -D__KERNEL__ -I
/kernel/include -DKBUILD_BASENAME=buttons –DMODULE –c –o buttons.o buttons.c ② $insmod /lib/buttons.o ③$rmmod buttons.o
6、阅读下面程序代码,并对每条语句进行解释。 //hello.cpp
1 #include
3 int main(int argc, char **argv[]) 4 {
5 QApplication app (argc, argv);
6 QLabel *hello = new QLabel(\7 app.setMainWidget(hello); 8 hello->show(); 9 return app.exec(); 10 }
试题 第3页(共 4 页)
… … …… … … … … … … …… … … … … … … …… … … … … … …… … … … … … … …… … … … … … … …… … … … … … …… … … … … … … …… … … … … … … …… …………三、综合题(30分)
1、 简述说明字符设备注册函数register_chrdev和注销函数unregister_chrdev中参数的意
义。
2、 设计一般代码,用于注册外部中断1。
3、利用Qt Designer设计器设计一个窗体,窗体主要包括以下几个部件:一个CheckBox,一个PushButton,一个Silder,一个dial,一个LCDNumber,一个ProgressBar;要实现的功能是点击PushButton 会选中CheckBox;拖动Silder 同时,Dial、LCDNumber 和ProgressBar 会随其发生变化。把设计的窗体保存mywin.ui 文件,使用uic 工具把这个文件来生成mywin.h 文件和mywin.cpp文件,请写出整个具体操作步骤。
试题 第4页(共 4 页)
相关推荐: