嵌入式操作系统实验指导书1
嵌入式系统实验指导指导书完整版
嵌入式系统实验指导王艳春李英一张劲松实验一嵌入式微处理器系统的开发环境一、实验环境PC机一台软件: ADS 1.2集成开发环境一套二、实验目的1.了解嵌入式系统及其特点;2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序三、实验内容1.嵌入式系统的开发环境、基本配置2.使用汇编指令完成简单的加法实验四、实验步骤(1)在D:\新建一个目录,目录名为experiment。
(2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。
启动ADS 1.2 如图1-1所示:图1-1启动ADS1.2(3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮,也可以在“File”菜单中选择“New…”菜单。
这样就会打开一个如图1-2 所示的对话框。
选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。
图1-2 新建文件在这个对话框中为用户提供了7 种可选择的工程类型:1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库;3)Empty Project:用于创建一个不包含任何库或源文件的工程;4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件;5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件;6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。
嵌入式操作系统实验指导
实验一任务管理实验类别设计型实验时数4学时开课单位计算机学院计算机科学与技术系实验地点待安排一、实验目的本实验用于北京信息科技大学计算机学院计算机科学与技术专业必修课“嵌入式操作系统”的实验环节。
“嵌入式操作系统”课程在“操作系统”原理课程之后开设,使学生在学习操作系统原理的基础知识、基本实现方法、基本算法设计的基础上,对一个实际的、面向具体目标的特定操作系统类型进行学习,掌握嵌入式实时操作系统基本原理、基本管理方法,并将操作系统原理和面向嵌入式实时应用的实现技术结合起来。
本实验通过实例程序,分析、运行、验证嵌入式操作系统μC/OS-II内核及其任务工作原理及方法,提升本专业高年级学生对嵌入式实时操作系统技术的理解能力和学习水平。
达到对系统软件原理、技术、实现、应用的立体化、体系化全方位理解和实践应用能力。
二、实验原理任务管理是嵌入式操作系统的最核心模块,是嵌入式操作系统管理运行在其上应用程序的基本方式和方法。
本实验以任务管理的基本方式、方法、手段入手,通过了解、掌握嵌入式操作系统μC/OS-II内核有关任务管理的系统函数,以一些简单的具体应用范例入手,了解任务的各项属性及其操作方法,掌握对任务的设计、建立、管理、运行、调试、性能测试等技术。
并根据实验要求自行设计满足某些设计要求的任务。
三、实验环境1、实验环境架构µC/OS-II的内核代码及其应用实例均用Borland C/C++ 编译器(V3.1)编译。
这些代码可在Intel Pentium II PC (300MHz)上运行和测试。
选用PC机作为目标机系统的原因如下:以PC机作为目标机系统,比其他嵌入式环境,如评估板,仿真器等,更容易进行代码的测试。
用户只需要使用系统提供的编译环境及各种源文件,就可以简单地完成编译、链接和执行等设计和调试工作。
该目标机环境容易构建,学生容易理解、操作和控制。
构建实验环境分为以下几个步骤。
1)安装软件环境很简单,只需将µC/OS-II内核与应用范例程序等源代码(即根目录、、\software)拷贝到你的目录(如C:\)下,这一步就完成了。
《嵌入式系统》实验报告指导书(含答案).
实验一熟悉嵌入式LINUX开发环境1、实验目的熟悉UP-TECHPXA270-S的开发环境。
学会WINDOWS环境与嵌入式Linu环境共享资源的基本方法。
2、实验内容学习UP-TECHPXA270-S系统的使用、XP和虚拟机之间传送文件方法以及UP-TECHPXA270-S和虚拟机之间共享目录的建立方法。
3、预备知识了解UP-TECHPXA270-S的基本结构和配置,Linux基本知识。
4、实验设备硬件:UP-TECHPXA270-S开发板、PC机(内存500M以上)。
软件:PC机操作系统RADHAND LINUX 9+MIMICOM+RAM LINUX操作系统5、实验步骤(1)、在虚拟机下练习Linux常用命令。
(注意以下操作只能在[root@BC root]#,也就是root文件夹下运行,不然会导致系统不能启动)a. 学习命令通过“man ***”和“*** --help”得到的命令使用方法。
b.学习并掌握如下命令:ls,cd ,pwd,cat,more,less,mkdir, rmdir ,rm,mv,cp,tar,ifconfig(2)、XP与虚拟机之间传送文件(Samba服务器建立、网络设置、文件传送);(3)、了解系统资源和连线;(4)、开发板与虚拟机之间共享目录建立(设置NFS、开发板IP设置、目录挂载),挂载文件;(5)vi(vim)的使用(6)输入qt,启动桌面,按CTRL+C退出6、实验报告要求(1)、XP和虚拟机之间传送文件步骤;虚拟机共享XP文件:选择虚拟机设置,设置要共享的文件启动Linux进入/mnt/hgfs即可看到共享文件夹服务器设置——samba服务器(设置需要共享的目录)XP共享虚拟机文件:服务器设置——samba服务器(设置需要共享的目录)确保网络的PING通(即在同一局域网):1.虚拟机的192.168.1.234(RH9)2.XP的为192.168.1.1253.在XP 下点击开始-》运行(\\192.168.1.234)4.用户名bc密码123456以上实现了Linux虚拟机(RH9)和XP的文件的共享(2)、开发板与虚拟机之间建立共享目录以及文件挂载步骤;1.服务器设置——nfs服务器(设置需要共享的目录)2.设置开发板的ip地址:ifconfig eth0 192.168.1.53.在实验箱终端里输入mount -t nfs -o nolock 192.168.1.234:/up-techpxa270/exp /mnt/nfs4./mnt/nfs即为共享目录(3)、请画出虚拟机、PC机和ARM实验箱之间的硬件连接图;(4)、在Linux中怎样配置网络;系统设置->网络,在新的选项卡中(5)、实验中遇到的问题与解决过程。
嵌入式系统实验指导书(KeilC51平台)
目录目录 (I)实验一、 uC/OSII移植及时钟中断和时间管理 (1)实验二、利用信号量和邮箱实现多任务间同步 (I)实验三、信号量集与内存动态分配的应用................................ 1实验一、 uC/OSII移植及时钟中断和时间管理实验项目名称:uC/OSII移植及时钟中断和时间管理实验项目性质:普通性所属课程名称:嵌入式系统实验计划学时:2实验目的熟悉uCOSII的移植方法,了解任务切换的过程;掌握创建任务和启动任务的方法;了解uCOSII的中断过程,学会使用时间管理函数;实验设备计算机,Keil C51软件实验步骤与内容1、参照KeilC51帮助文件,新建工程EXP1,选取器件为Philips公司的P89C51RD2Hxx,依次按顺序添加工程文件Exp1.c, OS_CPU_C.c, UCOS_II.c, OS_CPU_A.asm, Startup.asm, serial.c, C51L.LIB,编译前按照下图所示设置:编译工程;2、运行调试参考例程EXP1;3、在理解EXP1基础上,完成以下实验任务:在时钟中断里调用供用户自己编写服务代码的函数OSTimeTickHook(),计算MyTask任务的剩余时间(也就是MyTask调用OSTimeDly进入等待状态后的等待时间节拍数),把剩余时间输出到Serial Window#1上(KeilC51串口数据输出窗口)。
4、填写实验报告。
实验结果:参考例程EXP1结果如下图示:实验二、利用信号量和邮箱实现多任务间同步实验项目名称:利用信号量和邮箱实现多任务间同步实验项目性质:普通性所属课程名称:嵌入式系统实验计划学时:2实验目的熟悉多任务的创建;掌握利用信号量实现多任务同步的方法;掌握利用邮箱实现多任务间数据传递的方法;实验设备计算机,Keil C51软件实验步骤与内容1、参照KeilC51帮助文件,新建工程EXP2,选取器件为Philips公司的P89C51RD2Hxx,依次按顺序添加工程文件Exp2.c, OS_CPU_C.c, UCOS_II.c, OS_CPU_A.asm, Startup.asm, serial.c, C51L.LIB,其他设置参考实验一,然后编译工程;2、运行调试参考例程;3、在理解参考例程EXP2的基础上,完成以下实验任务:(1)在时钟中断里调用的供用户自己编写服务代码的函数OSTimeTickHook()里计算StartTask任务的剩余时间,把剩余时间用邮箱发送到MyTask显示;(2)计算YouTask的运行次数,用邮箱发送到HerTask显示;(3)MyTask和HerTask使用互斥信号量实现共享函数Fun()的访问。
嵌入式应用开发实验指导书 (1)
实验一基本接口实验(一)[实验设备]1.JXARM9-2410教学实验箱2.ADT1000仿真器和ADT IDE集成开发环境3.串口、并口连接线[实验目的]1.掌握ARM的串行口工作原理,编程实现ARM的UART通讯;2.掌握嵌入式系统中断的处理流程和ARM中断编程;3.在ADT环境下如何建立工程,对工程进行正确的设置。
添加相应文件(汇编、脚本、.c 源文件等)[实验内容一]实现查询方式串口的收发功能。
接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。
[预备知识]1.了解ADT集成开发环境的基本功能2.学习串口通讯的基本知识3. 熟悉S3C2410串口有关的寄存器[基础知识]串行通信接口电路组成1.可编程的串行接口芯片2.波特率发生器3.EIA与TTL电平转换器4.地址译码电路通信协议:1.异步协议2.同步协议异步串行通讯异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。
接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。
为了恢复发送的信息,双方必须协调工作。
在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。
但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。
异步串行通信中的字符传送格式开始前,线路处于空闲状态,送出连续“1”。
传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。
每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。
后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。
也可以约定不要奇偶校验,这样就取消奇偶校验位。
最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。
《μCOS嵌入式操作系统》实验指导书
μCOS嵌入式操作系统实验指导书说明《嵌入式系统及应用实验指导书》包含:嵌入式开发板的硬件结构与u-boot基本命令、uClinux的多任务机制及其编程、uClinux的内存管理机制及其编程、在51单片机上移植μC/OS-II和在ARM7单片机上移植μC/OS-II 实验指导,适合电子与信息类专业的学生学习使用。
目录实验一嵌入式开发板的硬件结构与U-BOOT基本命令 (1)实验二UCLINUX的多任务机制及其编程 (6)实验三UCLINUX的内存管理机制及其编程 (9)实验四在51单片机上移植ΜC/OS-II (17)实验五在ARM7单片机上移植ΜC/OS-II (21)实验一嵌入式开发板的硬件结构与u-boot基本命令一、实验目的1、能够使用Embest IDE for ARM集成开发环境及ARM软件模拟器;2、通过实验掌握u-boot基本命令。
二、实验原理Bootloader代码是器件复位后进入操作系统前执行的一段代码,通过该代码初始化处理器各寄存器和片上外设,建立存储器映射图以及初始化堆栈,从而为操作系统提供基本的运行环境。
由于Bootloader与CPU和开发板配置有关,不可能有通用的Bootloader,因此需要根据具体情况进行移植。
嵌入式系统U-boot是当前流行、功能强大的Bootloader。
U-Boot用于多种嵌入式CPU的Bootloader程序,U-Boot支持ARM、PowerPC等多种架构的处理器,也支持Linux、NetBSD和Vx—Works等操作系统。
这里采用U—Boot 的版本为U-boot-1.1.6。
(1)U-Boot目录结构U-Boot目录结构如下:board是一些与现有开发板有关的文件,比如makefile和u-boot.1ds等都与具体开发板的硬件和地址分配有关;common 是与体系结构无关的文件,可实现各种命令的C文件;cpu是CPU相关文件,其子目录都是以U-boot支持的CPU命名,比如子目录arm920t,mips,s3e44bO 和nios等,每个特定的子目录都包括cpu.c,interrupt.C和start.s;doc是说明文档;drivers是通用设备驱动程序,比如:各种网卡、支持CFI的Flash 和USB总线等;fs是支持文件系统的文件,U—Boot可支持cramfs,fat,fdos,jffs2等文件;net是与网络有关的代码,比如:BOOTP协议、TFTP协议和NFS文件系统的实现;lib_arm是与ARM体系结构相关的代码;tools 是创建S-Record的格式文件和U-Boot images的工具。
嵌入式os实验指导书
实验一嵌入式Linux系统安装与配置1、实验目的•熟悉Linux系统安装方法•熟悉VMware虚拟机下Linux系统环境的配置2、实验设备PC 机、Redhat9.0 VMware6.0。
3、实验内容•安装虚拟机VMware。
•安装Redhat9.0•VMware虚拟机下的Redhat环境配置一、准备如下安装文件:1.VMware.Workstation.5.5中文版(虚拟机)带注册机2.FC4-i386-disc1.iso3.FC4-i386-disc2.iso4.FC4-i386-disc3.iso5.FC4-i386-disc4.iso6.FC4-i386-rescuecd.iso二、VMware软件的安装1.双击安装文件,按照提示进行下一步2.需要输入注册码时,运行注册机目录下的keygen..exe,点击generate,serial框中的即为注册码。
3.安装完成后,运行汉化补丁目录下的HF_Vmware5.5进行汉化三、Fedora Core 4 Linux发行版的安装1.在VMware软件中,新建虚拟机->下一步,选择典型->下一步,选择linux->下一步,选择linux安装的位置->下一步,使用桥接网络->下一步,完成2.编辑虚拟机->设置,选择cdrom1,使用iso映像,选中FC4-i386-disc1.iso,确定3.启动此虚拟机,进入linux安装界面4.选择skip,跳过光盘检测5.按next,选择简体中文,按next,下一步6.安装类型选择定制,下一步7.选择手工分区,下一步,弹出警告框,选择是8.新建,选择文件类型为swap,大小为1000MB,确定。
9.新建,选择文件类型为ext3,挂载点为/,大小为“使用全部可用空间”,确定,分区结果如下图所示:10.下一步,下一步,选择无防火墙,弹出警告框,点击继续11.下一步,设置用户口令,输入两次,必须相同,至少为6个字符12.下一步,选择软件包组界面,选择全部(7G左右,保证硬盘空间充足,避免今后使用时出现一些问题)13.按照提示,点击下一步,开始安装14.第一张盘FC4-i386-disc1.iso安装完后,有提示音15.编辑虚拟机->设置,选择cdrom1,使用iso映像,选中FC4-i386-disc2.iso,确定,继续第二张盘的安装16.完成四张盘的安装后,自动重启,进入系统17.按提示点击下一步,设置自己的用户名,系统默认有个超级用户root18.在提示输入用户名时,可以输入自己设置的用户名和密码(进入系统后,使用用户权限,安全),也可以输入root用户,密码为在第11步里设置的(进入系统后,使用超级用户权限)四、VMvare tools的用途:1.在Linux中方便地访问Windows系统下的文件(通过目录/mnt/hgfs)2.增强桌面图形性能,屏幕分辨率3.鼠标可以在Windows系统和虚拟机之间方便切换五、VMware tools的安装1.打开VMware软件,启动已安装的Linux系统,通过菜单虚拟机->安装vmware工具,点击install2.在Linux桌面上,点鼠标右键,打开终端3.输入以下命令:mount –t iso9660 /dev/cdrom /mnt4.cd /mnt5.cp VMwareTools-5.5.0-18463.tar.gz /tmp6.cd /tmp7.umount /dev/cdrom8.tar zxvf VmwareTools-5.5.0-18463.tar.gz9.cd vmware-tools-distrib10../vmware-install.pl11.一路回车12.虚拟机->虚拟机设置->选项->共享文件夹->添加(名称d,主机文件夹D:\,名称e,主机文件夹E:\),确定13.reboot三、验证是否安装成功1、鼠标是否能方便地在Windows和虚拟机之间切换2、在Linux中能否通过目录/mnt/hgfs访问Windows下的文件实验二 Linux基本命令的使用(2-3次)【实验目的】一、了解Linux系统中的用户管理、文件和目录管理二、掌握Linux系统中用户管理相关、文件和目录管理相关及其它常用命令【实验内容】1、超级用户与普通用户相互切换在Linux下将root用户的密码修改为Linux#1;创建用户user01,user02,user03,创建用户组group1,group2;将用户user01、user02划归group1组,将用户user03划归group2组2、在/tmp目录下建立test1和test2目录文件,然后在test目录下创建一个test.c和hello.txt文件,再将test.c复制到test2目录中,将hello.txt移动到test2目录中,最后删除test1目下的test.c文件。
嵌入式系统实验指导书
第1部分DK-LM3S9B92 教学实验平台简介1.1 Stellaris® LM3S9B92开发板本书中旳所有实验都是基于DK-LM3S9B92开发平台,LM3S9B92开发板提供了一种平台给基于ARM Cortex-M3旳高性能旳LM3S9B92微控制器开发系统。
LM3S9B92是Stellaris® Tempest-class微控制器家族旳成员之一。
Tempest-class系列设备拥有性能为80MHz旳时钟速率,一种外围设备接口(EPI)和Audio I2S接口。
除了支持这些功能旳新硬件外,DK-LM3S9B92还涉及了一系列丰富旳基于其她Stellaris® 板旳外设。
开发板涉及一种板载线上调试接口(on-board in-circuit debug interface,ICDI),该接口支持JTAG和SWD调试。
一种原则旳ARM 20针脚旳调试头支持大量旳调试解决方案。
Stellaris® LM3S9B92开发套件加快了Tempest-class微控制器旳开发。
该套件还涉及了完整旳实验源代码。
Stellaris® LM3S9B92开发板涉及如下特性:⏹ 设立简朴旳USB线提供调试、通讯和供电功能⏹ 拥有众多外设旳灵活开发平台⏹ 彩色LCD图形显示– 320×240辨别率旳TFT LCD模块–电阻式触摸接口⏹ 拥有256K闪存,96K SDRAM以及整合以太网、MAC+PHY、USB OTG和CAN通讯功能旳80 MHz LM3S9B92 微控制器⏹ 8MB SDRAM扩展(通过EPI接口)⏹ 1MB串行闪存⏹ 精确3.00V电压参照⏹ 微解决器ROM中内建SAFERTOS™操作系统⏹ I2S立体声音频编解码器–输入输出–耳机输出–麦克风输入⏹ 控制器区域网络(CAN)接口⏹ 10/100 BaseT 以太网⏹ USB On-The-Go(OTG)连接器– Device、Host、以及OTG模式⏹ 顾客LED和按钮⏹ 指轮电位器(可以用于菜单导航)⏹ MicroSD 卡插槽⏹ 支持一系列调试选项–集成在线调试接口(ICDI)–全面支持JTAG、SWD和SWO–原则旳ARM 20 针脚JTAG 调试连接器⏹ USB 虚拟COM 端口⏹ 跳线分流以便重新分派I/O 资源⏹ 为StellarisWare 软件所支持,涉及图形库、USB 库和外围驱动库图1-1 DK-LM3S9B92开发板1.1.1 开发工具清单Stellaris® LM3S9B92 开发工具涉及开发和运营使用Stellaris®微解决器旳应用程序所需旳所有东西:⏹ LM3S9B92 开发板⏹ 网线⏹ 用于调试旳USB Mini-B 线缆⏹ 用于OTG 连接PC 旳USB Micro-B 线缆⏹ 用于USB 主机旳连接USB A 适配器旳USB Micro-A 线缆⏹ USB 闪存记忆棒⏹ microSD 卡⏹ 20 位带状电缆线⏹ 光盘涉及如下工具旳评估版本:– StellarisWare 及用于本开发板旳实验代码–IAR Embedded Workbench Kickstart Edition1.1.2 系统框图图1-2 DK-LM3S9B92开发板框图1.1.3 开发板阐明⏹ 开发板旳供电电压:4.75—5.25 VDC,从如下旳输入源中旳一种得到:–调试器(ICDI)USB 线缆(连接至PC)–USB Micro-B 线缆(连接至PC)–直流电源插孔(2.1x5.5mm 由外部电源供应)⏹ 尺寸:-107mmx 114mm⏹ 模拟参照电压:3.0V +/-0.2%⏹ RoHS 状态:符合注:当LM3S9B92开发板工作在USB主机模式时,主机旳连接器供电给已连接旳USB 设备。
嵌入式系统实验指导书(6个实验)
嵌入式系统实验指导书襄樊学院物理与电子工程学院实验要求 (1)实验预习报告内容及格式 (1)实验报告内容及格式 (1)实验1 Keil C51的使用(汇编语言) (2)实验2 十六进制与十进制的转换 (7)实验3 8段LED显示器动态显示 (8)实验4 矩阵键盘的使用 (13)实验5 A/D转换 (17)实验6 D/A转换 (19)附录试验箱原理图 (22)实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告(预习报告只交电子文档)。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告(实验报告需交电子文档和打印文档)。
实验预习报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
嵌入式实验指导书
实验一虚拟机及Linux使用一、实验目的1.能够使用虚拟机及Linux。
2.了解shell。
二、实验内容1.启动虚拟机;2.在虚拟机中启动Linux;3.在虚拟机中退出Linux;4.Linux中的shell使用。
三、实验设备PentiumII以上的PC机,虚拟机软件VMware ,Red Hat Enterprise Linux 5四、实验步骤1.启动虚拟机并在虚拟机中启动Linux双击Windows桌面WMware Workstation图标;选择Resume this virtual machine,进入Linux界面。
2.在虚拟机中退出Linux直接关闭虚拟机窗口;选择Suspened(挂起)。
在虚拟机中打开一个Linux终端点击:红帽子->终端, 打开一个Linux终端。
4.查看使用的shell输入命令:ps –e5.退出与shell的会话输入命令:exit6.临时改用另一种shell查看当前激活窗口使用的是哪个终端。
输入命令:tty输入新的shell名为sh。
输入命令:sh用ps -e 3使用哪一种shell。
输入命令:ps –e退出新的shell输入命令:exit7.使用help和man命令查看各个命令的参数和格式。
8.用ls命令查找shell之外的命令除了shell内部定义的那些命令之外,其余命令对应的可执行文件,一般都在子目录/bin 和/sbin中。
输入命令:ls /bin输入命令:ls /sbin五、实验报告根据上述实验目的和内容完成上述实验,并将实验步骤所有写代码和所有命令及实验结果写成实验报告。
六、注意事项本实验使用实验教学系统的CPU板,在进行本实验时,直接关闭虚拟机窗口,选择Suspened(挂起),才能正常的关机。
实验二主机与目标板的运行一、实验目的1.添加虚拟机的串口设备。
2.通过不同的终端运行目标板。
二、实验内容1.虚拟机中串口设备的添加;2.主机Windows下的超级终端。
嵌入式系统实验指导书
《嵌入式系统原理与设计》实验指导书学院:班级:指导教师:实验一ARMSYS平台开发环境及工具熟悉一、实验目的1、掌握ARMSYS平台开发环境2、学习ARM 的端口配置方法3、掌握ARM STD2.51 开发平台的使用方法二、实验设备硬件:THUS-1 型嵌入式(ARM)实验/开发系统;ARM 仿真器套件(包括仿真器、25 针并口延长线、14 针(或20 针)排线);串口线(2、3 平行);PC 机(Pentumn100)软件:PC 机操作系统Windows 98/2000/NT/XP ;ARM STD2.51 集成开发环境;仿真器驱动程序三、实验内容熟习ARM SDT2.51 平台的开发环境。
四、实验原理1、超级终端的建立①点击“开始→程序→附件→通讯→超级终端”,进入图1,选择COM1,点击确定;图1②如图2,输入名称,选择图标(第一个),点击确定;图2③对端口进行如下设置,并确定:图3注意:当关闭超级终端时提示是否保存,选择“是”,下次不需要再建,直接打开“ARM”即可。
2、JTAG的设置①将JTAG口与目标板连接好;②双击桌面图标,打开ARM7调试代理,将其设置为如图4所示,然后点击Test按钮。
如果JTAG口与目标板连接好,则在ARM7调试代理的左侧的空白处会出现“Detect ARM7TDMI”的字样。
图4注意:在运行SDT的调试器ADW调试程序的过程中,始终不要关闭ARM7调试代理。
3、ARM SDT的应用ARM SDT 是ARM 公司推出的一整套集成开发工具。
SDT 经过逐年维护和更新,目前最新版本为2.5.2。
新建一个项目的步骤如下:①运行ARMSDT2.5 集成开发环境(ARM Project Manager),点击开始菜单中的程序组的ARM SDT V2.51中的ARM Project Manager启动主程序或者点击桌面图标启动主程序。
出现主程序界面,如图5所示。
图5②若要新建一个项目,选择File|New 菜单,在对话框中选择PROJECT,新建一个工程文件(project1),如图6所示。
《嵌入式系统设计》实验指导书-
电子科技大学微机课程组嵌入式系统设计实验指导书2015年9月目录第一部分嵌入式系统仿真实验系统简介1第一节、开发平台软件资源及文档1第二节、开发平台软件安装1第二部分实验项目说明2第一节、实验项目列表2第二节、实验项目使用建议2第三部分嵌入式开发系统实验案例指导3实验一、多任务程序的建立和运行3一.实验目的3二.实验内容3三.预备知识3四.实验设备与工具3五.实验原理与说明3六、实验步骤4七、思考题8实验二、基于操作系统的任务调度和进程管理9一.实验目的9二.实验内容9三.预备知识9四.实验设备与工具9五.实验原理与说明9六、实验步骤10七、思考题12第一部分嵌入式系统仿真实验系统简介以VC++ 6.0为实验基础软禁平台仿真模拟在uC/OS嵌入式操作系统系统环境下多任务程序的运行和调试,使学生可以在一个纯软件的环境中了解、熟悉嵌入式软件的运行和调试方法。
第一节、开发平台软件资源及文档1)VC6.0集成开发环境;2)配套实验指导书的实验源代码,分为两类:仿uc/OS部分和任务程序部分3)实验环境的工程文件4)实验指导书;第二节、开发平台软件安装1、编译调试环境的安装在XP平台下安装VC6.0;2、实验文件拷贝把实验文件拷贝d:\ucosexperiment目录下第二部分实验项目说明第一节、实验项目列表表1列出了本指导书提供的所有实验项目。
表1 实验项目列表项目编号实验项目课时数实验性质项目类别实验环境1 多任务程序的建立和运行 4软件验证Windows2 基于操作系统的任务调度和进程管理 4 综合实验分为两种种类别:验证性实验,综合设计实验。
●验证实验:本系列实验的基础部分,属于必做内容;●综合设计实验:让使用者在相关的软件环境下实现按实验要求修改相应的软件实现相应的功能。
第二节、实验项目使用建议本实验共提供2个实验项目,可以根据同学个人兴趣和具体的实验情况来进行选择,每一组实验基本涵盖本实验课程要求学生掌握的技能,包括C语言基础、应用程序编程等内容。
嵌入式操作系统实验指导书
嵌入式操作系统实验指导书《嵌入式操作系统》实验指导书实验1 Linux编程基础实验序号:1 适用专业:计算机科学与技术、通信工程一、实验目的1、熟悉Vim的工作模式,熟练使用vim中的常见操作。
2、熟练掌握gcc编译命令及gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。
3、熟悉多文件的makefile的编写,熟悉各种形式的makefile,并且进一步加深对makefile中用户自定义变量、自动变量的理解。
4、使用autotools生成多文件的makefile,进一步掌握autotools的使用方法。
二、实验内容1、vim使用练习(1)在“/root”目录下建一个名为“vim”的目录。
(2)进入“vim”目录。
(3)将文件“/etc/inittab”复制到“vim”目录下。
(4)使用vim打开“vim”目录下的inittab.(5)设定行号,指出设定initdefault(类似于“id:5:initdefault”)的所在行号。
(6)将光标移到该行。
(7)复制该行内容。
(8)将光标移到最后一行行首。
(9)粘贴复制行的内容。
(10)撤销第9步的动作。
(11)将光标移动到最后一行的行尾。
(12)粘贴复制行的内容。
(13)光标移到“si::sysinit:/etc/rc.d/rc.sysinit”。
(14)删除该行。
(15)存盘但不退出。
(16)将光标移到首行。
(17)插入模式下输入“Hello,this is vi world!”. (18)返回命令行模式。
(19)向下查找字符串“0:wait”。
(20)再向上查找字符串“halt”。
1实验名称:Linux编程基础学时数:4学时(21)强制退出vim,不存盘。
2、用gdb调试程序的bug(1)使用vi编辑器,将以下代码输入到名为greet.c的文件中。
此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出,代码如下所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式操作系统实验实验一 Linux常用命令一.实验目的1. 熟悉VMware Workstation虚拟机的使用。
2. 熟悉ubuntu操作系统。
3. 掌握常用的Linux命令。
二.实验设备硬件:PC机。
软件:VMware Workstation虚拟机、ubuntu操作系统。
三.实验内容1.基于虚拟机的Linux操作系统的使用。
2.文件与目录相关命令的使用。
3.磁盘管理与维护命令的使用。
4.系统管理与设置命令的使用。
5.网络相关命令的使用。
6.压缩备份命令的使用。
四.实验步骤1.基于虚拟机的Linux操作系统的使用(1)启动VMware Workstation应用程序,启动windows以后,点击开始→程序→VMware→VMware Workstation,出现如图1所示界面。
图1 启动VMware Workstation(2)点击菜单File Open选择安装好的Linux虚拟机文件,或者直接点击Start this virtual machine启动Linux操作系统。
(3)启动系统后需要输入用户名和密码,如图2所示,这里用户名为root,密码为“123456”。
图2输入用户名和密码(3)启动终端,成功进入系统后,选择应用程序->系统工具->终端,如图3所示。
图3 启动终端(4)在终端中执行Linux命令,终端运行以后,就可以在这里输入Linux命令,并按回车键执行,如图4所示。
图4运行Linux命令2.文件与目录相关命令的使用理解12个常用的文件与目录相关命令的使用,完成如下练习。
(1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:ll /bin(2)进入/tmp目录下,新建目录myshare:cd /tmpmkdir mysharels -ld myshare/(3)用pwd命令查看当前所在的目录pwd(4)新建testfile文件touch testfilels -l(5)设置该文件的权限模式chmod 755 testfilels -l testfile(6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak。
cp testfile myshare/testfile.bakls -l myshare/(7)在/root目录下为该文件创建1个符号连接。
ln -s /tmp/testfile /root/testfile.lnls -l /root/testfile.ln(8)搜索inittab文件中含有initdefault字符串的行。
cat /etc/inittab | grep initdefault3.磁盘管理与维护命令的使用理解2个磁盘管理与维护命令,完成如下练习。
(1)Linux下使用光盘步骤:➢确认光驱对应的设备文件:ll /dev/cdrom➢挂载光盘:mount -t iso9660 /dev/cdrom testdir➢查询挂载后的目录:ll /media/cdrom➢卸载光盘(umount testdir)umount /dev/cdrom(2)Linux下USB设备的使用➢挂载U盘,看看系统认出的盘(或者使用#fdisk -l)。
cat /proc/partitions➢--建立挂载点mkdir /mnt/usb➢挂载U盘mount -t vfat -o codepage=936,iocharset=gb2312 /dev/sdb1 /mnt/usb➢--卸载U盘umount /mnt/usb4.系统管理与设置命令的使用理解shutdown、ps、kill命令,完成如下练习。
➢查看系统所有进程ps -ef➢查找ssh服务守护进程的进程ID号ps -ef |grep sshd➢假设ssh服务守护进程出现了问题,则强制杀掉该进程kill -9 进程ID号➢系统关机shutdown5.网络相关命令的使用理解ifconfig、ping、netstat命令,完成如下练习。
➢显示当前网络的信息ifconfig➢设置网卡eth0的IP地址为192.168.1.10:ifconfig eth0 192.168.1.10➢设置网卡eth0的子网掩码为255.255.255.0:ifconfig eth0 netmask 255.255.255.0 ➢禁用网卡eth0:ifconfig erh0 down➢测试本机网络的连通性:ping 127.0.0.1➢启用网卡eth0:ifconfig erh0 up➢显示内核路由表:netstat –r➢显示TCP协议连接状态:netstat –t➢显示UDP协议连接状态:netstat –u6.压缩备份命令的使用理解tar命令和gzip命令的使用,完成如下练习。
➢把/tmp目录打包成tmp.tar,放到/root目录下:tar cf /root/tmp.tar /tmp/* ➢把/tmp目录压缩打包成tmp.tar.gz,放到/root目录下:tar zcvf /root/tmp.tar.gz /tmp/*➢比较tmp.tar和tmp.tar.gz的大小:ls -l /root/tmp.tar /root/tmp.tar.gz➢不解包只查看压缩包tmp.tar.gz中的内容:tar ztf /root/tmp.tar.gz➢解压tmp.tar.gz的内容到/tmp/myshare目录:tar zxvf /root/tmp.tar.gz -C /tmp/myshare/➢把/tmp目录下每个文件压缩成.gz格式:gzip *➢详细列出每个.gz压缩文件的信息,不解压:gzip –l *➢把每个.gz压缩文件解压,并列出详细信息:gzip –dv *五.思考题1.使用ls 命令查看/root下的信息,使用重定向功能将结果保存到test.txt文件中。
2.通过磁盘管理与维护命令将U盘挂载到虚拟机中,并将思考题1中生成的test.txt文件拷贝到U盘中。
3.用ifconfig把eth0 的IP修改为:10.3.0.159,子网掩码修改为:255.0.0.0。
4.压缩和打包有何区别?压缩也是一种打包,压缩的原理是将文件中相同的信息用一个字符代替,致使文件体积变小达到压缩的目的,压缩对于文本类或数据类文件有较明显的作用。
打包就是将一些文件放在一起变成一个包,便于保存和传输,图片和视频数据因为不象文本一样,因此多个图片在压缩的时候没有明显效果,因此只能做打包,进行保存。
实验二 Linux下C语言开发环境一.实验目的1.熟悉ubuntu下的c语言开发环境。
2.掌握vi、gcc、gdb的使用。
3.掌握Linux下C语言程序设计流程。
4.掌握Linux下集成开发环境。
二.实验设备硬件:PC机。
软件:VMware Workstation虚拟机、ubuntu操作系统。
三.实验内容1.Linux下C语言开发流程。
2.vi、Vim编辑器的使用。
3.GCC编译器的使用。
4.GDB调试器的使用。
5.Make工程管理器的使用。
四.实验步骤1.Linux下C语言开发流程。
(1)启动虚拟机,进入ubuntu操作系统,然后启动终端。
(2)使用Vim编辑源程序,在终端中输入vi hello.c,然后输入源代码,编辑完成后存盘,如图1所示。
图1 编辑源代码(3)编译源代码,在终端下输入GCC –o hello hello.c进行编译。
(4)运行程序,在终端中查看程序运行结果,如图2所示。
图2 编译、运行程序2.vi、Vim编辑器的使用。
(1)Vim的启动。
(2)三种模式:命令模式、编辑模式、底行模式之间的切换,以及三种模式下的常用命令的使用。
进入Vim时,默认的模式是命令行模式,按“i”进入编辑模式,编辑模式下按“ESC”则退到命令行模式,按“shift”+“:”则进入底行模式。
完成如下操作练习。
➢在“/root”目录下建一个名为“/Vi”的目录。
mkdir /root/Vi➢进入“/Vi”目录。
cd /root/Vi➢将文件“/etc/inittab”复制到“/Vi”目录下。
cp /etc/inittab ./➢使用Vi打开“/Vi”目录下的inittab。
Vi ./inittab➢设定行号,指出设定initdefault(类似于“id:5:initdefault”)的所在行号。
:set nu ➢将光标移到该行。
17<enter>➢复制该行内容。
yy➢将光标移到最后一行行首。
G➢粘贴复制行的内容。
p➢撤销第9步的动作。
u➢将光标移动到最后一行的行尾。
$➢粘贴复制行的内容。
p➢光标移到“si::sysinit:/etc/rc.d/rc.sysinit”。
21G➢删除该行。
dd➢存盘但不退出。
:w(底行模式)➢将光标移到首行。
1G➢插入模式下输入“Hello,this is Vi world!”。
按i键并输入“Hello,this is Vi world!”(插入模式)➢返回命令行模式。
Esc➢向下查找字符串“0:wait”。
/0:wait(命令行模式)➢再向上查找字符串“halt”。
?halt➢强制退出Vi,不存盘。
:q!(底行模式)3.GCC编译器的使用。
4.GDB基本命令的使用。
gdb所提供的功能,使用Vim编辑源程序,在终端中输入vi test.c,输入如下源代码,编辑完成后存盘。
此代码的功能为输出倒序main函数中定义的字符串,但结果没有输出显示,现通过调试的方式来解决程序中存在的问题。
程序源代码如下:#include <stdio.h>int display1 (char *string)int display2 (char *string1)int main (){char string[] = "Embedded Linux";display1 (string);display2 (string);}int display1 (char *string){printf ("The original string is %s \n", string);}int display2 (char *string1){char *string2;int size,i;size = strlen (string1);string2 = (char *) malloc (size + 1);for (i = 0; i < size; i++)string2[size - i] = string1[i];string2[size+1] = ' ';printf("The string afterward is %s\n",string2);}(1)用Gcc编译:gcc -g greet.c -o greet。