一、选择题(本大题共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. 7
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.下面关于文件 \"/etc/sysconfig/network-scripts/ifcfg-eth0\"的描述哪个是正确的? ( D )。
A.它是一个系统脚本文件 B.它是可执行文件
C.它存放本机的名字 D.它指定本机eth0的IP地址 3. 如何快速切换到用户John的主目录下?( D )
*************#JohnC.cd&JohnD.cd~John4.启动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、位 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提供了完善的网络技术支持; B. CLinux是专门为没有MMU的ARM芯片开发的; C. C/OS-Ⅱ操作系统是一种实时操作系统(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 5、ARM是RISC型处理器,只有(加载)和(存储)指令可与存储器打交道,其余指令都不允许进行存储器操作。 7、S3C2410有( 1 )个快速中断,可扩展( 8 )组存储器。 8、ARM体系结构定义了7种处理器模式,其中(用户)模式是非模式,除了(用户)模式和(系统)模式外其他的5种模式属于异常模式。 1、PC机开机的初始化工作一般由BIOS完成,而嵌入式系统的初始化工作一般由____ bootloader _____完成。 2、ARM内核三级流水线机制是指指令运行过程中经过的___取指_______、译码、执行三个阶段。 3、ARM寄存器SPSR被称为_____备份的程序状态寄存器___寄存器。 4、uClinux与标准Linux的最大区别在于____内存管理_______。 5、嵌入式系统是以应用为中心、以 计算机技术 为基础、软硬件可 裁剪 、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 6、ARM的数据存取指令Load/Store是唯一用于寄存器和存储器之间进行 数据传送 的指令。 7、µC/OS中,为保护任务之间的共享数据和提供任务之间的通信,提供了操作系统任务间通信方法有: 信号量 、邮箱、 消息队列 ,事件标志。 1.嵌入式微处理器一般可分为 嵌入式微控制器、 嵌入式数字信号处理器、嵌入式微处理器、嵌入式片上系统 四种类型。 2.嵌入式系统体系结构一般具有 和 两种基本形式。 3.嵌入式存储系统一般由 高速缓存 、 内存 和 外存 组成。 4.嵌入式存储系统具有 大端格式 和 小端格式 两种数据存放格式。 5从编程的角度看,ARM微处理器的一般有 ARM 和 THUMB 两种工作状 态。 6.嵌入式软件的开发一般分为 生成 、 调试 和 固化运行 三个步骤。 7.嵌入式LINUX的内核有五个组成部分,它们是进程调度、 内存管理 、虚拟文件系统、 网络接口 、进程通信 。 三、简答题 1.在/home目录下查找文件名为。Profile的文件,找到后删除 2.将test.tar.gz文件解压缩 3.升级安装wu-ftpd软件包 4.创建一个用户,用户名为user02,所属私有组和标准组为stuff,用户家目录为/home/user2,用户登陆shell为/bin/bash。 5.赋予所有用户读和写backup.tar.gz文件的权限: 11 参: 1.find /home –name .profile -exec rm{ } \\; 2.tar -xzvf test.tar.gz 3.rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm 4.useradd –g stuff –G stuff -d /home/user2 -s /bin/bash user02 5.Chmod a+rw back.tar.gz 1.在其父目录不存在时先创建父目录的命令。 mkdir –p 2.要使得名为fido的文件具有如下权限-r-xr-x—x的命令。chmod 551 fido 3.在/root文件夹下查找后缀为.cpp的文件。find /root –name *.cpp 4.关闭linux系统(不重新启动)使用的命令 halt 5.将光盘/dev/hdc卸载的命令 。umount /dev/hdc 二 简答 (每题5分,共 30 分) 1. .简要叙述嵌入式系统的定义。 嵌入式系统是以应用为中心,以计算机技术为基础,并且在软、硬件方面可进行裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。5分 2. 什么是嵌入式实时操作系统?简单叙述其特点。 实时操作系统就是“在给定的时间内提供某种程度的服务,如果在规定的时间内没有得到结果,那整个的系统就是失败”。----------3分 对于实时操作系统其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼提高计算机系统的使用效率。-----------2分 3.什么是操作系统的移植? 操作系统的移植是指一个操作系统经过适当修改以后,可以安装在不同类型的微处理器系统上进行运行。 4. 简要叙述ARM体系微处理器中控制程序的执行流程方式? 在ARM体系微处理器中通常有3种方式控制程序的执行流程方式。它们是:正常顺序执行指令;---2分 通过跳转命令跳转到特定的标号处;--------1分 异常处理。------------2分 5. 简要叙述嵌入式系统的设计步骤? 嵌入式系统设计的重要特点是技术多样化,即实现同一个嵌入式系统可以有许多不同的设计方案选择,而不同的设计方案就意味使用不同的设计和生产技术。嵌入式系统设计一般步骤:1)需求分析--------1分 2)体系结构设计--------1分3)硬件/软件设计 ------------1分 4)系统集成和系统测试-----------2分 6. 嵌入式系统中电源管理器的作用有哪些? 操作系统是通过电源管理器来进行系统的电源管理,提高整个系统的电源效率,并为每一个外围设备模块提供电源管理。----------2分通过电源管理 12 不仅可以减少目标设备上的电源损耗,而且可以在系统重启、运行、空闲和挂起的电源状态下保存RAM 中的文件系统。----------2分电源管理模块通过软件来控制系统时钟,以降低微处理器的耗电量。这些方案与PLL、时钟控制逻辑、外设的时钟控制以及唤醒信号有关。 -----1分 ARM嵌入式系统基础教程 一、 ARM7体系结构 1、 ARM7TDMI中的PC指向的是下一条将要执行的指令,这句话对吗?为什么? 答:不对,PC中的内容总是指向正在“取指”指令的地址。 2、 简述ARM处理器的CPSR和SPSR的功能、作用和工作方式。 答:CPSR是当前状态寄存器,他可以在任何运行模式下被访问,它包括条件标 志位,中断标志位,当前处理器模式标志位,以及其他的一些相关的控制盒状态 位。ARM内核就是通过使用CPSR来监视和控制内部操作的。 SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。 3、 简述ARM7的内部寄存器R13、R14、R15的主要功能、作用和工作方式。 答:R13作为堆栈指针SP,用于指定堆栈操作出入口的地址。其他6个R13寄 存器为堆栈寄存器。为用户模式和系统模式共用一个。 R14可以用作通用寄存器,也可以用作链接寄存器。链接寄存器用于保存子程序 地址或者返回地址。 R15:程序寄存器,总是指向正在“取指”的指令 4、 什么是“字对齐”和“半字对齐”?ARM指令必须字对齐存放,Thumb指令必须半字对齐存放,这句话正确吗? 答:如果一个字数据的访问存储地址A能被4整除,即地址的低两位为零,则为 字对齐的存储器访问。 如果一个半数据的访问的存储地址A能被2整除,即地址的最低位为零,则 为半字对齐的存储器访问, 如果Thumb状态下将一个非字对齐的地址写入PC,则数据在写入PC时第 0位被忽略,最终PC的bit0为0,将会产生不可预料的结果。 5、 ARM指令长度和Thumb指令长度固定位长吗?位长分别是多少? 答:固定 , ARM为一个字(32bit),Thumb为一个半字(16bit) 6、 ARM7TDMI中的中断分为那两类?在CPU级别如何分别屏蔽? 答:分别为IRQ,FIQ ,在cpu级别通过状态寄存器CPSR中的I和F位置位来屏蔽。 13 7、简述ARM7TDMI中产生复位、IRQ、FIQ和软中断等几种主要异常的条件,这几种异常会使ARM分别进入到哪种模式?ARM核响应异常的过程,以及这几种异常地返回指令是什么? 答:复位异常:当nRESET信号被拉低时,ARM处理器放弃正在执行时的指令,等到nRESET下信号再次变高时,ARM执行下列操作:(1)强制M[4:0]复为10011,进入管理模式;(2)将CPSR中的I和F置位;(3)将CPSR中的T位清零(4)强制pc从地址0x00开始对下一条指令进行取值;(5)返回ARM状态并回复执行,无返回指令。 IRQ:只有CPSR中相应的I位被清除时,才可能发生IRQ异常,进入中断模式,内核自动作如下处理:(1)将异常处理的返回地址保存到R14-irq中(2)用户模式的CPSR被保存到SPSR-irq中;(3)修改CPSR,禁止新的IRQ中断产生,进入ARM状态,IRQ模式(4)置IRQ模式下的IRQ异常处理程序的中断入口地址向量。 地址0x00000018。 返回指令:subs pc , R14-irq , #4 FIQ:只有CPSR中的想用下位被清零时,才发生下IQ异常进入FIQ模式,FIQ中的8个专用寄存器用来保护中断地址。其返回指令: subs pc,R14-fiq , #4 软中断swi:用于进入“管理模式”,通常用于请求一个特定的管理函数。返回指令:movs pc,R14-svc 二、 ARM7TDMI指令系统 1、 ARM7TDMI支持哪几种指令集,各有什么特点? 答:支持ARM指令集和Thumb指令集两种。 ARM指令集:指令32位,效率高,代码密度低,所有ARM指令都是可以有条件 执行的 。 Thumb指令集:指令16位,代码密度较高,Thumb指令仅有一条指令具备条件 执行功 2、 ARM汇编指令的基本格式? 答:基本指令: 在ARM指令集中,每条指令占有4个字节,即指令长度为32位。 3、 何谓ARM指令的条件码?默认的条件码是什么?举例说明ARM指令的条件码对指令执行的影响。 答:条件码是按照指定条件执行的操作条件:默认条件码是AL(无条件执行) 例子:比较两值大小,并进行相应加1处理: cmp R0,R1;ADDHI R0,R0,#1;ADDLS R1,R1,#1 4、 请说明MOV指令与LDR加载指令的区别和用途。 答:LDR的操作数既可以来源于寄存器也可以来源于存储器,MOV的操作数能来源 于寄存器。 14 LDR指令从内存中读取数据放入寄存器,用于对内存变量和数据的访问、查表、 程序的跳转、外围部件的控制操作等;MOV指令将8位立即数或寄存器传送到目 标寄存器(Rd),可用于移位运算等操作。 5、 解释 B指令、BL指令与BX指令的功能差别?简述他们的应用场合。 答:B指令:是分支指令,跳转到标号指定的地址程序。 Bl指令:带连接的分支指令,跳转到指定的地址程序,同时还将程序计数器PC的值保存到LR寄存器中。 BX指令:带状态切换的分支指令,跳转到Rm指定的地址处执行程序,根据跳转地址的最低位 来切换处理器状态。 B/BL指令跳转范围在当前指令的+-32MB地址内。 6、 解释SWI(软中断)指令的执行过程和典型应用。 答:SWI指令用于产生软中断,从而实现先从用户模式到管理模式的变换。在切换时,CPSR寄存器内容将保存到管理模式的SPSR中,同时程序跳转到SWI异常向量入口处。 SWI用于系统功能调用。 7、 结合ARM7TDMI结构中的流水线结构,解释IRQ中断返回指令: SUBS PC , R14_irq , #4 的原理 答:ARMTTDMI采用三级流水线结构,PC指向正在取值的指令,产生IRQ时,保存在R14-IRQ中的是PC的值,在返回时为保证正确性应返回到PC-4即中断前“正在译码”的指令地址。所以返回指令为:subs pc,R14-irq,#4; 8、 ARM寄存器PC、CPSR、SPSR分别有什么用? 答:PC是CUP中的程序计数器,内容总是指向正在“取指”指令的地址。 CPSR是当前程序状态寄存器,用来监视和控制内部操作的。 SPSR是物理状态寄存,用于保存CPSR的当前值,从异常退出时则由它来恢复 CPSR。 9、 什么是ARM处理器的异常?ARM处理器是如何处理异常的? 答:异常:在执行正常程序过程中,当发生某种异常事件或某种外部请求时,处理 器就暂停执行当前的程序,进入异常模式。 如何处理异常: 1) 保存执行状态:将CPSR复制到发生的异常模式下的SPSR中。 2) 模式切换:将CPSR模式位强制设置为与异常类型相对应的值,同时处理器进 入到ARM执行模式,禁止所有IRQ中断,当进入FIQ快速中断模式时禁止FIQ中 断。 3) 保存返回地址:将下一条指令的地址(被打断程序)保存在LR(异常模式下 LR_excep)中。 4) 跳入异常向量表:强制设置PC的值为相应异常向量地址,跳转到异常处理程 序中。 15 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 LDR R1,=|Image$$ZI$$Limit| ;将ZI输出段存储区域赋给R1 MOV R2,#0 ;把0赋给R2 CMP R3,R1 ;比较R1和R3,若R1 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 average is: %d\\n\",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 ADD R1,R1,#1 ; R1←R1+1 B LOOP ; 无条件跳转至LOOP ; 循环的实现 ADD_END ; 行标定义 B ADD_END ; 无条件跳转ADD_END END ; 代码结束 以实验平台PXA270为设计环境,试写出一段代码,能控制八段数码管以递减方式点亮显示 (15分) #include #include \"register_variant.h\" #define LED_CS2 (*((volatile unsigned short int *)(0x10300000)))and LED2 #define LED_CS3 (*((volatile unsigned short int *)(0x10400000)))and LED4 void Delay(unsigned int x){ unsigned int i, j, k; for (i =0; i <=x; i++) for (j = 0; j <0xff; j++) for (k = 0; k <0xff; k++);} void dummyOs(void){ LED_CS2 = 0x2479; //1 2 LED_CS3 = 0x1930; //3 4 while(1) { Delay(300); LED_CS2 = 0x3024; //2 3 LED_CS3 = 0x1219; //4 5 Delay(300); LED_CS2 = 0x1930; //3 4 26 //LED1 //LED3 LED_CS3 = 0x0212; //5 6 Delay(300); LED_CS2 = 0x1219; //4 5 LED_CS3 = 0x7802; //6 7 Delay(300); LED_CS2 = 0x0212; //5 6 LED_CS3 = 0x0078; //7 8 Delay(300); LED_CS2 = 0x7802; //6 7 LED_CS3 = 0x1000; //8 9 Delay(300); LED_CS2 = 0x0078; //7 8 LED_CS3 = 0x8f10; //9 0 Delay(300); LED_CS2 = 0x1000; //8 9 LED_CS3 = 0x8f8f; //0 0 Delay(300); LED_CS2 = 0x8f10; //9 0 LED_CS3 = 0x8f8f; //0 0 Delay(300); LED_CS2 = 0x8f8f; //0 0 LED_CS3 = 0x8f8f; //0 0 Delay(300); LED_CS2 = 0x2479; //1 2 LED_CS3 = 0x1930; //3 4 }} 27
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务