实验一 vivi 的编译与运行实验
- 格式:doc
- 大小:1.26 MB
- 文档页数:6
vi编辑器的使用实验报告一、实验目的熟悉并掌握 vi 编辑器的基本操作和常用命令,能够使用 vi 编辑器进行文本的创建、编辑、保存和退出等操作,提高在命令行环境下的文本处理能力。
二、实验环境操作系统:_____终端工具:_____三、实验原理vi 编辑器是 Unix/Linux 系统中最常用的文本编辑器之一,它工作在命令行模式下,具有强大的功能和灵活的操作方式。
vi 编辑器有三种工作模式:命令模式、插入模式和底行模式。
在命令模式下,用户可以执行各种移动光标、删除、复制、粘贴等操作。
通过输入特定的命令,如`i` 进入插入模式,在插入模式下可以输入文本进行编辑。
底行模式用于执行保存、退出、查找替换等操作,通过输入`:`进入底行模式。
四、实验内容及步骤(一)启动 vi 编辑器在终端中输入`vi 文件名` 命令,如果文件不存在,vi 会创建一个新文件;如果文件已存在,vi 会打开该文件进行编辑。
(二)命令模式操作1、移动光标`h`:向左移动一个字符。
`j`:向下移动一行。
`k`:向上移动一行。
`l`:向右移动一个字符。
`0`:移动到行首。
`$`:移动到行尾。
`G`:移动到文件末尾。
`gg`:移动到文件开头。
2、删除操作`x`:删除光标所在处的字符。
`dd`:删除光标所在的整行。
`d$`:删除从光标位置到行尾的内容。
`d0`:删除从光标位置到行首的内容。
3、复制和粘贴`yy`:复制光标所在的整行。
`p`:在光标所在位置后粘贴。
`P`:在光标所在位置前粘贴。
(三)插入模式操作输入`i` 命令进入插入模式,此时可以输入文本进行编辑。
在插入模式下,按下`Esc` 键返回命令模式。
(四)底行模式操作输入`:`进入底行模式,可执行以下操作:1、保存文件`:w`:保存文件。
`:w 新文件名`:另存为新文件。
2、退出 vi 编辑器`:q`:如果文件未修改,直接退出。
`:q!`:不保存修改,强制退出。
`:wq`:保存修改并退出。
vivi配置与编译(1) 建立编译环境1、安装标准Linux 操作系统虚拟机方式2、安装交叉编译器(2) 配置和编译vivi如果vivi的源代码已根据开发板作了相应改动,则需要对源代码进行配置和编译,以生成烧入flash的vivi 二进制映象文件。
由于vivi要用到kernel的一些头文件,所以需要kernel的源代码,所以先要把linux的kernel准备好。
将vivi和kernel都解到相应目录下(例如将光盘提供的vivi源代码解压到/home/chenjing目录下,光盘提供的Linux kernel源码kernel-h2410eb.041024.tar.gz也解压到/home/chenjing目录下,解压后的文件名为kerne-h2410eb)。
然后需修改/vivi/Makefile里的一些变量设置:1) LINUX_INCLUDE_DIR = /kernel/include/(LINUX_INCLUDE_DIR 为kernel/include的对应目录/home/chenjing/kerne-h2410eb /include/)修改为:LINUX_INCLUDE_DIR = /home/chenjing/ kerne-h2410eb/include/2) CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux- (CROSS_COMPILE 为arm-linux安装的相应目录,我的是/usr/local/arm/2.95.3/bin/arm-linux-)修改为:CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-3) ARM_GCC_LIBS = /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3 (需根据你arm-linux的安装目录修改,/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3)进入/vivi目录:a) make distclean(目的是确保编译的有效性,在编译之前将vivi里所有的“*.o”和“*.o.flag”文件删掉)b) make menuconfig (选择配置,可以Load一个写好的配置文件也可以自己修改试试。
vi实验一VCS仿真基础一.实验目的:●通过使用VCS编译一个已存在的verilog设计进行VCS可执行仿真●通过执行由VCS产生的二进制可执行仿真对Verilog设计的operation进行仿真●通过阅读由Verilog源代码中的Verilog系统任务调用产生的控制台信息决定Verilog设计是否通过了验证了二.实验要求:开始工作在本实验中将使用以下的8位carry-select加法器:我们的目标是使用这个简单的设计帮助你完成一个2步的VCS仿真过程基础,本实验被分为三个小部分。
每部分都包含一些与其自身相关的任务。
下面列出了你将进行的工作:●编译加法器的Verilog源代码并生成一个可执行仿真。
●通过执行可执行仿真对8位加法器进行仿真。
●结实显示在控制台的仿真结果以判断8位加法器是否工作正常。
●在A部分,所有的8位加法器的Verilog源文件放置在工作目录下。
●在B部分,一部分Verilog源文件放置在工作目录下,其他的放置在库目录下。
●在C部分,文件结构和B部分相同。
但你将使用一个编译-时间文件以简化VCS编译命令行的键入。
三.实验内容和步骤:实验流程图A部分:两步骤仿真过程:任务1 编译并产生可执行仿真文件在实验1的A部分,所有的8位加法器的Verilog源文件都放置在你的实验工作目录下:登录工作站后,转到实验1的A部分的目录。
1.shell>cd vcs/lab1/parta你应该能看见四个文件:fa.v,add4.v,add8.v和addertb.v 。
2.shell>lsfa.v,add4.v,add8.v是表格1-1中所示模块的Verilog源文件。
addertb.v是用来检测加法器功能的的测试台文件。
3.shell>vcs addertb.v fa.v add4.v add8.v当编译完成时,你应该看到以下信息:Simv generation successfully completed任务2 运行仿真运行测试台文件并执行simv对设计进行仿真。
评语: 课中检查完成的题号及题数:课后完成的题号与题数:成绩: 指导教师:/*文件名请使用“班号+学号+姓名+os项目号”命名,如10010701班同学张**,学号2007302276,则其项目1实验报告的文件名是“10010701_2007302276_张**_os1.doc”。
请大家严格遵守。
实验报告提交时请删除本注释*/实验报告一Vi编辑器的学习和使用日期:2011.5.7实验名称:观察进程的并发性班级:学号:姓名:一、实验目的:1)通过对vi编辑器的学习和使用,熟悉Unix类环境下的正文编辑程序及其作用。
2)通过创建子进程,观察父子进程的并发执行过程,区别顺序执行和并发执行;明确进程和程序的区别;加深对操作系统进程概念和进程并发特性的理解。
二、实验内容:1)认真学习Linux的正文编辑的相关基础知识,了解其编辑方式、插入方式和命令方式。
2)学习进程的基础知识;了解Linux系统中进程创建的基本原理;熟悉进程的创建、控制、执行和终止等系统调用函数;进程的创建。
三、项目要求及分析:1)使用“ESC”键在命令模式和插入模式之间进行切换。
各项操作命令如下:(1) 进入插入模式a追加,I插入,o在当前行下插入一空行;A在行尾追加,I从行首插入,0在当前行上插入一空行。
(2) 复制正文yy复制当前行,nyy复制n行,yw复制一个词,y)复制从光标至句末的所有正文;y}复制从光标至句首的所有正文,nyx复制类型为x。
(3) 删除正文x删除一个字符,dd删除当前行,ndd删除n行,dw删除一个单词(从光标处开始),nx删除n个字符,^gndd删除n行正文到缓冲区g中,^Gndd删除n行正文追加到缓冲区g中,c$从当前光标处删至行尾,d^从当前光标处删至行首,ndw(或dnw)删除n个词。
(4) 替换正文p将缓冲区的内容粘贴到当前光标处,^gp将g缓冲区里的内容粘贴到当前行下,^gP将g缓冲区的内容粘贴到当前行上,rn用字符n替换当前字符。
实验四:LINUX 下C语言使用、编译与调试实验一、目的:1、练习并掌握Linux提供的vi编辑器来编译C程序2、学会利用gcc、gdb编译、调试C程序3、学会使用make工具二、内容1、编写C语言程序,用gcc编译并观察编译后的结果,运行生成的可执行文件。
2、利用gdb调试程序。
3、学习编写makefile,并进行编译。
三、操作1、文件编辑器vi进入vi,直接执行vi编辑程序。
例:# vitest.c显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。
vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。
编辑完成后,使用者可决定是否要取代原来旧有的文件。
1) vi的工作模式(1)输入模式输入以下命令即可进入vi输入模式:a 在光标之后加入资料A 在该行之末加入资料i 在光标之前加入资料I 在该行之首加入资料o 新增一行于该行之下O 新增一行于该行之上(2)命令模式在输入模式下,按ESC可切换到命令模式。
命令模式下,可选用下列指令离开vi::q! 离开vi,并放弃刚在缓冲区内编辑的内容:wq 将缓冲区内的资料写入磁盘中,并离开viZZ 同wq:x 同wq:w 将缓冲区内的资料写入磁盘中,但并不离开vi:q 离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用(3)命令模式下光标的移动h 左移一个字符j 下移一个字符k 上移一个字符l 右移一个字符0(零)移至该行的行首$ 移至该行的行尾^ 移至该行的第一个字符处H 移至窗口的第一行M 移至窗口中间那一行L 移至窗口的最后一行G 移至该文件的最后一行W, w 下一个单词(W 忽略符号)B, b 上一个单词(B 忽略符号)(4) 命令模式下的编辑命令dd 删除当前光标所在行yy 复制当前光标所在行p 将复制的内容粘贴在光标所在的位置后P 将复制的内容粘贴在光标所在的位置前x 删除当前光标字符X 删除当前光标之前字符u 撤消·重做2、GNU C编译器1) 使用gcc通常后跟一些选项和文件名来使用gcc编译器。
§1.1 Java 程序的编辑、编译、运行环境一、实验目的、内容及性质掌握使用JDK开发Java程序的步骤、了解 Java 程序运行环境掌握程序调试的全部过程,学会编写和调试 Java Application 程序。
掌握Java程序的基本语法。
实验性质:验证、必做实验学时:6学时(课内2学时+课外4学时)二、问题及思考1、什么是Java虚拟机?它的作用是什么?什么是Java运行环境?如何实现跨平台?什么是类库?什么是Java 虚拟机与字节码?什么是Java 的byte-codes?它的最大好处是什么?2、什么是环境变量 path 、 classpath 、 java_home;查看系统中对环境变量path 、 classpath 、 java_home 的设置,解释其作用;说明不同操作系统如何查看和设置环境变量;3、什么叫做源程序?什么叫做编译?机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?如何编译源代码文件?编译你刚保存的文件?有何问题?如何修改?4、如何执行 Java 程序?执行你刚编译好的程序?结果如何?三、实验指导下载进入官网的下载地址jdk1.8下载地址出现如下界面按照红色方框的指示,先选中[Accept License Agreement],表示同意安装使用协议;选择Windows x64(即64位操作系统),点击下载;等待下载完成即可。
安装下载之后默认安装即可。
注意:安装的时候记住你的安装路径。
例如我这里的安装路径是:C:\Program Files\Java\jdk1.8.0_1712、配置环境变量1)找到系统环境变量2)新建JAVA_HOME系统变量变量名:JAVA_HOME ,变量值:C:\Program Files\Java\jdk1.8.0_171(这里填你自己选择的安装路径!!!)3)新建CLASSPATH变量变量名:CLASSPATH , 变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)。
一、实验目的学习使用vi编辑器建立、编辑、显示及加工处理文本二、实验内容1.进入和退出vi2.利用文本插入方式建立一个文件3.在新建的文本文件上移动光标位置4。
对文件执行删除、复原、修改、替换等操作三、主要的实验步骤(1)vim简介系统管理员的重要工作就是修改与设定某些重要软件的配置文件,因此至少得要学会一种以上的命令界面文本编辑器。
在所有的Linux distributions 上都会有的一套文字编辑器就是vi,而且很多软件默认的也是使用vi 为他们编辑接口。
vim 是高级版本的vi , vim 不但可以用不同颜色显示文字内容,还能够进行诸如shell script,C program 等程序的编辑功能.(2)vi的使用基本上vi 共分为三种模式,分别是“一般模式”、“编辑模式”和“命令模式”。
这三种模式的作用分别是:一般模式:以vi 打开一个文档就直接进入一般模式(这是默认的模式)。
在这个模式中,你可以使用“上下左右”键来移动光标,可以使用“删除字符”或“删除整行”来处理文档内容, 也可以使用“复制、粘贴"来处理文件数据。
●编辑模式:在一般模式中可以进行删除、复制、粘贴等操作,但是却无法编辑文件内容! 要按下“i,I,o,O, a, A, r,R”等任何一个字母后才会进入编辑模式。
通常在Linux 中,按下这些按键时,在屏幕的左下方会出现“INSERT或REPLACE”字样,此时才可以进行编辑。
而如果要回到一般模式时,则必须要按下“Esc”这个按键即可退出编辑模式。
●命令模式:在一般模式当中,输入:/ ?三个中的任何一个按钮,就可以将光标移动到最底下那一行.在这个模式当中,可以提供查找数据的操作。
读取、保存、大量替换字符、离开vi 、显示行号等的操作是在此模式中完成的!(3)具体的操作步骤如下1、进入vi2、建立一个文件,如file。
c 进入插入模式,输入一个C语言程序的各行内容,故意制造几处错误,最后,将文件存盘,回到shell状态下3、运行gcc -o file file.c,编译该文件,会发现错误的提示,理解其含义4、重新进入vi,对该文件进行修改,然后存盘,退出vi,重新编译该文件,如果编译通过了,可以使用。
Vivibootloader的执行过程Vivi bootloader的执行过程vivi bootloader中的Makefileall:arm-linux-gcc -mabi=aapcs-linux -mno-thumb-interwork -Os -Wall -c head.S 244x_lib.c nand.c main.carm-linux-ld -T mem.lds -Bstatic head.o 244x_lib.o nand.o main.o arm-linux-objcopy -O binary -S a.out vboot.bin -R .comment -R .stab -R .stabstrrm *.o a.outclean:rm vboot.bin(1)、Makefile中做的第一个事情就是编译所有的文件,-mabi=nameGenerate code for the specified ABI. Permissible values are:`apcs-gnu', `atpcs', `aapcs', `aapcs-linux' and `iwmmxt'.GNU官网上给出的选项-mabi=name的解释:生成指定ABI(Application Binary Interface)的代码,其中aapcs-linux为参数值。
-mthumb-interworkGenerate code which supports calling between the ARM and Thumbinstruction sets. Without this option the two instruction sets cannot be reliably used inside one program. The default is-mno-thumb-interwork, since slightly larger code is generated when -mthumb-interwork is specified.GNU官网上给出的选项-mthumb-interwork的解释:生成支持在ARM和Thumb指令集间相互调用的代码。
实验一vivi 的编译与运行实验
一.实验目的
1.熟悉 vivi 相关知识及应用;
2.学会使用交叉编译器编译 vivi;
3.掌握 vivi 命令将文件固化到目标板上。
二.实验设备
1.硬件:EduKit-IV 嵌入式教学实验平台、Mini2410 核心子板、PC 机;
2.软件:Windows 2000/NT/XP、Ubuntu 8.04、其他嵌入式软件包。
三.实验内容
1.在 Ubuntu 系统下,使用交叉编译器编译 vivi;
2.利用 vivi 命令固化 Linux 文件到目标板上。
四.实验原理
bootloader( 引导加载程序 ) 是系统加电后运行的第一段代码,一般运行的时间非常短,但是对于嵌入式系统来说,这段代码非常重要。
在我们的台式电脑当中,引导加载程序由 BIOS (固件程序)和位于硬盘 MBR 中的操作系统引导加载程序(比如 NTLOADER,GRUB 和 LILO)一起组成。
在嵌入式系统当中没有像 BIOS 这样的固件程序,不过也有一些嵌入式 CPU 会在芯片内部嵌入一小段程序,一般用来将 bootloader 装进 RAM 中,有点类似 BIOS,但是功能比 BIOS 弱很多。
在一般的典型系统中,整个系统的加载启动任务全由 bootloader 来完成。
在 ARM 中,系统上电或复位时通常从地址
0x00000000 处开始执行,而在这个位置,通常安排的就是系统的 BOOTLOADER。
通过这小段程序可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境设置到一个合适的状态,从而最终为调用操作系统内核准备好正确的环境。
vivi 是由 mizi 公司为 ARM 处理器系列设计的一个 bootloader,因为
vivi 目前只支持使用串口和主机通信,所以您必须使用一条串口电缆来连接目标板和主机。
主要功能为:复制并启动内核,初始化硬件,下载目标板到 flash 等。
vivi 有两种工作模式:启动加载模式和下载模式。
启动加载模式可以在一段时间后(这个时间可更改)自行启动 linux 内核,这时 vivi 的默认模式。
在下载模式下,vivi 为用户提供一个命令行接口,通过接口可以使用 vivi 提供的一些命令。
五.实验步骤
1.编译 vivi
1)在 Ubuntu 中单击菜单应用程序->附件->终端打开终端,在终端中输入命令设置环境变量:
$ source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh
$ source /usr/local/arm/2.95.3/path.sh
2)进入 vivi 实验工作目录:
$ cd $VIVIDIR
3)清除早前可能存在的配置信息:
$ make distclean
4)执行配置命令:
$ make menuconfig
图6-1-1 vivi 配置界面
选择 Load an Alternate Configuration File 选项,回车。
在弹出的对话框中输入配置文件,这里我们提供了 vivi 的配置文件:config-eduk4。
图6-1-2 选择配置文件
选择< Ok >,回车退出。
接下来在选择< Exit >退出配置,然后再在如图 6-1-3 中选择< Yes >,保存并退出。
图6-1-3 vivi 配置退出保存界面
5)执行 make 命令生成可执行文件,文件存放在当前目录下:
$ make
6)拷贝文件:
$ make install
执行完命令后,将自动拷贝 vivi 到/home/example/目录下。
2.固化 vivi
用户可以根据前面章节内容(章节 4.6.1)更新刚编译的 vivi 到 Mini2410-IV 的 Nand Flash 中,或者在 Ubuntu 下采用 minicom 终端更新,下面的步骤将具体介绍:
1)正确连接交叉串口于实验平台的 COM2 和 PC 端的串口。
2)运行 ubuntu 终端,在终端中输入命令打开 minicom(必须先按照第三章3.1.3 正确设置好minicom):
$ sudo minicom
图6-1-4 启动minicom 终端
3)给实验平台上电,启动内置 viv 并按空格键进入到 vivi 的命令行界面:
图6-1-5 进入vivi 命令行
4)输入命令使用 xmodem 协议来传送新编译好的 vivi(/home/example/vivi):vivi> load flash vivi x
图6-1-6 进入vivi 命令行
输入完命令后,回车,终端提示等待 xmodem 协议传送文件,此时按下“Ctrl + a”键,然后再输入“z”键进入到 minicom 的功能菜单:
图6-1-7 minicom 功能菜单
从键盘输入“s”,选择发送文件选项,出现协议选择菜单:
图6-1-8 minicom 传送协议选
通过键盘的上下方向键选中 xmodem 协议,回车进入所需传送文件的默认路径界面:
图6-1-9 minicom 传送默认文件夹
此时通过键盘的左右方向键,选中“[ 转到]”选项,回车,在弹出的界面输入新的 vivi 映像所在目录路径/home/example:
图6-1-10 输入目标传送文件所在目录
输入正确的目标传送文件名后,回车,将开始传送新的 vivi 映像,并显示传送进度:
图6-1-13 传送中
传送完毕将提示传送成功,按任意键退出:
图6-1-13 传送完成
在 minicom 终端将打印出新 vivi 的固化信息,并提示成功:
5)可以重启实验系统验证新固化进去的 vivi,minicom 终端打印如下:VIVI version 0.1.4 (embest@embest-laptop) (gcc version 2.95.3 20010315 (release)) #0.1.4 2008 骞?11 鏈?25 鏃?鏄熸湡浜?16:38:19 CST
MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
Found saved vivi parameters.
Press Return to start the LINUX now, any other key for vivi
type "help" for help.。