嵌入式操作系统(复习题_第1页
嵌入式操作系统(复习题_第2页
嵌入式操作系统(复习题_第3页
嵌入式操作系统(复习题_第4页
嵌入式操作系统(复习题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、填空题1. ARM处理器中断有 快速中断模式(FIQ) 和 外部中断模式(IRQ) 处理模式。2. 典型的ARM基于JTAG调试结构包括哪几个部分?Debug主控端,协议转换器,调试目标机 3. LINUX系统中设备文件通常分为哪几种?字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。4. LINUX环境中的变量包括哪几个?path home histsize hostname shell mail ps1 lang/langue 5. gcc编译分成哪4个阶段:预处理(Pre-Processing) 编译(Compling) - 汇编(Assembling) - 连接(L

2、inking)6. flash memory上的两种技术分别是 NAND 和 NOR 7. MMU是 内存管理单元 ,主要作用有地址映射和 对地址访问进行保护和限制 8. Pxa255拥有 7 级超级流水线,主要由 主流水线、MAC流水线和内存访问流水线部分构成的9. 进程的虚拟内存包括 和 10. 内核(kernel) 是操作系统内部核心程序,它向外部提供了对计算机核心管理调用11. 模块的装入通过insmod命令手工将module载入内核 和 根据需要载入module 12. 嵌入式操作系统要为特定的硬件设备或环境设计符合要求的 图形用户界面GUI 13. 在LINUX根文件系统中所有的设

3、备文件都放在 目录dev下 或其子目录之下 14. X Windows 最先在Unix上使用的图形界面,由X 服务器 X客户机X 协议 三部分组成15. 内核最后一个初始化动作是 启动初始化程序 (运行/sbin/init可执行文件) 16. 线程 共享资源的程序实体,创建一个线程系统开销要比一个进程 小的多 17. 内核碰到错误时,会显示 处理器 状态,包括cpu寄存器的内容和 页描述表的位置 还有 一些难理解的信息 18. 在ARMLINUX体系中用来处理外设中断的异常模式是中断请求19. 闪存主要由 NOR flash 和 NAND flash 20. 预定义变量:将所有的外部变量表示成

4、内建环境变量,并且将错误信息表示成返回值AS = as 指定汇编器 ASFLAGS AS指令的选项设置 CC = cc =gcc 指定编译器 $* 没有扩展名的当前目标文件 $ 当前目标文件 $ tftp zImage kernel 复制到flash中 XSBASE flash kernel下载文件系统filesysytemXSBASE tftp rootfs.img rootXSBASE flash rootReboot4. gdb编译的步骤命令(填空关键步骤)编译文件:gcc g filename.c -o filename运行: ./filename调试: gdb filename(gd

5、b) file filename (这个命令将载入filename可执行文件,就像你在gdb命令行里装入它一样)运行程序:(gdb) run(gdb) list (三次,列出源代码)设置断点: (gdb) break 23查看断电信息: (gdb) info break运行程序:(gdb ) r单句执行 :(gdb) next继续运行程序: (gdb) c打印变量i : (gdb) p i退出 GDB :(gdb) q5. Makefile 给出几个文件,写出make file的文件(如果不使用预定义变量/使用预定义变量该怎么写)通过vi编译器来创建两个文件hello.c和makefileHe

6、llo.c Makefile #include “stdio.h” CC=gcc main() hello:hello.o $(CC) hello.o o hello printf(“welcome to shanghai!n”); hello.o:hello.c $(CC) chello.c o hello.oclean: rm rf hello*.o使用预定义变量编译程序MakefielCC=gcchello:hello.o $(CC) $ -o $hello.o:hello.c $(CC) c $ -o $clean: rm rf hello*.o 6. Busybox文件系统操作的过程

7、当中一些主要的命令将busybox-1.00-pre5.tar.gz.bz2放在/root/tars下并进行解压缩#mkdir /root/tars#cp busybox-1.00-pre5.tar.gz.bz2 /root/tars#tar jxvf busybox-1.00-pre5.tar.gz.bz2#cd busybox-1.00-pre5#make menuconfig (出现busybox的配置界面)保存后,编译BusyBox#make dep#make#make install编译和安装完后可以在生成_install目录。第一题:tar -cxtzjvfpPN 文件与目录 .参

8、数-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!例如使用 tar -zcvfP 生成文件名 目标文件夹就是错误的写法,要写成 ta

9、r -zcvPf tfile sfile才对喔!第二题:echo Nameread filenameif -d $filename thencd $filenamebashelseecho NOT Directoryfi第三题:1、TFTP命令下载kernel:tftp zImage kernel2、复制到flash中:flash kernel3、下载filesystem:tftp rootfs.img rootflash root第四题:编译GDB:/usr/local 文件夹下解压tar xvzf gdb-5.3.tar.gzcd gdb-5.3./configure -target=ar

10、m-linux -prefix=/usr/local/arm-gdb -vmakemake intsallGDB客户端编译:cd /usr/local/gdb-5.3export PATH=$PATH:usr/local/arm-linux/bin./configure -target=arm-linux -host=arm-linuxcd gdb/gdbservermake CC=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gcc (会出错)修改 gdb/gdbserver/config.h文件注释掉 ,修改为 /#define HAVE_SY

11、S_REG_H 1make CC=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gccGDB调试:配置IP,使同一网段(目标板0.50,本机0.2)arm-linux-gcc-g test.c -o test下载(zmodem)test和gdbserver到XSBase连接:目标板上命令./gdbserver :1234 test 结果显示进程建立成功与进程PID本机命令cp /pxa255/test /usr/local/arm-gdb/bincd /usr/local/arm-gdb/bin./arm-linux-gdb

12、test连接成功,目标板回显消息:remote debuggingXXXXXXXXlist显示代码 break n设断点,n代表行数cont执行step单步quit退出第五题:CC=gcchello:hello.o$(CC) hello.o -o hellohello.o:hello.c$(CC) hell.c -c hello.oclean:rm -rf *.oCC=gccTARGET=cacuOBJS=add/aa.o add/bb.o sub/cc.o main.oRM=rm -f$(TARGET):$(OBJS)$(CC) -o $(TARGET) $(OBJS)$(OBJS):%.o

13、:%c将OBJS中所有.o的文件替换成.c文件$(CC) -c $ -o $编译生成目标文件clean-$(RM) $(TARGET) $(OBJS)$*不包含扩展名的目标文件名称。$+所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。$第一个依赖文件的名称。$?所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。$目标的完整名称。$所有的依赖文件,以空格分开,不包含重复的依赖文件。第六题:(详情见PDF)#tar jxvf busybox-1.00-pre5.tar.gz.bz2#cd busybox-1.00-pre5#make menuconfig

14、# make dep# make # make install建立etc目录:rootlocalhost _install# mkdir etc在etc目录下,建立rc文件:#!/bin/shhostname FIGO mount -t proc proc /proccat /etc/motd改变其文件属性# chmod 777 rc在etc目录下,建立inittab文件:sysinit:/etc/init.d/rcS# Start an askfirst shell on the console (whatever that may be):askfirst:-/bin/sh# Stuff

15、to do when restarting the init process:restart:/sbin/init# Stuff to do before rebooting:ctrlaltdel:/sbin/reboot:shutdown:/bin/umount -a -r:shutdown:/sbin/swapoff -a 在etc目录下,配置motd文件,下面我们用图示的文字表示,也可以使用其它的文字。Welcome to ARM-LINUX WORLD在etc目录下,建立init.d目录,在init.d目录下,建立rc文件的符号连接文件rcS。rootlocalhost etc# ls

16、 inittab motd rc rootlocalhost etc# mkdir init.drootlocalhost etc# cd init.drootlocalhost init.d# ln -s ./rc rcSrootlocalhost init.d# file rcSrcS: symbolic link to ./rc在_install目录下,建立dev目录,创建设备文件。在本实验中一些设备文件是必需的,比如系统控制台console,MTD 块设备 mtdblock3等,可以使用mknod命令来创建。#mknod console c 5 1#mknod mtdblock3 b 31 3除了使用mknod命令来手工创建设备文件外,还可以复制主机平台/dev目录下一些必

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论