嵌入式系统试卷及答案
更新时间:2024-02-03 00:40:01 阅读量: 教育文库 文档下载
- 嵌入式推荐度:
- 相关推荐
2014年上学期11级计算机专业嵌入式系统期末试卷
一、选择题(本大题共10个小题,每小题1分,共10分)
1、和PC机系统相比,下列哪点不是嵌入式系统所特有的:( C ) A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 2、ADD R0,R1,#3属于( A )寻址方式。 A、立即寻址 B、多寄存器寻址 C、寄存器直接寻址 D、相对寻址 3、GET伪指令的含义是:( A ) A、包含一个外部文件 B、定义程序的入口 C、定义一个宏 D、声明一个变量 4、μCOS-II操作系统不属于:( C ) A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 5、FIQ中断的入口地址是:( A ) A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 6、ARM指令集和Thumb指令集分别是( D )位的。 A、8位,16位 B、16位,32位 C、16位,16位 D、32位,16位 7、BL和BX的指令的区别是( D )
A、BL是跳转并切换状态;BX带返回的跳转并切换状态。 B、BL是带返回的连接跳转;BX带返回的跳转并切换状态。 C、BL是跳转并切换状态;BX是带返回的连接跳转。 D、BL是带返回的连接跳转;BX是跳转并切换状态。 8、Boot Loader 的启动过程是( A )
A.单阶段 B. 多阶段 C.单阶段和多阶段都有 D.都不是 9、以下说法不正确的是( B )
A 、任务可以有类型说明 B 、任务可以返回一个数值 C 、任务可以有形参变量 D 、任务是一个无限循环
10、若已定义的函数有返回值,则以下关于该函数调用叙述中错误的是( D )
A、函数调用可以作为独立的语句存在 B、函数调用可以作为一个函数的实参 C、函数调用可以出现在表达式中 D、函数调用可以作为一个函数的形参
1.用户编写了一个文本文件a.txt,想将该文件名称改为txt.a,下列命令__D____可以实现。
A. cd a.txt xt.a B. echo a.txt > txt.a C. rm a.txt txt.a D. cat a.txt > txt.a
1
2.Linux文件权限一共10位长度,分成四段,第三段表示的内容是___C___ 。
A. 文件类型 B. 文件所有者的权限 C. 文件所有者所在组的权限 D. 其他用户的权限
3.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是___D__。
A. -m B. -d C. -f D. -p 4.下面关于i节点描述错误的是__A___ 。 A.i节点和文件是一一对应的 B.i节点能描述文件占用的块数
C.i节点描述了文件大小和指向数据块的指针
D.通过i节点实现文件的逻辑结构和物理结构的转换
5.在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用__C____命令。 A. 上箭头 B. 下箭头 C. “.” D. “*”
6.某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为__D____ 。
A. 467 B. 674 C. 476 D. 764
7.在Redhat公司发布的Linux版本中,若要使得用户登录验证,需要修改以下__C____脚本。
A. /etc/inittab B. /etc/passwd C. /etc/shadow D. /etc/group
8.下列不是Linux系统进程类型的是_D_____ 。
A. 交互进程 B. 批处理进程 C. 守护进程 D. 就绪进程 9.下列关于/etc/fstab文件描述,正确的是___D___ 。 A. fstab文件只能描述属于linux的文件系统 B. CD_ROM和软盘必须是自动加载的
C. fstab文件中描述的文件系统不能被卸载 D. 启动时按fstab文件描述内容加载文件系统
10.在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是__D___ 。 A. fold B. join C. tr D. read
武汉大学计算机学院
一、选择题(单选题,每小题2分,共20分) 1.Linux系统的开发模型是 __B____ 。
A.教堂模型 B.集市模型 C.层次模型 D.网状模型 2.在Linux中,进程优先级的相关参数有多个,与实时进程优先级相关的参数是 __D____ 。
A.policy B.counter C.priority D.rt_priority 3.__B___ 属于SYSTEM Ⅴ进程间通信方式。
A.管道 B.信号量 C.软中断信号 D.锁机制
4.在Linux系统中,每个进程都有4GB的虚拟地址空间,其中内核空间占用 __C___ 。
2
A.0~2GB-1 B.0~3GB-1 C.3GB~4GB-1 D.2GB~4GB-1 5.Linux文件系统中,文件在外存的物理地址放在 ___A___ 中。 A.i节点 B.用户打开文件表 C.系统打开文件表 D. 进程控制块
6.以长格式列目录时,若文件test的权限描述为:drwxrw-r--,则文件test的类型及文件主的权限是__A____ 。
A. 目录文件、读写执行 B. 目录文件、读写 C. 普通文件、读写 D.普通文件、读
7.当字符串用单引号(’’)括起来时,SHELL将 __C____ 。 A.解释引号内的特殊字符 B.执行引号中的命令 C.不解释引号内的特殊字符 D.结束进程 8./etc/shadow文件中存放 _B_____ 。
A.用户账号基本信息 B.用户口令的加密信息 C.用户组信息 D.文件系统信息 9.Linux系统中,用户文件描述符0表示 ____A__ 。
A.标准输入设备文件描述符 B.标准输出设备文件描述符 C.管道文件描述符 D.标准错误输出设备文件描述符 10.为卸载一个软件包,应使用 ___B__ 。
A.rpm -i B.rpm -e C.rpm -q D.rpm –V
长沙理工大学考试试卷
一、单项选择题(每题2分,共40分)
1.若当前目录为/home,命令ls –l 将显示home目录下的( D )。 A.所有文件 B.所有隐含文件 C.所有非隐含文件 D.文件的具体信息
2.下面关于文件 \的描述哪个是正确的? ( D )。
A.它是一个系统脚本文件 B.它是可执行文件
C.它存放本机的名字 D.它指定本机eth0的IP地址 3. 如何快速切换到用户John的主目录下?( D )
A.cd @John B.cd #John C.cd &John D.cd ~John 4.启动DNS服务的守护进程( C )
A. httpd start B.httpd stop C. named start D. named stop
5. 若URL地址为http://www.nankai.edu/index.html,请问哪个代表主机名( D )。
A.nankai.edu.cn B.index.html C.www.nankai.edu/index.html D.www.nankai.edu 6.RED HAT LINUX 9默认使用的文件系统类型为( B )
A.ext2 B.ext3 C.FAT D.swap 7.在LINUX中,要查看文件内容,可使用( A )命令。 A.more B.cd C.login D.logout 8.光盘所使用的文件系统类型为( D )。
A.ext2 B.ext3 C.swap D.ISO 9660
3
9.以下命令中,可以将用户身份临时改变为root的是( B )。 A.SU B.su C.login D.logout
10.LINUX所有服务的启动脚本都存放在( A )目录中。
A./etc/rc.d/init.d B./etc/init.d C./etc/rc.d/rc D./etc/rc.d 11.若要使用进程名来结束进程,应使用( A )命令。
A.kill B.ps C.pss D.pstree 12.RED HAT LINUX所提供的安装软件包,默认的打包格式为( C )。 A..tar B..tar.gz C..rpm D..zip
13.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为( C )。
A.tar –cvf myfile.txt myfile.txt.tar.gz B.tar –zcvf myfile.txt myfile.txt.tar.gz C.tar –zcvf myfile.txt.tar.gz myfile.txt D.tar –cvf myfile.txt.tar.gz myfile.txt 14.LINUX交换分区的格式为( D )。
A.ext2 B.ext3 C.FAT D.swap 15.以下文件中,只有root用户才有权存取的是( B ) A.passwd B.shadow C.group D.password 16.usermod命令无法实现的操作是( B )
A.账户重命名 B.删除指定的账户和对应的主目录 C.加锁与解锁用户账户 D.对用户密码进行加锁或解锁 17.LINUX用于启动系统所需加载的内核程序位于( C )
A./ B./lib/modules/2.4.20_8/kernel C./boot D./proc
18.init进程对应的配置文件名为( D ),该进程是LINUX系统的第一个进程,其进程号PID始终为1。
A./etc/fstab B./etc/init.conf C./etc/inittab.conf D./etc/inittab
19.在LINUX运行的7个级别中,X—WINDOWS图形系统的运行级别为( C)。
A.2 B.3 C.5 D.6 20.若在文字界面下,需要键入何种指令才能进入图形界面(Xwindow)。( B )
A. reboot B.startx C.startwindow D.getinto 一、单项选择题(每题2分,共40分)
当安装linux操作系统时将选择下列那一个操作? ( B ) A. 选择 \图形登录方式\设定系统开始运行级为4 B. 选择 \文本登录方式\设定系统开始运行级为3 C. 选择 \文本登录方式\设定系统开始运行级为5 D. 选择 \图形登录方式\设定系统开始运行级为3
2.Linux通过VFS支持多种不同的文件系统。Linux缺省的文件系统是( C )
A.VFAT B.ISO9660 C.Ext系列 D.NTFS
4
3.关闭linux系统(不重新启动)可使用( B )命令。
A.ctrl+alt+del B.halt C.shutdown -r D.reboot
4.修改以太网mac地址的命令为( B )。
A.ping B.ifconfig C.arp D.traceroute 5.在vi编辑器中的命令模式下,键入( B )可在光标当前所在行下添加一新行。
A.
A. init 0 B. init 1 C. init 5 D. init 6 7.请选择关于 /etc/fstab 的正确描述。 ( B ) A. 系统启动后,由系统自动产生 B. 用于管理文件系统信息
C. 用于设置命名规则,是否使用可以用 TAB 来命名一个文件 D. 保存硬件信息
8.你使用命令“vi /etc/inittab”查看该文件的内容,你不小心改动了一些内容,为了防止系统出问题,你不想保存所修改内容,你应该如何操作( B )
A.在末行模式下,键入:wq B.在末行模式下,键入:q!
C.在末行模式下,键入:x! D.在编辑模式下,键入“ESC”键直接退出vi
9.删除文件命令为( D )
A.mkdir B.move C.mv D.rm
10.显示已经挂装的文件系统磁盘inode使用状况的命令是( A ) ?
A.df –i B.su –I C.du –I D.free –i 11.网络管理员对www服务器可进行访问、控制存取和运行等控制,这些控
制可在( A )文件中体现。A.httpd.conf B.lilo.conf C.inetd.conf D.resolv.conf
12.如果想在Linux下实现热启,应当修改/etc/inittab下的哪一行( B )。
A.#Trap CTRL-ALT-DELETE
B.#ca::ctrlaltdel :/sbin/shutdown -t3 -r now C.#id:3:initdefault:
D.#10:3:wait:/etc/rc.d/rc 3
13.启动samba服务器进程,可以有两种方式:独立启动方式和父进程启动方式,其中后者是在( C )文件中以独立进程方式启动。
A./usr/sbin/smbd B./usr/sbin/nmbd C.rc.samba D./etc/inetd.conf
14下列哪个命令在建立一个 tar归档文件的时候列出详细列表( A )。 A.tar -t b)tar -cv c)tar -cvf d)tar –r
15.假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是( B ) 。 A.fileB也随之被删除
5
B.fileB仍存在,但是属于无效文件
C.因为fileB未被删除,所以fileA会被系统自动重新建立 D.fileB会随fileA的删除而被系统自动删除 16.一个bash shell脚本的第一行是( D )? A.#/bin/csh B.#/bin/bash C./bin/bash D.#!/bin/bash
17.改变文件所有者的命令为( C )?A.chmod B.touch C.chown D.cat
18.在给定文件中查找与设定条件相符字符串的命令为( A )。 A.grep B.gzip C.find D.sort 19.建立一个新文件可以使用的命令为( D )。
A.chmod B.more C.cp D.touch 20. 存放Linux基本命令的目录是什么( A )?
A. /bin B. /tmp C. /lib D. /root
1、被称作链接寄存器的寄存器是( C );被称作程序计数器的寄存器是(D )。 A、R12 B、R13 C、R14 D、R15 2、ARM 指令集是( C )位宽,Thumb 指令集是( B )位宽的。 A、8位 B、16位 C、32位 D、64位 3、复位后,ARM处理器处于( A )模式、( C )状态。 A、SVC B、System C、ARM D、Thumb 4、ARM处理器中优先级别最高的异常为( D )。 A、IRQ B、SWI C、FIQ D、RESET 5、键盘是( B )类型的设备。 A、块 B、字节 C、网络 D、流
6、S3C2410的( C )具有死区发生器的功能。 A、timer0 B、timer1 C、timer2 D、timer3
7、在嵌入式系统设计中可以通过( A )来测量电池电压,可以用( C )输出来驱动 喇叭发声。A、ADC B、PWM C、DAC D、RTC 8、ADC挂接在( A )总线上。FLASH挂在( B ) A、APB B、AHB C、ASB D、HUB
1、下列哪一项不属于嵌入式系统软件结构一般包含的四个层面。( A ) A. 嵌入式处理器 B. 实时操作系统(RTOS) C. 应用程序接口(API)层 D. 实际应用程序层
2、一条ARM数据处理指令,例如“ADD R0,R1,#immed”中使用的立即数 #immed 是有一定限制的,下列立即 数表示中合法的是( B )。 A.0x00001234 B. 0x F000000F C.0x0000F008 D. 0x F080000
3、μCOS-II操作系统不属于( C )。 A、RTOS B、占先式实时操作系统
6
C、非占先式实时操作系统 D、嵌入式实时操作系统
4、 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是( A )。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2
5、ARM寄存器组有( D )个寄存器。 A、7 B、32 C、6 D、37
6、 每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是( D )。
A. 嵌入式Linux提供了完善的网络技术支持;
是专门为没有MMU的ARM芯片开发的; -Ⅱ操作系统是一种实时操作系统(RTOS);
D. WinCE提供完全开放的源代码
7、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D )。 A、0x21 B、0x68 C、0x65 D、0x02 8、下列不是嵌入式系统的特点的是( C )
A.嵌入式系统需要专用开发工具和方法进行设计。
B.嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统。
C.嵌入式系统使用的操作系统一般不是实时操作系统(RTOS),系统不具有实时约束。
D.嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专用”的计算机系统
9、寄存器R15除了可以做通用寄存器外,还可以做( A ) A. 程序计数器 B. 链接寄存器 C. 堆栈指针寄存器 D. 基址寄存器
10、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为( D )。 A. 0x2000 B. 0x28 C. 0x2008 D. 0x87 11、FIQ中断的入口地址是( A )。 A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 12、ARM指令集是( B )位的。 A. 16 B. 32 C. 8 D. 24 1 、ADD R0,R1,#3属于(A )寻址方式。 A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址
2、GET伪指令的含义是( A )
7
A. 包含一个外部文件 B. 定义程序的入口 C. 定义一个宏 D. 声明一个变量1-5:AACCD 6-10:CADDD
3、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存
储,则2000H存储单元的内容为( C )。 A、0x00 B、0x87 C、0x65 D、0x61 4、μCOS-II操作系统不属于( C )。
A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统
5、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为( D )。 A. 0x2000 B. 0x86 C. 0x2008 D. 0x39
6、寄存器R13除了可以做通用寄存器外,还可以做( C )。 A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器
7、FIQ中断的入口地址是( A )。 A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014
8、ARM指令集和Thumb指令集分别是( D )位的。 A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位
9、ARM寄存器组有( D )个寄存器。 A、7 B、32 C、6 D、37
10、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为( D )。 A. 0x2000 B. 0x28 C. 0x2008 D. 0x87
二、填空题(每题2分,共20分)
1、ARM7 指令系统采用三级流水线指令,分别包括:取 指、译 码、执 行。
2、实现无失真放大,应使晶体三极管工作在 放大 区域。
3、一个嵌入式系统结构有典型的四层组成,包括: 功能层 、 中间层 、 软件层 和 硬件层 。
4、USB 家庭中有三位成员,即 主机(或host) 、 设备(或 device ) 、集线器(或Hub ) 。
5、嵌入式总线按传输方式分有 并行总线 和 串行总线 ,按时钟信号分有 同步总线 和 异步总线 。
1.安装Linux系统对硬盘分区时,必须有两种分区类型:Linux原始分区(根分区) 和Linux交换分区 。
8
2.在Linux的两种链接文件中,只能实现对文件链接的一种方式是:软链接(符号链接)。
3.Linux主要采用了 请求调页 和 写时复制 _两种动态内存管理技术实现了物理内存以On demand方式动态分配。
4.对于System V类型的共享内存页面,Linux基于__Clock____算法决定哪些页面应当被换出物理内存。
5.在Linux与中断相关的三个核心数据结构中,用做抽象的中断控制器的数据结构是_ hw_interrupt_type _____,它包含一系列处理中断控制器特有的操作。
6. 通过将_ request _____动态链入块设备控制结构blk_dev_struct,Linux设备管理器有效的实现了物理设备和缓冲区之间的异步读写通讯。 7.将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式__tar czvf wang.tar.gz /home/stud1/wang____。
8.对于给定的文件file,统计其中所有包含字符串”WHU”的行数的一条命令是_grep WHU file | wc -l
9. 对于Shell脚本程序,若输入参数数量多于9个,则程序遍历每个参数可通过使用__shift__命令实现。
10.在System V进程通讯方式中,ipc_perm结构描述对一个系统IPC对象的存取权限,而用于定位IPC对象的引用标志符key可以依据键值分成_公有____和___私有___两种类型。
1.在Linux2.4.0版本中,进程有 ___6___ 种状态,进程使用 __exit____ 系统调用后进入僵死状态。
2.在Linux 中,管道分为 __2____ 种类型,若创建或打开管道时获得的描述符存放在fd中,则fd[1]是 _管道写描述符_ 。
3.Linux为用户提供的接口有 shell、XWINDOW、系统调用 4.Linux在I386体系结构中支持 __两级____分页机构。
5.每个设备文件名由主设备号和从设备号描述。第二块IDE硬盘的设备名为 __hdb____,它上面的第三个主分区对应的文件名是 __hdb3____ 。
6. 超级块是描述 __文件系统属性____ 信息的数据结构,索引节点是描述 __文件属性____ 信息的数据结构。
7.df命令完成_显示文件系统空间使用情况_____ 功能,du命令完成 _显示目录或文件占用磁盘空间容量_____ 功能。
8.命令组合(命令表)将 _建立新的子进程_____ 来执行命令。
9. 磁盘限额管理可以使用 __quota____ 软件工具,其中硬限额的容量应该__大于____软限额。
10.交换线程通过三种途径来缩减已使用的内存页面:减少buffer cache和page cache的大小、换出系统V类型的内存页面、换出或丢弃进程的页面
1.在Linux系统中,以( 文件 )方式访问设备 。
2. Linux内核引导时,从文件(/etc/fstab )中读取要加载的文件系统。
3.链接分为: 硬链接和( 软链接 )。
9
4.某文件的权限为:drw-r--r--,用数值形式表示该权限,该文件属性是( 目录 ) 。
5.前台起动的进程使用 ( ctrl+c )终止。
6. 设定限制用户使用磁盘空间的命令是( quota )。
7. 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是(/etc )。
8.将前一个命令的标准输出作为后一个命令的标准输入,称之为( 管道 )。
9.为脚本程序指定执行权的命令及参数是( chmod a+x filename )。 10.进行字符串查找,使用( grep )命令。
1.将前一个命令的标准输出作为后一个命令的标准输入,称之为( 管道 )。
2.在shell编程时,使用方括号表示测试条件的规则是:方括号两边必有( 空格)。
3.在Linux系统下,第二个IDE通道的硬盘(从盘)被标识为( hdb )。 4.当系统管理员需升级内核版本和改变系统硬件配置时,应(重新编译内核 )。
5.在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令( nslookup )。
6.启动进程有手动启动和调度启动两种方法,其中调度启动常用的命令为 at 、batch 和( crontab ) 。
7.在Linux操作系统中,设备都是通过特殊的(文件 )来访问。
8.shell不仅是(用户命令的解释权 ),它同时也是一种功能强大的编程语言。
9.在Windows9.x环境下共享Unix/Linux中的用户目录的一个工具是(samba )服务器。
10.结束后台进程的命令是(kill )。
1、cpsr寄存器的作用是_保存当前进程状态__________。
2、ARM926EJ-S中的“9”表示的含义是_版本为9的 ARM_______,“E”表示的含义是_增强型DSP指令_______,“J”表示的含义是_含有java加速器jazelle_______。
3、LINUX下察看当前目录的命令是_ls_,察看文件内容的命令是__cat___,删除目录的命令是__rm____。压缩与解压的命令是__tar____,磁盘、目录挂接命令是__mount__。
4、字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,这样的存储方式我们称之为____大端______格式。
5、ARM9TDMI中的“T”表示的含义是_支持Thumb指令集__,“D”表示的含义是_支持片上Debug__,“M”表示的含义是__ 内嵌硬件乘法器___ ,“I”表示的含义是_支持片上断点调试6、ARM指令中的第二个操作数
“operand2”有_立即数__、_寄存器__、__寄存器移位__三种具体形式。 9、LINUX将设备分成__块设备____和___字符设备_______两大类。
1、ARM9处理器有( 31 )个通用寄存器,有( 6 )个状态寄存器。
10
10、 什么是ARM体系结构中的异常向量表?在应用中有何作用? 答:处理器规定了异常处理程序入口的地址区间,并规定了地址的存放顺序,一 般称为异常向量表。
在异常处理过程中,可以加快异常服务的响应速度。 11、 在ARM体系结构中,异常向量表中存放的是什么内容? 答:异常处理程序的程序入口地址。 12、 在ARM体系结构中,异常向量表中0x0014(保留字)单元存放的是什么内容?有何用途?
答:保留的异常入口,早期的ARM结构中会被用到,而在ARM7中是保留的,以 确保软件能与不同的ARM结构兼容。而在有些处理器芯片中,这4个字节已经有 了非常特殊的用特。 13、 结合GPIO 结构原理图,简述GPIO的工作方式设置内容。
答:芯片某个管脚首先经过unix功能选择,对应PINSELx寄存器选择其功能,如 果选择GPIO功能,在经过MUX2中IOxDIR寄存器对应位选择,控制管脚输入输 出方向,GPIO管脚输入时通过IOxPIN寄存器读入,输出时通过IOxSET或IOxCLR 寄存器控制输出实现对应GPIO管脚的控制。
四、编程题
.一。从一数到十 COUNT
START
LOOP 中
EQU 0x30003100 ;定义变量COUNT的基地址
AREA Example1,CODE,READONLY;声明代码段Example1为只读 ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令 LDR R1,=COUNT ;将0X30003100赋给R1 MOV R0,#0 ;执行R0=0
STR R0,[R1] ;存储R0寄存器的数据到R1指向的存储单元 LDR R1,=COUNT ;将0X30003100赋给R1
LDR R0,[R1] ;将R1中的数值作为地址,取出此地址中的数据保存到R0 ADD R0,R0,#1 ;执行R0=R0+1 CMP R0,#10 ;将R0与10进行比较 MOVHS R0,#0 ;若R0大于等于10,则R0=0
STR R0,[R1] ;存储R0寄存器的数据到R1指向的地址单元
16
B LOOP ;跳转到LOOP END ;汇编文件结束
二,9的8次幂
X EQU 9 ;初始化X为9 n EQU 8 ;初始化N为8
AREA
Example3,CODE,READONLY ;生明代码段Example3为只读
ENTRY ;标识程序入口路 CODE32 ;声明32位ARM指令 LDR S
P,=0x30003F00 ;把0x30003F00 赋给SP(R13)
LDR R0,=X ;把9赋给R0 LDR R1,=n ;把8赋给R1
BL POW ;跳转到POW,并把下一条指令地址存入到R14中 B HALT ;等待跳转
STMFD SP!,{R1-R12,LR} ;将R1-R12入栈,满递减堆栈 MOVS R2,R1 ;将R1赋给R2,并影响标志位 MOVEQ R0,#1 ;若Z=1,则R0=1
BEQ POW_END ;若Z=1,跳转到POW_END MOV R1,R0 ;将R0中值赋给R1 SUB R2,R2,#1 ;将R2-1的只赋给R2
BL DO_MUL ;跳转到DO-MUL,并把下一条指令地址存入R14中 SUBS R2,R2,#1 ;将R2-1的值赋给R2,并影响标志位 BNE POW_L1 ;若Z=0,跳转到POW_L1
START
HALT POW
POW_L1
POW_END LDMFD SP!,{R1-R12,PC} ;数据出栈,存入到R1-R12,PC中 DO_MUL MUL R0,R1,R0 ;把R1*R0的值赋给R0
程序清单(一) C 语言实验参考程序
#define uint8 unsigned char ;定义一个无符号字符常量uint8 #define uint32 unsigned int ;定义一个无符号整形常量unint32 #define N 100 ;定义一个常量N=100(宏定义,100用N代替)
uint32 sum; ;定义sum为无符号整型常量(声明一个unsigned int型的变量sum) void Main(void) ;主函数
{uint32 i; ;定义无符号整型常量i(声明一个unsigned int型的变量i)
17
MOV PC,LR ;LR中的值赋给PC END ;汇编结束
三:从一一直加到一百
sum=0; ;sum初始值为0
for(i=0;i<=N;i++) ;i在N内自增加1(i从0开始,i<=N时循环成立) {sum+=i;} ;把sum+i赋给sum while(1); ;为真循环 }
程序清单(二) 简单的启动代码
IMPORT |Image$$RO$$Limit | ;R0输出段存储区域界限 IMPORT |Image$$RW$$Base | ;RW输出段运行时起始地址 IMPORT |Image$$ZI$$Base | ;ZI输出段运行时起始地址 IMPORT |Image$$ZI$$Limit | ;ZI输出段存储区域界限 IMPORT Main ;主函数
AREA Start,CODE,READONLY ;声明代码段start,为只读 ENTRY ;程序入口
CODE32 ;声明32位ARM指令 Reset
LDR SP,=0x40003f00 ;将0x40003f00赋给SP
LDR R0,=|Image$$RO$$Limit| ;将R0输出段存储区域界限赋给R0 LDR R1,=|Image$$RW$$Base | ;将RW输出段运行时起始地址赋给R1 LDR R3,=|Image$$ZI$$Base | ;将ZI输出段运行时起始地址赋给R3 CMP R0,R1 ;比较R0和R1,相等Z=1,反之Z=0 BEQ LOOP1 ;若Z=1,则跳到LOOP1 CMP R1,R3 ;比较R1和R3,若R1 LDRCC R2,[R0],#4 ;若C=0,读取R0地址单元内容并且存入R2,且STRCC R2,[R1],#4 ;若C=0,读取R2中的数据存入R1,且R1=R1+4 BCC LOOP0 ;若C=0,跳转到LOOP0 LDR R1,=|Image$$ZI$$Limit| ;将ZI输出段存储区域赋给R1 MOV R2,#0 ;把0赋给R2 CMP R3,R1 ;比较R1和R3,若R1 STRCC R2,[R3],#4 ;若C=0,将R2中数据保存到内存单元R3中,且 BCC LOOP2 ;若C=0,跳转到LOOP2 B Main ;跳转到主程序 END ;汇编结束 LOOP0 R0=R0+4 LOOP1 LOOP2 R3=R3+4 实验四 18 程序清单(一) C 语言调用汇编的参考程序 #define uint8 unsigned char ;定义一个无符号字符常量uint8 #define uint32 unsigned int ;定义一个无符号整型常量.uint32 extern uint32 Add(uint32 x,uint32 y); //声明子程序Add为一个无符号整型常量,它为2个无符号整型常量x,y的和 uint32 sum; ;定义sum为无符号整型常量 void Main(void) ;无返回主程序 {sum=Add(555,168); ;sum等于555+168 while(1); ;为真循环 } 程序清单(二) 汇编加法函数程序 EXPORT Add ;声明子程序Add方便调用 AREA Start,CODE,READONLY ;声明代码段start,为只读 ENTRY ;程序入口 CODE32 ;声明32位ARM指令 Add ADD R0,R0,R1 ;将R0+R1值赋给R0 MOV PC,LR ;将LR值赋给PC END ;汇编结束 19 14、 设计编程:LPC2131的P0.7引脚连接了一个蜂鸣器,编程发出等周期的滴滴声。 答: #define Void DelayNS(int m) { int i; for(;m>0;m--) for(i = 0;i<50000;i++) } main() { PINSEL0 = 0x00000000; IO0DIR = 1 << 7; while (1) { IO0SET = 1 << 7; DelayNS(50); IO0CLR = 1 << 7; DelayNS(50); } } 20 15、 设计编程:LPC2131的P0[1:0] 两引脚分别连接了2个按键K1和K4;P0[7:6] 两引脚分别连接了2个指示灯LED1和LED2;请编制驱动程序,使Kx 按键时,LEDx 灯亮。 答: #define k1 1<<0 #define k2 1<<1 #define LED1 1<<7 #define LED2 1<<8 main() { PINSEL0=0x00000000; IO0DIR=IO0DIR & (~k1); IO0DIR=IO0DIR & (~k2); IO0DIR=IO0DIR|LED1; IO0DIR=IO0DIR|LED2; IO0CLR=IO0CLR|LED1|LED2; While(1) { If((IO0PIN & k1)==0) IO0SET=LED1; else IO0SET=LED1; If((IO0PIN & k2)==0) IO0SET=LED2; else IO0SET=LED2; } } 16、 ARM 芯片中定时器结构原理如下图,试设计一个周期为2秒的方波发生器。(假设该系统的外围设备时钟频率Fpclk = 10MHz) 答:int mian{ PINSEL0=PINSEL0 & (1(3<<10)) | (2<<10); T0CTCR=0x00; T0TC=0; T0PR=99; T0MCR=0x02<<3; T0MR1=Fpclk/100; T0EMR | =0xc2; T0TCR=0x01; While(1); } 21 17、 使用学过的知识设计设计一个汽车用“车速表”,写出你的设计方案并编程实现。 提示:可用霍尔元件将车轮的转动转换为脉冲。车轮每转动一圈会产生一个方波脉冲。 答: 转动脉冲: void __irq IRQ_Timer0 (void) { if ((IO0SET & BEEP) == 0) IO0SET = BEEP; /* 关闭BEEP */ else IO0CLR = BEEP; T0IR = 0x01; /* 清除中断标志*/ VICVectAddr = 0x00; /* 通知VIC中断处理结束 */ } int main (void) { int spped=1; PINSEL1 = 0x00000000; /* 设置管脚连接GPIO */ IO0DIR = BEEP; /* 设置BEEP控制口输出*/ IRQEnable(); /* IRQ中断使能*/ /* 定时器0初始化 */ T0TC = 0; /* 定时器设置为0*/ T0PR = 0; /* 时钟不分频*/ T0MCR = 0x03; /* 设置T0MR0匹配后复位T0TC,并产生中断标志*/ T0MR0 = Fpclk / spped; /* 0.5秒钟定时*/ T0TCR = 0x01; /* 启动定时器*/ /* 设置定时器0中断IRQ */ VICIntSelect = 0x00; /* 所有中断通道设置为IRQ中断*/ VICVectCntl0 = 0x20 | 0x04; /* 设置定时器0中断通道分配最高优先级*/ VICVectAddr0 = (uint32)IRQ_Timer0; /* 设置中断服务程序地址*/ VICIntEnable = 1 << 0x04; /* 使能定时器0中断*/ while (1){ if ((IO0PIN & KEY1) == 0) { spped=10; T0MR0 = Fpclk / spped; /* 0.5秒钟定时*/ T0TC = 0; /* 定时器设置为0*/ } else if ((IO0PIN & KEY2) == 0) { spped=20; 22 T0MR0 = Fpclk / spped; /* 0.5秒钟定时*/ T0TC = 0; /* 定时器设置为0*/ } else if ((IO0PIN & KEY3) == 0) { spped=30; T0MR0 = Fpclk / spped; /* 0.5秒钟定时*/ T0TC = 0; /* 定时器设置为0*/ } else if ((IO0PIN & KEY4) == 0) { spped=40; T0MR0 = Fpclk / spped; /* 0.5秒钟定时*/ T0TC = 0; /* 定时器设置为0*/ } }; return 0; } 汽车车速: int main (void) { int Vx; PINSEL0 = (PINSEL0&(~(3<<20)))|(2<20); PINSEL0 = PINSEL0&(0<<24); T0CTCR &= 0xf0; T0TC = 0; T0PR = 99; T0MCR = 0x03; T0MR0 = Fpclk/300; T1CTCR = (T1CTCR&(~0x0f)|0xf1); T1TC =0; T1MCR = 0x00; T1CCR &= ~0x07; T0TCR = 0x01; T1TCR = 0x01; while (1) { if ((T0IR&0x01) == 1) { T0IR = 0x01; Vx = T1TC; T1TC = 0; VtotalLen += Vx; 23 VthisLen += Vx; Vspeed = (Vx*L*3.6)/HrN; } if ((IO0PIN & KClr) == 0) VthisLen = 0; } return 0; } 1、编写一程序,用查询的方式,对S3C2410的A/D转换器的第3通道连续进行100次A/D转换,然后将其结果求平均值。设预分频为49。注意:A/D转换器有独立的模拟信号输入引脚AIN0---AIN9。 ADCCON格式如下: 15 14 13 …… 6 5 4 3 2 1 0 ECFLG PRSCEN PRSCVL SEL_MUX STDBM READ_START ENABLE_START ADCDAT0格式如下: 15 14 13 12 11 10 9 …… 0 UPDOWN AUTO_PST XY_PST 保留(0) 转换结果 ADCCON、ADCDAT0的地址宏定义为: #define rADCCON (*(volatile unsigned *)0x58000000) #define rADCDAT0 (*(volatile unsigned *)0x5800000c) #define pref 49 #define ch 3 int adc(void) { rADCCON=(1<<14)|(pref<<6)|(ch<<3)|1; //允许预分频,启动转换 while(rADCCON&0x01==1); //查询是否已经启动转换 while(rADCCON&0x8000==0); //查询转换是否结束 return rADCDAT0&0x3ff; //读取转换结果 } void main() { int adc_data=0, i; for(i=0;i<100;i++) adc_data+=adc(); adc_data=adc_data/100; printf(\,adc_data); } 24 1、编写程序,将存储器从0x400000开始的200个字数据,传送到0x400600开始的区域。 解: MOV R0,#0x400000 LDR R1,=0x400600 MOV R7,#200 LP: LDR R2,[R0],#4 STR R2,[R1],#4 SUBS R7, R7,#1 BNE LP HERE:B HERE 2、编写一程序,查找存储器从0x500000开始的200个字中为5的数目,将其结果存到0x600000中。 解: MOV R0,#0x500000 MOV R1,#0 MOV R7,#200 LP LDR R2,[R0],#4 CMP R2,#5 BNE NEXT ADD R1,R1,#1 NEXT SUBS R7,R7,#1 BNE LP MOV R0,#0x600000 STR R1,[R0] B $ 3、实现1+2+……+N。 N EQU 5; ; 常量的定义 AREA Example,CODE,READONLY ; 定义段名属性等 ENTRY ; 程序入口 CODE32 ; ARM代码 START ; 行标定义 LDR R0,=N ; R0赋值 MOV R2,R0 ; R2充当计数器 MOV R0,#0 ; R0←0 MOV R1,#0 ; R1←0 LOOP ; 行标 CMP R1,R2 ; 比较R1 R2 BHI ADD_END ; 如果R1>R2 跳转到 ADD_END ; 分支的实现 ADD R0,R0,R1 ; R0←R0+R1 25
正在阅读:
嵌入式系统试卷及答案02-03
滁州市招标采购交易中心评标程序书07-19
《“平”语近人》观后感04-02
管理学经典案例02-02
工程合同管理及招投标课程设计06-16
2013外国语学校中加交流 - 图文03-23
事业单位开展业务活动情况报105-09
2018届高考语文复习检测试题10 Word版含答案06-29
管理学经典案例分析题汇总04-12
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 嵌入式
- 试卷
- 答案
- 系统
- 中国反刍饲料产业深度调查及未来五年运行态势预测报告
- GIS术语
- 截至2017年底最新中国书法家协会名单
- 高考物理二轮复习专题三电场与磁场第讲带电粒子在复合场中的运动突破练 doc
- XX高速公路创优施工方案
- 中国人民大学2013年拟接收外校推免生名单(学术型、专业型硕士)
- 十八届三中全会全文(中共中央关于全面深化改革若干重大问题的决定)
- 人教版三年级语文上册一二单元练习
- 操作系统习题2(含答案)
- 基于大plc大型电力变压器冷却控制的研究毕业论文
- 《商务礼仪》课程标准(定稿)
- 仪器分析课后习题答案1概要
- 新概念第1册单词汇总打印版横版
- 最新外国人名大全
- 1997至2011年央财801经济考研真题整理打印版
- 民法典与社会转型 - 王利明教授访谈录
- 第八章个人所得税练习题
- 李亚南 河北枣强信誉楼商厦品牌战略管理的探析
- 招投标知识试题及答案
- 山东单县二中2012届高三模拟预测(解析版)-生物解读