还剩2页未读,继续阅读
文本内容:
测试题0及参考答案
(1)ARM汇编程序由__________指令、__________指令和__________指令构成
(2)ARM伪指令可以分为以下几类_________、_________、_________和_________等
(3)假设存储数据0x12345678于ARM微处理器内存0X30000000开始的位置,则0X30000001内存位置的数据为_____(A.0X12B.0X34C.0X56D.0X78)(采用小端模式进行存储)
(4)一般情况下,ARM微处理器异常处理模式共有_______种,机器启动后第一条指令执行的是_____(A.复位异常处理函数指令B.中断异常处理指令C.IRQ异常处理指令D.指令预取终止异常)
(5)调用函数FUNXYZ,则实参值分别通过____、____、___寄存器来进行传递,如果参数超过4个,则参数传递规则为_________________________________________________________________
(6)举例列出一款ARM7TDMI微内核的嵌入式微处理器__________,ARM920T微内核的嵌入式微处理器__________,ARM11内核的嵌入式微处理器__________,并列举2款64位ARM微内核__________、__________
(7)利用汇编和C混合编程,设计代码完成求abc中最大值功能,要求写出汇编启动代码和C代码测试题1及参考答案
1.嵌入式Linux操作系统包括bootloader、内核、文件系统三部分组成
2.在PC机上Linux系统编译使用的编译器名为gcc,ARM处理器嵌入式编译器名为arm-linux-gcc
3.bootloader的功能
①引导操作系统内核启动
②提供辅助命令工具
4.列出最常用的bootloader、、、、、
5.在uboot中,打印开发板上环境变量值的命令为,假如嵌入式内核名为vmlinux,通过tftp加载内核的命令为,启动嵌入式Linux内核的命令为
6.从C语言角度来理解,嵌入式Linux内核仅是众多的集合体,其有一个类似于main的函数,名称为
7.嵌入式Linux内核裁剪命令为;裁剪完成后生成配置选择文件;编译内核命令为
8.启动linux后常用的命令如ifconfig、cp、ls等通常位于;以yaffs方法为例,将嵌入式文件夹压缩成一个yaffs2格式的文件系统命令为
9.构建嵌入式Linux系统时,烧写bootloader的工具为;烧写Linux内核一般使用(A.bootloaderB.文件系统C.交叉编译器)来烧写,烧写文件系统一般使用(A.bootloaderB.文件系统C.交叉编译器)来烧写
10.简述构建嵌入式Linux系统基本过程测试题2及参考答案学号:姓名日期
1.Linux中自动生成makefile的工具集名称为autotools;工具集包括aclocal、autoscan、autoconf、autoheader和automake等几部分组成
2.一个源码文件hello.c利用自动生成makefile的工具集后得到文件一批文件后,利用命令#./configure生成Makefile,利用命令#makedist
3.嵌入式Linux应用程序移植常用configure命令生成Makefile一般来说,指定安装目录为/opt/soft的命令为./configure--prefix=/opt/soft;如果待生成的可执行目标板为ARM处理器,则命令为./configure--prefix=/opt/soft--HOST=arm-linux
4.以web服务器boa移植为例,简述其基本过程[略]
5.嵌入式数据库经常使用sqlite,为可以在开发板上运行的轻型数库通常情况下sqlite提供命令和函数编程两种使用方式sqlite3stu.db;创建包含学号,姓名和电话号码的数据表StuPhone命令为createtableStuPhoneidintegerprimarykeynametextphoneNotext;insertinto测试题3及参考答案
1.嵌入式Linux内核是可裁剪系统,通常情况下使用模块机制进行设计模块程序和应用程序分别位于Linux系统的内核空间和用户空间
2.#insmodhello.ko,查看Linux内核中有哪些模块的命令为#lsmod,删除内核中模块hello.ko的命令为#rmmodhello
3.编写一模块,向内核中添加两整数相加功能函数和两整数相减功能函数,并要求在加载模块时打印出“hello,Iaminkernelnow!”,卸载模块时打印“helloIwillleavefromkernelnow!”编写Makefile,并简述加载到内核和卸载出内核的基本命令1模块文件
(2)Makefileobj-m:=hello.koall:make–clean:rm-rf*.ko*.o
(3)编译和加载#make#inmsodhello.ko测试题4及参考答案
1.在嵌入式Linux开发过程中,EmbeddedQT通常情况下用于C设计EmbeddedQT采用工具开发包的形式提供给用户,一般情况下包括图形设计器、QT的C++类库和Makefile制作工具,字体国际化工具等
2.QT开发中采用信号和插槽机制来连接两个对象之间的通讯,假设对象a的clicked信号和对象b的handleFunction()相关联,对应语句为connectaSIGNALclickedbSLOThandleFunction;3.假设有嵌入式LED报警灯驱动设备文件/dev/led,点亮led灯调用函数ioctlfdLEDON熄灭led灯调用函数ioctlfdLEDOFF请设计QT应用程序完成如下任务,点击ON按钮点亮LED灯,点击OFF按钮熄灭LED灯写出这两个按钮的相关联的函数假设ON按钮名称为m_onOFF按钮名称为m_off关联函数connectm_WinSIGNALclickedm_onSLOTLedOnFun;connectm_WinSIGNALclickedm_offSLOTLedOffFun;voidLedOnFun{intfd;fd=open“/dev/leddev”O_RDWR;ioctlfdLEDON;closefd;}voidLedOffFun{intfd;fd=open“/dev/leddev”O_RDWR;ioctlfdLEDOFF;closefd;}测试题5及参考答案
1.嵌入式Linux驱动设备分为_字符设备___、_块设备__和网络设备三种类型,其中通常情况下键盘、鼠标、LCD屏等设备驱动属于_字符_设备,硬盘设备属于_块__设备
2.设备要能被使用,通常需要设备驱动软件,在Linux系统中,设备驱动驱动软件位于__A__A.内核空间B.用户空间,假设有LED报警灯设备驱动软件leddrv.ko,则加载该驱动软件到内核命令为_#insmodleddrv.ko__,测试完成后,将该软件从内核中卸载命令为_#rmmodleddrv____
3.除网络设备外,设备驱动通常采用_文件__方式进行访问,一般包括__打开设备__、读写控制设备,最后_关闭设备___在Linux中设备文件名本质上是设备号,将两者之间建立关联的命令为mknod,假设LED设备驱动主设备号为253,次设备号为0,设备名为leddev,则建立设备文件的具体命令为_#mknod/dev/leddevc2530__4.简述编写看门狗驱动基本步骤编写硬件驱动代码,包括编写硬件接口函数建立文件系统与硬件接口函数的关联注册字符设备添加模块代码编译设备驱动并加载到内核,包括编写Makefile编译加载创建设备节点编写应用程序访问底层设备驱动。