《嵌入式操作系统》课程实验2016
- 格式:pdf
- 大小:1.74 MB
- 文档页数:20
嵌入式操作系统实验报告实验一嵌入式开发环境的建立班级 2012156 学号 201215605 姓名冯智一、实验目的●掌握嵌入式软件开发环境的建立过程;●初步掌握嵌入式程序的编译和调试过程。
二、实验内容及步骤1、安装集成开发环境LambdaTOOL3;找到LambdaPRO3_edu文件夹,打开并找到Setup.exe,双击运行,按提示操作直至安装完成。
2、建立项目。
想让我们的实验运行起来,需要建立3个项目:两个“静态库项目”和一个“操作系统无关项目”;先建立第一个静态库项目ucos,点击文件>>新建>>静态库项目,项目名写入ucos,配置用ic86_le_soft,创建么完成。
以同样的方法创建第二个静态库项目uc_bsp。
点击文件>>新建>>项目>>操作系统无关项目,配置写入appTest,内存模板写入D:/LambdaPRO/target/deltaos/bsps/boards/PC386/mtp/tra_debug.mtp,启动类型写入D:/LambdaPRO/target/deltaos/bsps/boards/PC386/start/tra_debug,创建完成。
3、拷贝项目文件;把Libuc_bsp文件夹中的文件拷贝到uc_bsp项目中,把uc/os_II文件夹下面的文件拷贝到ucos项目中,把实验用例程序源文件拷贝到appTest项目中。
4、项目配置;右击uc_bsp,点击属性,点击构建设置,输出文件名写入libuc_bsp,输出路径写入D:/LambdaPRO/target/deltaos/lib/x86/i386/little。
配置ucos项目时,输出文件名写入libucos,输出路径写入D:/LambdaPRO/target/deltaos/lib/x86/i386/little。
配置appTest时,在工具设置中手动添加路径:D:/LambdaPRO/host/ide/workspace/ucos/src,再添加三个库,分别为:gcc、uc_bsp、ucos,项目配置完成。
计算机科学与技术学院操作系统课程设计实验报告 U华中科技大学嵌入式操作系统课程设计实验报告院系: 计算机科学与技术学院专业: 物联网班级: 1102姓名:吴斌报告时间: 2014-06-25__________________________第1页 /共18页计算机科学与技术学院目录1.课程设计目的 (3)2.课程设计环境搭建 (3)3.内容一:熟悉和理解Linux编程环境(1)内容要求 (4)(2)计过程及实现 (4)4.内容三:掌握添加设备驱动程序的方法(1)内容要求 (7)(2)设计过程及实现 (7)5.课设感想 (12)计算机科学与技术学院操作系统课程设计实验报告 U实验内容1 .课程设计目的(1)掌握Linux操作系统的使用方法;__________________________第3页 /共18页(2)了解Linux系统内核代码结构;(3)掌握实例操作系统的实现方法。
2 .课程设计环境搭建(1)安装linux(2)更改root登录:在现阶段Ubuntu的系统中,是不允许直接以root身份登录系统的,但是在做课设的过程中,需要大量的使用root权限来进行命令的操作。
如果以普通用户登录ubuntu,会连编辑一个文件都非常周折。
为此,我找到了一种修改系统文件,以达到直接使用root身份登录的方法:◎开始的时候,只能以普通用户登录,用Ctrl+Alt+T打开终端:初始化/修改root密码sudo passwd root用vi编辑器修改这个文件:sudo vi /etc/lightdm/lightdm.conf在文件最后加入这么一行代码:greeter-show-manual-login=true然后保存退出,sudo reboot 重启系统。
之后就可以输入root用户登录。
(3)在添加系统调用中用到的其他内核包:◎下载和当前实验环境最为接近的系统版本(这点很重要)计算机科学与技术学院操作系统课程设计实验报告 U使用apt-get install linux-source-3.0.0 命令,◎下载结果是linux-source-3.0.0.tar.bz2◎解压命令:tar –xjvf linux-source-3.0.0.tar.bz2 –C /usr/src◎解压后,在/usr/src目录下得到内核文件夹linux-source-3.0.0(4)在调用linux图形库时需要安装GTK环境:◎安装gcc/g++/gdb/make 等基本编程工具apt-get install build-essentialTip:如果提示由于依赖项不能安装,需要使用apt的强化版aptitude,这个工具可以自动分析软件包依赖,系统一般不自带,需要先安装,具体过程是:apt-get install aptitudeaptitude install build-essentialaptitude这个工具很强大,对于解决软件包安装时的依赖问题很有帮助。
目录实验一、在主机上搭建Linux开发环境 (2)实验二、LINUX基本行命令 (6)实验三、Linux交叉开发环境配置和使用 (10)实验四、LinuxC程序设计 (19)实验五、GDB调试例程 (21)实验六、Shell程序设计 (25)实验七、Makefile文件的编写 (29)实验八、多进程实验 (31)实验一、在主机上搭建Linux开发环境试验目的1、掌握如何在 WINDOWS下安装虚拟机,2、在虚拟机中安装 LINXUX操作系统;步骤 1. 首先准备一张 Ubuntu12.04 的安装光盘。
将光盘插入光驱,在 PC 的 bios 中把PC 启动方式设置为光驱启动,启动PC。
步骤 2. 启动 PC 后,安装盘会提示选择安装语言种类。
使用 PC 键盘的方向键选择在安装过程中显示的语言,在这里我们选择English选择“Install Ubuntu”。
Continue:单击Install Now选择键盘布局,默认即可,单击Continue.选择所在地,上海, Continue:输入系统用户名和密码,这里输入的用户名:forlinx, 密码:123456.注意:这里的用户名属于普通用户,不具备root 用户权限,系统如何以root 登陆,下一节有详细说明。
继续Continue,系统会完成安装。
将Ubuntu设置为root用户自动登录嵌入式交叉编译,经常需要root 用户的权限,ubuntu12.04 默认是不允许root 登录的,在登录窗口只能看到普通用户和访客登录。
以普通身份登陆Ubuntu 后我们需要做一些修改,用于支持root 用户登陆.普通用户登录后,需要在终端窗口中执行命令切换到超级用户模式,在Ubuntu12.04 如何迚入终端窗口,请参看6-4-1 Linux 终端一节关于终端使用介绍.在终端窗口里面输入: sudo -s. 回车,然后输入安装Ubuntu12.04 时设置的系统密码,即可迚入root 用户权限模式.在终端窗口中执行gedit /etc/lightdm/lightdm.conf.增加greeter-show-manual-login=true allow-guest=false 两行.修改完的整个配置文件如下:[SeatDefaults]greeter-session=unity-greeteruser-session=ubuntugreeter-show-manual-login=true #手工输入登陆系统的用户名和密码allow-guest=false #不允许guest登录然后我们启动root 帐号:在终端窗口中执行passwd root 命令,根据提示输入root 帐号的密码。
《嵌入式操作系统》课程实践教学研究摘要:计算机操作系统相关课程是计算机专业的主干课程之一。
为适应物联网发展需要,对《嵌入式操作系统》课程实践教学进行了研究,并给出了每个环节的教学方案。
关键词:物联网;嵌入式操作系统;教学模式0引言物联网是在计算机互联网的基础上,利用RFID、无线数据通信等技术,构造一个覆盖世界上万事万物的“Internet of Things”。
在这个网络中,物品能够彼此进行“交流”,而无需人的干预。
物联网是继计算机、互联网和移动通信之后的又一次信息产业的革命性发展。
物联网被正式列为国家重点发展的战略性新兴产业之一。
在国家大力推动工业化与信息化两化融合的大背景下,物联网会是工业乃至更多行业信息化过程中一个比较现实的突破口,是一个未来新兴产业。
应这种社会需求,2010年初教育部下达了高校设置物联网专业申报通知,众多高校争相申报。
三峡大学计算机科学与技术专业开设了物联网工程方向,以培养能够系统地掌握物联网相关理论、方法和技能,具备通信技术、网络技术、传感技术等信息领域专业知识的高级工程技术人才。
但是作为一个新兴的课程体系,教学内容选择、实践环节组织等问题依然处于探索阶段。
三峡大学将《嵌入式操作系统》[1]作为一门专业基础课程被列入该专业方向必修课程,和传统操作系统课程相比,嵌入式操作系统有自己的特点,尤其是实践环节,本文就《嵌入式操作系统》课程实践教学部分进行研究。
1《嵌入式操作系统》教学存在的问题首先,《嵌入式操作系统》是近年才出现的课程,可参考和借鉴的资料不多,各个学校都在探索一种适合该课程的教学模式。
其次,嵌入式系统是个综合性很强的系统,它涵盖计算机、通信、网络、RFID等各方面的技术,那么,作为嵌入式系统开发和执行平台的操作系统也要体现这方面的特征,而如何体现尚有待进一步探索。
再次,需要更多的经费投入,实验的开设往往不是一台PC机器就可以解决的。
2《嵌入式操作系统》实践教学内容的选定《嵌入式操作系统》同一般操作系统课程相比有很多独特之处。
实验五嵌入式操作系统实验一,实验目的1.熟悉嵌入式Linux操作系统;2.掌握Linux系统下进行嵌入式开发所用命令的使用;3.掌握Linux系统下使用gcc进行C程序的编译。
4.掌握Vi使用方法;二,实验设备硬件:PC机一台。
软件:Windows98/XP/2000系统,VMWARE,Linux。
三,实验内容实验内容一:vmware tools使用一、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系统中的目录及各个目录的大致作用:/ :根目录/bin:存放必要的命令/boot :存放内核以及启动所需的文件等/dev:存放设备文件/etc :存放系统的配置文件/home :用户文件的主目录,用户数据存放在其主目录中/lib:存放必要的运行库/mnt:存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
中南大学信息科学与工程学院实验报告:安磊班级:计科0901 学号: 0909090310 指导老师:宋虹目录课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12课程设计容在uC/OS操作系统中增加一个简单的文件系统。
要求如下:(1)熟悉并分析uc/os操作系统(2)设计并实现一个简单的文件系统(3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统(4)编写测试代码,测试对文件的相关操作:建立,读写等课程设计目的操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。
本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。
实验一熟悉嵌入式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)、实验中遇到的问题与解决过程。
桂林电子科技大学信息科技学院《嵌入式操作系统》实训报告学号**********姓名殷浩指导教师:韩桂明,赵志鹏,张锟2014 年4 月6 日实训题目:机房辅助管理系统1 系统设计1.1 设计要求1.1.1 设计任务以VM ware虚拟机软件和Red hat 9.0操作系统为平台,使用shell脚本编写程序,编辑生成上机课表并自动生成上机用户,进行用户课前和课后的管理1.1.2 性能指标要求①定义起始登陆界面,要求有主菜单选择不同功能。
② 根据登录用户显示欢迎对象、根据系统时间显示欢迎内容个性化的欢迎信息,有系统初始化、系统管理和退出三个菜单项操作提示菜单,能显示当前上课的具体时间和系统当前状态。
③生成本机房的上机安排表,安排表至少包含十条记录(包括课程、上课班级、起始周、节数等信息)能对安排表进行显示、添加、删除、修改、复制、插入、排序等操作。
④生成本机房的上机用户:根据上机安排表自动生成对应的上机用户,一个用户对应于安排表的一条记录,且账号= 班级+课程;密码=班级+课程号。
⑤课前准备:包括为用户创建一个工作环境:工作空间和用户资料、挂载U盘、拷贝上课文件资料、设置文件目录的权限属性等。
⑥课后整理:释放用户空间,更改文件目录权限,打包压缩文件,卸载U盘,删除用户目录下创建的工作目录等。
1.2 设计思路及设计框图1.2.1设计思路对于题目的理解,我决定这次机房管理分作两个部分,分别是教师管理,和学生用户管理。
进入教师界面后,会相应的有密码设置,系统初始化,以及对学生资料的设置。
而在系统初始化中,要有对一个课程安排表的一些操作,添加删除显示等等。
在学生资料界面中,同样也是对学生资料进行添加删除显示等。
教师管理中的学生资料很重要,因为学生用户输入的账号和密码,是与教师管理的学生资料对应的,账号是要从资料中读取班级和课程,密码则是班级和课号。
在进入学生管理界面后,需要有以下的一些操作,比如创建一个工作空间,能够对一些文件夹进行压缩打包,关闭一个文件夹的使用权限,以及U盘挂载等等。
本科实验报告课程名称:嵌入式操作系统实验报告姓名:学院:计算机科学与技术专业:计算机科学与技术年级:学号:指导教师:2007年12月2日试验一ADS、中断、串口通讯一实验目的1、熟悉ADS 1.2开发工具--创建、编译、下载、调试工程2、中断--中断响应、分发、处理3、串口通讯--串口控制器初始化、收/发数据二实验内容1 修改uC/OS-II的main函数2编写串口消息接受任务函数3编写串口中断处理函数三参考代码int main(void){ARMTargetInit(); //硬件初始化OSInit(); //操作系统初始化LCD_Init(); //LCD初始化LCD_Refresh();clearscreen(); //清屏OSTaskCreate(Task1, (void *)0,(OS_STK *)&task1_Stack[STACKSIZE-1], Task1_Prio);//创建串口数据接收进程message=OSMboxCreate((void*)NULL); //创建消息队列OSAddTask_Init(0); //创建idle进程,设置时钟中断OSStart(); //操作系统开始运行,开始调度return 0;}//mainvoid Task1(void *Id){U8 *c1, err;U16 timeout=0;InitUart(); //串口初始化;while(1) //循环接收串口数据并打印到LCD{c1 = OSMboxPend(message, timeout,&err); //等待串口数据,进入等待状态if(*c1=='\r') {WrUTXH0(‘\r’); WrUTXH0(‘\n’);//如果是换行符,打印换行给串口}else { //否则回传数据给串口并在LCD上显示数据WrUTXH0(*c1); WrUTXH0('\r'); WrUTXH0('\n');drawchar(*c1,0x7e0); drawstring("\n",0xffe0);} //if} //while} //Task1void irq_RevUart(int vector, int ndev){*c=RdURXH0(); // 从串口读数据OSMboxPost(message,&c); // 发消息给接收进程}四. 附件说明关于ADS工具的使用,每次必须关闭再重新开,这个软件bug应该说相当严重,希望以后的版本中可以修正.试验二进程通讯一实验目的1、中断处理与进程之间的同步--消息、信号灯、共享内存2、进程通讯--消息,信号灯二实验内容1修改uC/OS-II的main函数2创建两个任务函数3创建消息队列和信号灯4实现两个任务的同步三参考代码int main(void){ARMTargetInit(); //硬件初始化OSInit(); //操作系统初始化LCD_Init();LCD_Refresh();clearscreen(); //清屏OSTaskCreate(Task1, (void *)0, //创建串口数据接收进程(OS_STK *)&task1_Stack[STACKSIZE-1], Task1_Prio); OSTaskCreate(Task2, (void *)0, //创建串口数据显示进程(OS_STK *)&task2_Stack[STACKSIZE-1], Task2_Prio); message=OSMboxCreate((void*)NULL); //创建消息队列point=OSSemCreate(0); //创建信号灯,初值为0OSAddTask_Init(0); //创建idle进程,设置时钟中断OSStart(); //操作系统开始运行,开始调度return 0;}//mainvoid Task1(void *Id){U8 *c1, err;U16 timeout=0;InitUart(); //串口初始化;while(1) //循环接收串口数据并打印到LCD{ printf(“run task1”);drawStrong(waiting message from task2);OSMboxPend(message, timeout,&err); //等待串口数据,进入等待状态c1 = message->OSEventPtr; //串口收到数据,被唤醒,取得数据的指针if(*c1=='\r') {WrUTXH0(‘\r’); WrUTXH0(‘\n’);//如果是换行符,打印换行给串口}else { //否则回传数据给串口并在LCD上显示数据WrUTXH0(*c1); WrUTXH0('\r'); WrUTXH0('\n');UartChar = *c1; //将全局量UartChar赋值OSSemPost(point); //信号灯V()操作,通知显示进程} //if} //while} //Task1void Task2(void *Id){U8 err;for(;;){printf(“run task2”);drawStrong(waiting message from task1);OSSemPend(point,timeouts,&error); //信号灯P()drawstring("the char from uart is:\n",0x7ff);if(c1=‘\r’)//显示串口数据{drawchar(UartChar,0xffff);drawstring("\n",0xffe0);}elsedrawstring("\n",0xffe0);} //for} //Task2试验三LCD驱动、图形系统入门一实验目的1、LCD驱动--LCD初始化,FrameBuffer显示控制2、图形系统入门--点、线,简单几何形状二实验内容1 .初始化GPIO(通用输入/输出):rGPCUP=0xffffffff;rGPCCON=0xaaaaaaaa;rGPDUP=0xffffffff;rGPDCON=0xaaaaaaaa2.初始化LCD控制寄存器:rLCDCON1=0x00000178; //配置成为16位颜色,TFT(真彩)模式;rLCDCON2= 0x2077c241; //行数为480;rLCDCON3=0x017A7F0F; //行宽为640;3.设置LCD在内存中的起始地址:rLCDADDR1=0x1904b000; //FrameBuffer的首地址;rLCDADDR2=0x00096000; // FrameBuffer的尾地址;rLCDADDR3= 0x00000300; //虚屏行宽为640;rLCDCON1 += 1; //使能LCD,开始显示;4.绘画函数a. 画像素函数void drawpixel(int x, int y, unsigned short color_mask){unsigned int bits =(SCREEN_WIDTH*y+x)*BITS_PER_PIXEL;unsigned short *tmp;tmp = (unsigned short *)LCD_MEM_BASE+bits/16;//计算像素在内存中的地址;*tmp = color_mask; //给象素填充颜色;return ;}b.画线函数void drawline(int x, int y, int length,int flag, unsigned short color_mask){int i;if (flag==0)//画横线;for (i=0;i<length;i++)drawpixel(x+i,y,color_mask);if (flag==1)//画竖线;for (i=0;i<length;i++)drawpixel(x,y+i,color_mask);}c.画字符函数void draw_char(int x,int y, //字符在屏幕上的坐标unsigned char c, //字符值unsigned short color_mask) //字符的颜色5.绘制的效果图试验四触摸屏驱动一实验目的1、触摸屏驱动--初始化,坐标值的生成2、触摸屏、图形系统协调工作--触摸屏校准,拨号键盘二实验内容int main(void){drawgra();ARMTargetInit();OSInit();LCD_Init(); clearscreen();draw_keyboard();TchScr_init1(); //初始化触摸屏,非中断模式;;//校准触摸屏,在每次启动触摸屏时都运行该程序;OSTaskCreate(Task1,(void *)0,(OS_STK *)&task1_Stack[STACKSIZE-1],Task1_Prio);pevent=OSMboxCreate((void*)NULL);OSAddTask_Init(1);OSStart();return 0;}//main三. 附加说明可能是实验仪器的原因,屏幕矫正这一块总是很难做到,哪怕是你很仔细地去按键,两次得到的结果可能差别很大.这给后来的按键带来不少麻烦.我们按照说明做了,但是还是无法矫正,不知道这个该怎么处理.试验五、六GPRS综合试验一实验目的1、GPRS模块控制试验--串口控制GPRS模块,AT命令集2、综合试验--电话拨号,短消息发送二实验内容寄存器定义:#define OSULCON2 (*(volatile unsigned char *)0x)#define OSUCON2 (*(volatile unsigned char *)0x)#define OSUFCON2 (*(volatile unsigned char *)0x)#define OSUMCON2 (*(volatile unsigned char *)0x5000800C)#define OSUBRDIV2 (*(volatile unsigned short *)0x)初始化:OSULCON0=0x03; //设置串口数据长度、停止位、奇偶校验OSUCON0=0x85; //设置串口时钟频率、中断类型等OSUFCON0=0x01; //设置串口FIFO工作模式OSUMCON0=0x00; //设置流量控制等OSUBRDIV0=0x149; //设置串口波特率为9600bps寄存器定义:#define RdURXH2() (*(volatile unsigned char *)0x)#define RdUTRSTAT2() (*(volatile unsigned char *)0x)void irq_RevUart2(int vector, int ndev){int flag;flag = RdUTRSTA T2(); //读状态寄存器的值;while (flag&0x1) //判断FIFO里是否有接收到的数据;{ //有数据;c=RdURXH2(); // read the char from Uart2;flag = RdUTRSTA T2(); //读状态寄存器的值;draw_charline(c,0x7e0);//将读到的字符在LCD上最后一行显示出来;}}心得体会及建议觉得这几次实验,还是有点收获,起码对嵌入式操作系统有了一定认识,同时也会了一些基本的操作,比如熟悉了软件环境和编程环境,对于linux和arm9也了解了大概.特别是最后实现了打电话和发短信,感受到了嵌入式操作系统的独特魅力.但是总是觉得这几次的实验多多少少还是基本在抄袭已有的代码然后稍加修改就完成了,有时候时间紧根本就没看懂代码直接提交了.我觉得以后的实验要加强独立书写代码的能力,只有这样才能真正锻炼一个人的能力,也才能深刻理解并学习到东西.。
Linu与嵌入式系统实验指导书计算机与通信学院兰州理工大学2016年目录实验一虚拟机及LINUX系统的安装 (1)实验二LINUX相关命令及MAKEFILE文件的编写 (4)实验三多线程应用程序设计 (8)实验四嵌入式WEB服务器设计 (15)实验五点阵式LED实验 (21)实验一虚拟机及linux系统的安装一、实验目的熟悉Linux开发环境,掌握虚拟机软件VMware的安装方法,掌握Fedora Core 4 Linux 发行版的安装。
了解VMware tools的用途;掌握VMware tools的安装方法;初步了解部分Linux命令的使用。
二、实验原理虚拟机的配置,Linux的安装与基本命令的操作。
三、实验仪器及器件硬件:UP-NETARM2410-S嵌入式实验平台、PC机。
软件:PC机操作系统Fedora Core 4 Linux(或者Red flag)+MINICOM+ARM-LINUX开发环境或超级终端。
四、实验内容和步骤本次实验使用Fedora Core 4 Linux(或者Red flag)操作系统环境。
1、准备如下安装文件:VMware.Workstation.5.5中文版(虚拟机)带注册机FC4-i386-disc1.isoFC4-i386-disc2.isoFC4-i386-disc3.isoFC4-i386-disc4.isoFC4-i386-rescuecd.iso2、VMware软件的安装双击安装文件,按照提示进行下一步需要输入注册码时,运行注册机目录下的keygen..exe,点击generate,serial框中的即为注册码。
安装完成后,运行汉化补丁目录下的HF_Vmware5.5进行汉化VMvare tools的用途:在Linux中方便地访问Windows系统下的文件(通过目录/mnt/hgfs)增强桌面图形性能,屏幕分辨率鼠标可以在Windows系统和虚拟机之间方便切换3、VMware tools的安装打开VMware软件,启动已安装的Linux系统,通过菜单虚拟机->安装vmware工具,点击install,在Linux桌面上,点鼠标右键,打开终端,输入以下命令:mount –t iso9660 /dev/cdrom /mntcd /mntcp VMwareTools-5.5.0-18463.tar.gz /tmpcd /tmpumount /dev/cdromtar zxvf VmwareTools-5.5.0-18463.tar.gzcd vmware-tools-distrib./vmware-install.pl一路回车虚拟机->虚拟机设置->选项->共享文件夹->添加(名称d,主机文件夹D:\,名称e,主机文件夹E:\),确定reboot4、验证是否安装成功1)鼠标是否能方便地在Windows和虚拟机之间切换2)在Linux中能否通过目录/mnt/hgfs访问Windows下的文件5、Fedora Core 4 Linux发行版的安装(或者安装red flag 版本,过程一样,自己选择)在VMware软件中,新建虚拟机->下一步,选择典型->下一步,选择linux->下一步,选择linux安装的位置->下一步,使用桥接网络->下一步,完成。
嵌入式操作系统实验报告..实验一嵌入式开发环境的建立一、实验目的通过此实验系统,读者可以了解嵌入式实时操作系统uC/OS-一、实验目的通过此实验系统,读者可以了解嵌入式实时操作系统uC/OS:注:“重新构建”将本项目中的全部源代码进行一次完全的编译和连接,花费时间较多。
“构建项目”则仅仅将新修改过的源代码进行编译和连接,花费时间最少。
“重建BSP及项目”,不但要完成“重新构建”的全部工作,另外还要编译与该项目有关的的LambdaEDU中内置的部分代码,花费时间最多。
但是在项目刚建立后,第一次构建时需要选择“重建BSP 及项目”。
以后的构建中选择“重新构建”或“构建项目”即可。
另外,在替换了源代码中的文件后,需要选择“重新构建”来完成该项目的构建。
4. 配置虚拟机和目标机代理(1) 制作X86启动盘在LambdaEDU 中依次点击“工具”、“Bochs”、“制作虚拟机启动映象”。
对启动盘进行一些参数设置后(如下图所示),系统将自动为你生成一个PC 虚拟机的启动盘映像。
(2) 配置虚拟机选择使用的网络适配器(网卡)后,点击“确定”完成配置。
注意:如果计算机上有多网卡,请将其他网卡停用(包括VMware 虚拟机添加的虚拟网卡)。
(-“重新构建”将本项目中的全部源代码进行一次完全的编译和连接,花费时间较多。
“构建项目”则仅仅将新修改过的源代码进行编译和连接,花费时间最少。
“重建BSP及项目”,不但要完成“重新构建”的全部工作,另外还要编译与该项目有关的的LambdaEDU中内置的部分代码,花费时间最多。
但是在项目刚建立后,第一次构建时需要选择“重建BSP 及项目”。
以后的构建中选择“重新构建”或“构建项目”即可。
另外,在替换了源代码中的文件后,需要选择“重新构建”来完成该项目的构建。
4. 配置虚拟机和目标机代理(1) 制作X86启动盘在LambdaEDU 中依次点击“工具”、“Bochs”、“制作虚拟机启动映象”。
嵌入式操作系统实训报告一、实习的任务与目的本次实训的目的是在学生已掌握了嵌入式操作系统的知识、对当前嵌入式操作系统的主要种类和应用领域有较清晰的概念的基础上,以嵌入式Linux操作系统教学内容为指导,以S3C2410经典实验箱为平台,使学生掌握配置、裁剪、移植和维护嵌入式Linux操作系统的技能和相关理论知识,具备一个初级嵌入式Linux系统程序员的综合技能。
本次实训的任务是通过教师对嵌入式Linux的配置、裁剪、移植以及文件系统的移植等内容的讲解,让学生掌握如何搭建嵌入式开发环境、嵌入式Linux系统移植、文件系统移植以及简单的驱动程序的开发。
二、实习内容第一部分嵌入式LINU开发基础知识1.1 嵌入式LINUX简介1.2 嵌入式LINUX开发平台简介1.3 嵌入式LINUX开发流程1.4 嵌入式LINUX开发环境的建立第二部分嵌入式Linux系统构建2.1 Bootloader移植2.2 LINUX内核裁剪与移植2.2 创建根文件系统第三部分设备驱动程序设计3.1 模块方式驱动实验3.2 LED驱动实验3.3 中断按键控制LED实验三、实训步骤一)移植U-Boot.1.2.0到博创2410一、在U-Boot中建立自己的开发板类型,并测试编译。
1 在工作目录下解压U-Boot。
$tar zxvf u-boot.git.tar.gz2 进入U-Boot目录,修改Makefile,为开发板建立编译项3 在/board子目录中建立自己的开发板目录,还要记得修改自己的开发板目录下的Makefile文件,不然编译时会出错:COBJS := tekkaman2410.oflash.o4 在include/configs/中建立配置头文件$cd ../../..$cp include/configs/smdk2410.h include/configs/tekkaman2410.h 5测试交叉编译成功!!二、修改U-Boot中的文件,以匹配博创的2410实验箱。
实验报告书实验课程名称嵌入式操作系统开课学院计算机科学与技术学院指导教师姓名毛雪涛学生姓名小灰灰的爸爸学生专业班级中国好学长系列2013 —2014 学年第二学期实验课程名称:嵌入式操作系统实验课程名称:嵌入式操作系统实验课程名称:嵌入式操作系统第二部分:实验调试与结果分析(可加页)五、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)无六、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)一、准备工作建立工作目录,下载源码,安装交叉工具链,步骤如下。
mkdir /root/build_kernelcd /root/build_kernelwget -c /pub/linux/kernel/v2.6/linux2.6.14.1.tar.bz2tar jxvf linux2.6.14.1.tar.bz2export PATH=/usr/local/arm/3.3.2/binPATH二、修改顶层Makefile修改内核目录树根下的的Makefile,指明体系结构是arm,交叉编译工具是arm-linux-。
vi Makefile找到ARCH和CROSS_COMPILE,修改ARCH ?= armCROSS_COMPILE ?= arm-linux-保存退出。
三、设置flash分区此处一共要修改3个文件,分别是:arch/arm/mach-s3c2410/devs.c ;指明分区信息arch/arm/mach-s3c2410/mach-smdk2410.c ;指定启动时初始化drivers/mtd/nand/s3c2410.c ;禁止Flash ECC校验3.1指明分区信息在arch/arm/mach-s3c2410/devs.c文件中:vi arch/arm/mach-s3c2410/devs.c在arch/arm/mach-s3c2410/devs.c文件添加的内容包括:(1)添加包含头文件。