第三章 VxWorks集成开发环境的建立-学生

《软件开发环境与工具》

软件开发环境与工具实验指导书 太原理工大学计算机科学与技术学院 2015-10-27

说明 本书适用于计算机科学与技术专业、计算机工程专业及软件工程专业《软件开发环境与工具》的实验指导,共8个学时。覆盖软件开发的过程,涉及当前较流行的软件开发工具与环境。 一、实验的性质、目的和任务: 1.巩固和运用所学知识,解决具体问题,以达到理论联系实际的目的。 2.使学生明确后续的应用软件方向课程的学习目的,加深对这些课程的理解,能够应用本课程介绍的环境和工具进行后续课程的课程设计,使学生具备一定的应用软件的开发能力。 3.了解和掌握软件开发的整体过程,并结合实际应用开发一个小型应用软件,提高软件开发的实际能力,为今后毕业设计打下良好的基础。 4.了解当前流行的软件开发工具与环境。 二、实验的内容、要求及学时分配: 1.CASE工具PowerDesiner的使用 (2学时) 安装PowerDesiner,并了解掌握PowerDesiner的主要功能和使用方法。

2.搭建Visual Studio开发环境,设计Windows控制台应用程序(2学时) 安装并熟悉Visual Studio开发环境,进行Windows控制台应用程序设计。 3.掌握在Visual Studio 2010中进行Windows Form应用程序的设计方法 (2学时) 使用Visual Studio集成环境,利用C#语言进行Windows窗体应用程序设计。 4. 掌握在Visual Studio 2010中进行Web应用程序的设计方法(2学时) 使用Visual Studio集成环境,利用C#语言及https://www.360docs.net/doc/5618003002.html,技术进行Web应用程序设计。 三、实验考核: 以学生的实验报告和做实验时的表现考核为依据,有优、良、中、及格、不及格五个等级,可以分别每次实验提交一个报告,也可以写成综合报告。 四、参考资料: 《软件开发环境与工具》.相洁等. 电子工业出版社.

vxWorks学习笔记

vxWorks学习笔记 vxWorks学习笔记 2006-07-20 11:141.VxWorks开发方式:交叉开发,即将开发分为主机(host)和目标机(target)两部分。 类似于dos下C语言程序的开发。 合并开发的优点:简单 缺点:资源消耗量大,CPU支持,非标准体系的支持 host (Tornado) target(vxWork) 小程序模块 vxWorks实际采用开发模式 Tornado提供:编辑,编译,调试,性能分析工具,是vxWorks 的开发工具 vxWorks:面向对象可以剪裁的实际运行操作系统 2.vxWorks启动方式 Rom方式(vxWork_rom) vxWorks直接烧入rom Rom引导方式(bootrom+vxWorks) 其中bootrom烧入rom,vxWorks可以通过从串口,网口,硬盘,flash等下载!这里的bootrom不是开发环境中的bootable,在开发环境里bootable指的是vxWorks,downloadable指application 3.调试

attach 用来在多任务调试时将调试对象绑定到某个任务 任务级调试(attach taskName) 单个任务的调试不会影响到其他任务的运行,主要用来调用户的应用程序。 全局断点:在调另一任务或本任务时,系统运行本任务断点,则停下。各任务要配合使用。 任务断点:调本任务时,系统运行到本任务断点,则停下。如果没有attach到本任务,不起作用。 一次性断点:跑到一次之后自动删除。 系统级调试(attach system) 把所有task和系统core、中断看成一个整体,可用于调试系统和中断。对中断调试,如果不是系统级调试,无论是那种断点都不起作用 !wdbAgent不在调试范围内,当任务级调试时工作在中断方式,系统级调试工作在轮询方式。 !可是使用命令行方式的调试,参看crossWind教程。 4.调度 优先级调度(无条件) 时间片:同优先级,如果时间片没有打开,任务采取先到先运行,运行完毕在交出cpu,如果打开,则轮流使用cpu。!死循环使比它优先级低的任务都不能运行。

开发环境与测试环境搭建方案

开发环境与测试环境搭建方案 1. 总体原则 1.开发与测试环境单独搭建,开发与测试环境的分离便于利于重现开发环境无法重现的BUG 以及便于开发人员并行地修复BUG ,如果选择开发环境来进行测试,开发人员进行某项误操作后发生系统崩溃或者系统不能正常运行的意外,此时测试工作也不得不停止。 2.测试环境与测试数据库分离,测试环境与测试数据库分离保证测试数据库的稳定性、数据准确性以及今后性能测试指标值的准确性。 3.开发环境与开发数据库共用一台,由于开发环境对及其性能要求不高,因此应用与数据库采用共用。 4.测试环境WEB 应用部署与生产环境相同,测试数据库的配置(用户、表空间、表)也需与生产环境一致。 2. 环境管理 2.1. 系统架构 开发环境构架: 测试环境系统构架: 2.2. 硬件配置 从上述的系统架构图分析需要3台服务器组建开发与测试环境,机型选择普 通的PC Server 机器即可。 2.3. 安装软件 建议方案中给出是环境搭建的主要软件,其他的工具未在罗列中,根据具体 需要自行安装。 服务器 内存 CPU 硬盘 备注 开发服务器 2G 到4G 之间 4C ,主频2G 以上 300G 左右 测试服务器 8G-16G 之间 4C ,主频2G 以上 300G 左右 测试数据服务器 8G-16G 之间 4C ,主频2G 以上 500G 左右

3. 权限管理 3.1. 开发环境 开发人员均可访问开发服务器应用代码与开发数据库,可以修改代码与数据 以及发布部署开发版本以便自测。 3.2. 测试环境 测试环境由版本管理员管理,负责整个测试环境的管理,包括版本部署、服 务启停、数据变更等,测试环境对开发人员只开发查询权限,仅可查询应用日志,服务运行、测试数据。 4. 版本管理 开发与测试环境安装 SVN 版本管理软件,由版本管理员负责对开发与测 试环境的版本管理工作。 5. 备份管理 1.备份主要包括开发与测试环境的代码与配置,备份方式暂为全量备份。 2.每日凌晨3点系统自动对每个项目的代码已经配置文件自动备份,备份文件名:项目名称_code_yyyymmdd.tar ,备份完成后传至备份服务器(服务器待定)。 3.每当长假(元旦、清明、五一、端午、十一、中秋、春节)前期,需手工对开发与测试环境进行全量备份。 4. 服务器 操作系统 中间件 数据库 测试工具 版本管理 工具 开发服务器 RedHat Linux 5.4 64位 Weblogic 9 Oracle 10 无 SVN 测试服务器 RedHat Linux 5.4 64位 Weblogic 9 无 JIRA SVN 测试数据服务器 RedHat Linux 5.4 64位 无 Oracle 10

OSGEARTH + VS2010 安装

一、准备工作 下载: https://www.360docs.net/doc/5618003002.html,/wiki/Downloads 1. CURL (curl-7.21.7.tar.gz): http://curl.haxx.se/download.html 2. GDAL(gdal-1.8.0.tar.gz): https://www.360docs.net/doc/5618003002.html,/gdal/wiki/DownloadSource 3. GEOS(geos-3.2.2.tar.bz2):https://www.360docs.net/doc/5618003002.html,/geos/ 4. Expat(expat-win32bin-2.0.1.exe): code: https://www.360docs.net/doc/5618003002.html,/projects/expat/ exe文件:https://www.360docs.net/doc/5618003002.html,/eaglezhao/expat-win32bin-2.0.1.rar 5. libzip(libzip-windows.zip): code:http://nih.at/libzip/ 编译好的包供下载: vs2008: https://www.360docs.net/doc/5618003002.html,/trac/osgearth/raw-attachment/wiki/Downloads/libzip-windows.zip vs2010: https://www.360docs.net/doc/5618003002.html,/eaglezhao/libzip(vs10).rar 6. OSGEARTH(SVN上下载):svn: https://www.360docs.net/doc/5618003002.html,/gwaldron/osgearth.git(目前最新版是osgearth 2.0) 二、安装 1. CURL 使用CMAKE进行配置: 生成.sln后编译即可 编译好后将目录下的include/curl下文件拷到E:\OSG\3rdparty\include\curl ,进行覆盖编译好后将目录下的lib下的libcurl.dll文件拷到E:\OSG\3rdparty\bin ,进行

vxWorks开发环境构建步骤及开发资源

vxWorks开发环境构建步骤及开发资源 技创科技(Technique Innovator Inc.) https://www.360docs.net/doc/5618003002.html, 一、Tornado集成开发环境构成 Tornado是集成开发环境的名称,主要由帮助及参考文档、操作系统vxWorks、开发工具(编译器、调试器、编辑器、target server等,据统计,挂接在Tornado下的可选工具和第三方有数百个)等三部分构成,分别对应三个目录: i.docs/ 所有文档都集中在该目录中, books.html是根索引,入门级开发请务必查看 以下文档: ●如果要熟悉使用界面及Tornado使用、创建工程,请参考:Tornado用户手册 及Tornado集成开发环境的HELP->content调出来的联机帮助文档; ●vxWorks的编译是使用标准GNU Makefile来编译连接的,要了解Makefile语 法请参考”GNU Make”;具体的Make rules存放在target/h/make/目录下。 ●如何调试?请参考“Debugging with GDB” ●vxWorks构成、特点及kernel,编程等:请参考:VxWorks Programmer's Guide, 系统调用、库函数接口标准等,请参考:VxWorks Reference Manual ●有关BSP(board support package)的构成、初始化、底层驱动等,请参考“BSP Reference” ●网络应用编程指南(socket编程): “VxWorks Network Programmer's Guide” ii.host/ 该部分存放主机端(开发机)的工具,如Tornado.exe,make.exe,编译器、调试器及TCL命令解释器等等,开发中要用到的工具都存放在目录 host\x86-win32\bin 下,部分命令是.exe文件,部分是.bat的,其中有torvars.bat文 件,是设置Tornado集成开发环境的环境变量用的,在使用其他工具前,要运行它 设置正确的环境变量及可执行文件搜索路径。 iii.target/ vxWorks操作系统、源码、BSP、设备驱动、头文件、配置文件等config/ BSP的存放地方,底层开发者绝大部分时间在该目录下度过,该目录下除了all/和comps/外,其他每个目录对应一种硬件板的BSP,开发者在 做BSP开发时,原则上除了对应BSP目录能修改外,target/目录下的其他 所有目录都不应该作出改动,否则会影响到其他BSP,常用BSP有: pid7t/ →ARM公司推出的pid7 ARM7TDMI评估板的BSP integratorX/ →ARM公司推出的integratorXXX评估板的BSP tk4510a/ →我们要使用的S3C4510B板的BSP SNDS100/ →三星公司推出的SNDS100(KS3C50100/S3C4510B)板的 BSP h/ 头文件存放地点,包括vxWorks的及所有其他组件的 arch/arm/ ARM体系结构相关头文件 make/ 编译连接时要用到的规则都存放在这里 vxWorks.h wind Kernel(vxWorks的核心”Wind Kernel”的API及常量说明) lib/ vxWorks是一个商用操作系统,其不开放源码部分的.o文件及.a(库文件)文件存放在这里(当然,除了config/目录外,所有其他目录下的*.c源码在编

osgearth,个人笔记

智能指针使用: osg::Geode* geode=new osg::Geode;//新建Geode指针 osg::ref_ptrgeodePtr=geode;//构造一个新的ref_ptr对象,并将Geode指针分配给它。新建Geode对象geode的引用计数值变为1 Osg::ref_ptr geode1=new osg::Geode;//实现上述两句功能,不会产生内存泄露,当ref_ptr的生命周期结束时会自动释放引用对象 结论:①osg中新创建的场景对象建议使用ref_ptr进行内存的分配和管理 ②对于不使用ref_ptr的对象,引用计数值将变的没有意义,并且它无法自动从场景中卸载 ③新建对象作为函数结果返回时,建议使用realease()传递,并尽快引入到别的场景对象中 叶节点Geode 1、OSG 定义了osg::Drawable 类,用于保存要渲染的数据。Drawable 是一个无法直接实例化的虚基类。 OSG 核心库从Drawable 派生出三个子类:①osg::DrawPixels,封装了glDrawPixels()的相关功能;②osg::ShapeDrawable,提供了一些已经定义好的几何体的使用接口,如圆柱体和球;③osg::Geometry。setVertexArray() ,setColorArray() ,setNormalArray()用户程序可以使用它们来指定顶点数组,颜色,以及法线数据。setVertexArray()和setNormalArray()均使用一个Vec3Array 指针作为输入参数,而setColorArray()使用一个Vec4Array 指针。 官方OSG四个程序: 1 osgViewer模型查看工具 osgViewer是这四个程序当中用的最多的OSG程序,代码也非常入门与浅显易懂,在开始->运行->CMD中就可以直接启动osgViewer,因为path中添加了它的路径。下面来看一下osgViewer的功能,如表2.1 表2.1 osgViewer的功能表 命令:注意有的双杠功能 --image 读取纹理文件,比如:osgViewer --image Images/skymap.jpg --dem 以高程图的形式渲染一个镜像/DEM 比如osgViewer --dem a.img -h或--help 命令行参数功能帮助 --help-env 所有可用的环境变量帮助 --help-keys 所有可用键帮助 --help-all 展示所有帮助信息 --SingleThreaded 为viewer选择单线程模式 --CullDrawThreadPerContext 为viewer选择CullDrawThreadPerContext线程模式 --DrawThreadPerContext 为viewer选择DrawThreadPerContext线程模式 --CullThreadPerCameraDrawThreadPerContext 为viewer选择—CullThreadPerCameraDrawThreadPerContext线程模式

风河Workbench3.0_VxWorks6.6应用程序开发使用说明V1.0

说明:由于开发经验和英语水平有限,在本文档中肯定存在偏差和谬误。在有疑问的地方,请以风河的官方文档为准。欢迎联系,指正错误。QQ:1039309823。 风河Woorkbench3.0/VxWorks6.6使用说明 第一章工程视图(Projects Overview) Workbench利用工程( Projects)就像逻辑容器和积木块——它们能够连接在一起创建一个软件系统。工程( Projects)窗口可以直观地组织工程结构反映在内部的依赖关系上,以及编译和链接的次序。 前期配置的各种不同的工程允许在后面建立或添加工程时使用与之前的工程相同的配置和建立方式,因而只需要极小的输入。 一、Workspace/Project 的设置 Wind River Workbench并不知道使用者的源文件在哪一个地方,在开始的使用的时候Wind River Workbench在安装目录下有一个默认的工作空间(workspace )的目录。但是这不是必需的或者说并不一定是合理的,当使用者的工作空间因为产品升级或者更改安装目录已经完全存储在当前的安装目录树之外的时候! 通常,使用者需要把workspace目录设置在当前的源文件树的根目录下并且在此创建Workbench工程。对于各种不同的源文件树,可以使用不同的工作空间(workspaces)。 当决定在什么地方建立工程(projects)要做以下考虑: 1.在workspace建立工程 如果使用者想要新建一个工程在workspace下,通常的情况有 A.所建的工程还没有建立源文件。 B.所建的工程已经存在源文件,但需要添加进工程。 C.所建的工程不允许设置在源文件目录处。

这是个人在学习osgEarth时根据体会或从别的地方看到的做

这是个人在学习osgEarth时根据体会或从别的地方看到的做的一个简单整理,有些东东就是官方文档翻译过来的,都是根据自己的需要感觉需要记录下来什么东西就随便记录下来了,也没有个条理,都是用到哪记到哪,别见怪。对个人在初期使用osgEarth时有很多帮助,所以特发上来,希望对大家也有帮助osgEarth学习笔记1. 通过earth文件创建图层时,可以指定多个影像数据源和多个高程数据源,数据源的顺序决定渲染顺序,在earth文件中处于最前的在渲染时处于最底层渲染;所以如果有高低精度不同的影响数据或者高程数据,在创建earth 文件时要将粗精度的数据放在上方xml节点,高精度的放在其下面的节点;2. osgEarth自带多种驱动器,不同的驱动器驱动不同的数据源,自己也可以扩展驱动器读取相应的数据; 3. 可以通过profile属性指定数据的投影方式或者数据分页方式以及地理空间延展;osgEarth通过profile创建数据四叉树,每个四叉树节点数据瓦片通过TileKey类来标示;一个地形数据能否正常工作要看创建它的驱动器是否能够创建和对应profile兼容的数据瓦片;比如,如果要生成地球数据,就需要指定global-geodetic 或者global-mercator profile,相应的数据源要能够在这种profile下生成相应的地形数据; 4. 通过earth文件,最基本的也是最主要的功能是我们可以指定生成地形的坐标属性(地理坐标或投影坐标)影像数据、高程数据、矢量数据、模型数据、以及缓冲位置,通过这些基本要

素就可以轻易生成我们想要的地形;5. osgEarth只能使用16或32位的高程数据源;6. 如果直接使用原始的影像、高程以及矢量数据,可以用GDAL驱动器,在这种情况下需要注意几个性能的问题。第一,将数据源预先进行坐标变换,变换为目标地形坐标,否则osgEarth会对源数据进行坐标投影变换,这将降低数据的加载及处理速度。如果预先已经将数据源进行正确的坐标变换,osgEarth就可以省略这个步骤,从而提高其实时处理速度;第二,预先对影像数据进行瓦片处理,比如tiff格式的影像数据,它是逐行扫描存储的,而osgEarth是每次读取一个瓦片数据,如果预先对影像数据进行瓦片处理,在动态过程中osgEarth就不需要每次读取整个大块影像数据然后提取其需要的瓦片数据,而可以直接读取相应的瓦片数据即可,这样就大大提高了瓦片数据的读取速度。可以通过gdal_translate 工具对影像数据进行瓦片处理;第三,创建金字塔数据集可以使osgEarth读取数据更加高效,可以用gdaladdo工具创建金字塔数据集;总之,要想提高osgEarth的处理效率,就要预先创建高效的数据瓦片结构,除了用gdal、vpb等工具外,也可以通过osgEarth的数据缓冲机制创建预处理的瓦片数据集。比如我们可以创建一个如下的earth文件将数据缓冲到指定的目录:map name=bluemarble type=geocentric version=2 !--Add a reference to the image -- image name=bluemarble

OSGEarth学习

第一章OSGEarth学习 这是个人在学习osgEarth时根据体会或从别的地方看到的做的一个简单整理,有些东东就是官方文档翻译过来的,都是根据自己的需要感觉需要记录下来什么东西就随便记录下来了,也没有个条理,都是用到哪记到哪,别见怪。对个人在初期使用osgEarth时有很多帮助,所以特发上来,希望对大家也有帮助osgEarth学习笔记 1. 通过earth文件创建图层时,可以指定多个影像数据源和多个高程数据源,数据源的顺序决定渲染顺序,在earth文件中处于最前的在渲染时处于最底层渲染;所以如果有高低精度不同的影响数据或者高程数据,在创建earth文件时要将粗精度的数据放在上方xml节点,高精度的放在其下面的节点; 2. osgEarth自带多种驱动器,不同的驱动器驱动不同的数据源,自己也可以扩展驱动器读取相应的数据; 3. 可以通过profile属性指定数据的投影方式或者数据分页方式以及地理空间延展;osgEarth通过profile创建数据四叉树,每个四叉树节点数据瓦片通过TileKey类来标示;一个地形数据能否正常工作要看创建它的驱动器是否能够创建和对应profile兼容的数据瓦片;比如,如果要生成地球数据,就需要指定global-geodetic 或者global-mercator profile,相应的数据源要能够在这种profile下生成相应的地形数据; 4. 通过earth文件,最基本的也是最主要的功能是我们可以指定生成地形的坐标属性(地理坐标或投影坐标)影像数据、高程数据、矢量数据、模型数据、以及缓冲位置,通过这些基本要素就可以轻易生成我们想要的地形; 5. osgEarth只能使用16或32位的高程数据源; 6. 如果直接使用原始的影像、高程以及矢量数据,可以用GDAL驱动器,在这种情况下需要注意几个性能的问题。第一,将数据源预先进行坐标变换,变换为目标地形坐标,否则osgEarth会对源数据进行坐标投影变换,这将降低数据的加载及处理速度。如果预先已经将数据源进行正确的坐标变换,osgEarth 就可以省略这个步骤,从而提高其实时处理速度;第二,预先对影像数据进行瓦片处理,比如tiff格式的影像数据,它是逐行扫描存储的,而osgEarth是每次读取一个瓦片数据,如果预先对影像数据进行瓦片处理,在动态过程中osgEarth就不需要每次读取整个大块影像数据然后提取其需要的瓦片数据,而可以直接读取相应的瓦片数据即可,这样就大大提高了瓦片数据的读取速度。可以通过gdal_translate工具对影像数据进行瓦片处理;第三,创建金字塔数据集可以使osgEarth读取数据更加高效,可以用gdaladdo工具创建金字塔数据集;总之,要想提高osgEarth的处理效率,就要预先创建高效的数据瓦片结构,除了用gdal、vpb等工具外,也可以通过osgEarth的数据缓冲机制创建预处理的瓦片数据集。比如我们可以创建一个如下的earth 文件将数据缓冲到指定的目录: c:/data/bluemarble.tif c:/osgearth_cache

基于VXWORKS的嵌入式开发设计课件

一、嵌入式系统简介 1、嵌入式系统的基本特征 (1)专用的嵌入式CPU 该CPU具有高效率、低功耗、体积小和集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部完成,有利于嵌入式系统设计趋于小型化, 移动能力增强,与网络耦合紧密。 (2)专用性和算法的唯一性 设计成完成某一特定任务,和相应具体任务有机结合在一起,具有较长的生命周期。 (3)多种技术的结合体 计算机技术、半导体技术以及电子技术和各行业的具体应用紧密结合在一起的系统。 (4)软硬件紧密的相互依赖性 专用性决定了设计目标是单一的,硬件和软件的依赖性强,用利于版权的保护。 (5)系统对用户透明 用户使用只是按照预定方式使用,不需要用户编程和修改。 (6)大多具有实时性 如工业仪表、控制装置、数控系统、信息家电等。 (7)系统资源有限 速度和存储容量以及扩展接口有限。 (8)多为分布式系统 更易于保证硬实时要求、更便宜和更易于实现。 2、嵌入式软件的特点 (1)多具有实时性 指操作系统内核采用了一种算法,使tc(context swich)和ts(system call)尽可能小、尽可能是常量和可确定。所谓可确定是指tc和ts有一个上限,而不是 一个统计的结果,即不会出现峰值,不会随系统任务的增多而增多。 (2)有并发处理能力 能并发处理各个事件驱动,采用多任务运行机制。 (3)具有快速启动、出错处理和自动复位能力 能从只读存储器中快速启动,具有高容错机制,在系统出现死机前自动重启。 (4)应用软件和操作系统一体化设计 硬件和软件一起设计,以解决特定的问题,不同的系统有不同的配置。 (5)交叉开发环境 二、嵌入式系统软件开发流程 1、需求分析 2、设计思路 (1)概要设计 (2)详细设计 (3)详细写出测试项目(包括测试类别、测试过程、测试预测结果) 3、编码 (1)各芯片代码模块化,有利于移植 (2)需要注意一些小问题(如边界条件、内存越界访问、空指针等) ⅰ

osgEarth编译

以下文档是osg和osgearth的编译过程,系统要求如下: 操作系统:win7 home basic x64 编译器:vs2010 〇前言 本文档编译成功后会形成4个目录,分别为: 1Open Scene Graph, C:\Open Scene Graph 2OpenSceneGraph, C:\OpenSceneGraph 3OSG, D:\OSG 4osgEarth, D:\osgEarth 第一个存放osg软件,用于只使用osg软件用。文件夹大小199M 第二个存放osg+osgearth软件,用于使用osgearth和osg用。文件夹大小626M 第三个存放osg编译过程文件,用于对osg软件升级开发用。文件夹大小3.6G 第四个存放osgEarth编译过程文件,用于对osgEarth软件升级开发用。文件夹大小2.54G 先编译 一osg编译 1.1 文件目录构建 第一步:我们在D盘编译OSG,首先建立一个文件夹:D:\OSG; 第二步:把源代码拷贝进OSG文件夹:D:\OSG\OpenSceneGraph-3.0.1 第三步:把3rdParty第三方库拷贝到OSG文件夹:D:\OSG\3rdParty 第四步:重新组织3rdParty,把x86文件夹中的内容拷贝到3rdParty中,把x86,x64删除。 如下图所示: 第五步:把数据文件Data拷贝到OSG文件夹:D:\OSG\Data 通过以上五步,所需准备完毕,文件目录组织情况如下:

1.2 Qt和wxWidgets安装 下载qt和wxWidgets安装文件:qt-win-opensource-4.8.4-vs2010.exe和wxMSW-2.8.12-Setup.exe,如图所示: 1.3 cmake设置 第一步:把cmake程序拷贝到C盘,C:\cmake-2.8.11-win32-x86 第二步:打开cmake程序 第三步:直接在source code文本框中输入D:/OSG/OpenSceneGraph-3.0.1 第四步:在OSG文件夹中建立Build目录,用于存放编译工程文件 第五步:直接在build the binaries文本框中输入D:/OSG/Build

osgearth学习文档

osgEarth::Drivers::TMSOptions Class Reference 通过程序加载数据 赶紧进入正题,程序加载各种数据,首先介绍一下总体的方式 /*这里XXXOptions 是根据不同的数据类型选择不同驱动,比如加载本地数据可以使用GDALOptions ,加载TMS数据可以使用TMSOptions(注意TMSOptions可以加载本地也可以加载网上数据),WMSOptions可以加载网上数据(注意这个options主要加载影像和图片数据),ArcGISOptions加载ArcGIS Server发布数据。*/ osgEarth::Drivers::XXXOptions XXXLayer; /*这里就是加载的数据路径,如果加载的本地数据就是本地数据的路径,如果加载是网上数据就是相应的网址*/ XXXLayer.url()=osgEarth::URI("................................."); /*加载的数据是分层管理,每加载进来一个数据在earth上就是一个数据层,这里给数据层付个名字。*/ std::string LayerName="earth"; /*osgearth里layer主要有三种类型ImageLayer、ElevationLayer和ModleLayer ,前两个大家从字面就可以知道第一个是加载影像和第二个是加载高程数据的,第三个是主要用来加载shp数据,至少我是这样用的,不知道还能否加载其他数据类型。确定加载用的驱动、数据源位置(路径)、数据层名和初始化了数据层,接下来就是把数据层加到地球中如下所示。*/ osg::ref_ptr layer =new osgEarth::XXXLayer(osgEarth::XXXLayerOptions(LayerName,XXXLayer)); m_pMap->addImageLayer(layer.get());

基于OpenGL的VxWorks图形界面开发

基于OpenGL的VxWorks图形界面开发 摘要 图形用户界面(GUI)是人机交互技术的重要内容,它使用图形图像信息、直观的表达方式与用户交互,使软件系统的人机界面简洁、美观、方便好用,更加人性化。目前GUI已经大量应用在嵌入式领域,但是大多数嵌入式GUI系统提供给用户的显示平面从逻辑设计上讲是二维的,最大的缺点在于反映信息量小,在对真实场景进行模拟显示的时候,无法提供真实的场景数据。随着嵌入式系统硬件功能的不断提高,如何开发一款支持3D建模的嵌入式GUI已成为一个迫切的话题。 本课题来源于实习工作中的“某星载仪表控制计算机”项目,该计算机采用VxWorks作为其操作系统,要求设计出人性化的人机界面,可以实时显示系统的相关参数数据、图形信息等,并提供对3D模块的支持,能够进行3D图形的绘制和显示。本文经过详细分析和设计,实现了将OpenGL/Mesa3D图形库移植到VxWorks系统,并结合VxWorks内核及其多媒体库WindML的相关接口,开发了以消息驱动为核心、具有基本窗口管理功能和仿Windows控件效果、支持中文界面和3D画面绘制显示的GUI系统。从工程应用和测试的效果来看,该GUI系统基本实现了预期功能。 关键词:嵌入式系统VxWorks图形用户界面OpenGL/Mesa WindML

目录I 目录 第一章绪论 (1) 1.1 背景知识介绍 (1) 1.1.1 嵌入式实时系统 (1) 1.1.2 图形用户界面概述 (2) 1.2 国内外研究现状 (4) 1.2.1 嵌入式GUI的现状 (4) 1.2.2 基于VxWorks的图形解决方案 (5) 1.2.3 嵌入式GUI的发展趋势 (7) 1.3 课题来源和意义 (7) 1.4 论文结构 (8) 第二章VxWorks操作系统及媒体库WindML (11) 2.1 VxWorks深入研究 (11) 2.1.1 VxWorks概述[10] (11) 2.1.2 VxWorks实时微内核[11][12] (12) 2.2 VxWorks集成开发环境Tornado (15) 2.2.1 Tornado介绍[13][14] (15) 2.2.2 交叉编译环境 (15) 2.2.3 Tornado的组成 (16) 2.3 WindML媒体库 (18) 2.3.1 WindML概述[16] (18) 2.3.2 WindML事件服务机制 (19) 2.3.3 WindML2D图形库分析 (19) 2.3.4 WindML程序开发流程 (21) 2.4 本章小结 (22) 第三章OpenGL/Mesa及其在VxWorks下的移植 (23) 3.1 OpenGL/Mesa (23) 3.1.1 OpenGL开发库 (23) 3.1.2 OpenGL开发库结构 (24) 3.1.3 Mesa库 (28) 3.2 OpenGL/Mesa库的移植 (29) 3.2.1 工作概述 (29)

在vxWorks下的BSP开发指南

基于VxWorks的BSP开发指南 1BSP概述 一个成熟的商用操作系统,其被广泛应用的必要条件之一就是能够支持众多的硬件平台,并实现应用程序的硬件无关性。一般来说,这种无关性都是由操作系统实现的。 但对于嵌入式系统来说,它没有像PC机那样具有广泛使用的各种工业标准,各种嵌入式系统其不同的应用需求就决定了它一般都选用了各自定制的硬件环境,这种诸多变化硬件的环境就决定了无法完全由操作系统来实现上层软件与底层硬件之间的无关性。 因此各种商用实时操作系统,都采用了分层设计的方法,它将系统中与硬件直接相关的一层软件独立出来,称之为Board Support Package即简称BSP。顾名思义,BSP是针对某个单板而设计的,并且它对于用户(指开发者)也是开放的,用户可以根据不同的硬件需求对其作改动或二次开发,而操作系统本身仅仅提供了CPU内核的无关性。BSP在系统中的角色,很相似于BIOS在PC系统中的地位。 定义 BSP就是为软件操作系统正常运行提供最基本、最原始的硬件操作的软件模块,它和操作系统息息相关,但又不属于操作系统的一部分。BSP可以分为三大部分: 1:系统上电时的硬件初始化。 2:为操作系统访问硬件驱动程序提供支持。 3:集成的硬件相关和硬件无关的操作系统所需的软件模块。 BSP的表现形式 BSP主要以两种形式来表现: 1:源代码(C代码、汇编代码)、系统编译连接依靠文件。 2:二进制的目标代码和目标代码库。 BSP在软件系统中的位置

BSP在软件系统中的位置可以用下图来表示,BSP为操作系统和硬件设备的 互操作建了一个桥梁,操作系统通过BSP来完成对指定硬件的配置和管理。 2 vxWorks系统中的BSP 目录结构 BSP软件与其他软件的最大区别在于BSP软件有一整套模板和格式,开发人员必须严格遵守,不允许任意发挥。在BSP软件中,绝大部分文件的文件名和所要完成的功能都是固定的。所以,BSP软件的开发一般来说都是在一个基本成型的BSP软件上进行修改,以适应不同单板的需求。 针对某类CPU的硬件单板,vxWorks通常提供有其DEMO板的BSP, 这些程序位于指定的目录之下。也就是我们所说的最小系统BSP。一般来说,我们在硬件系统设计好之后,都会先找到一个与自己系统相近的DEMO板BSP(最起码是使用相同的CPU)。并以此为基础,开发自己单板的BSP。 VxWorks BSP的目录结构: BSP文件主要位于Tornado安装之后的Target目录下,具体目录结构如下:

《软件开发环境与工具》教学大纲

《软件开发环境与工具》教学大纲 课程编号:00000408 课程中文名称:软件开发环境与工具 课程英文名称:Developing Environment andTool for Software 总学时:40 实验学时:8 学分:2.5 适用专业:软件工程 一、课程性质、目的和任务(300字内) 《软件开发工具与环境》是软件工程专业中面向应用软件开发方向的一门重要的专业选修课程。 本课程主要介绍软件开发整个过程的基本知识,包括必要的软硬件、网络、应用软件的体系结构;软件开发基础、软件开发过程、软件开发平台及工具等。 教学内容包括软件开发基础、开发工具与开发环境、软件开发管理等方面的内容。 软件开发基础简要介绍软件体系结构、软件的开发过程,编程语言、常见的开发环境及开发环境的选择,数据库基础等。使学生具备简单应用程序的开发基础 开发环境与工具中以SQL Server 2000为例介绍一种数据库平台、以Visual Studio 2010 forC#为例介绍一种软件开发集成环境,以PowerDesiner为例介绍一种软件设计工具。使学生了解和掌握软件开发过程各个阶段的工具及如何选择开发工具。 课程重点介绍基于.net环境的C#的开发方法,包括Visual Studio集成开发环境、Visual C#语言基础、C#面向对象程序设计及Visual C#程序设计等,使学生能够通过Visual C#快速开发出自己的控制台应用程序、Windows窗体应用程序及Web应用程序。

通过实验,使学生熟悉工具,并能使用工具开发自己的应用。 二、课程教学内容及学时分配(每章均包括以下三项内容) 分为课堂教学和实验两部分。 1、课堂教学部分: 第1章软件概论 教学内容: 1.1软件基本概念 1.2软件架构 1.3软件开发过程 1.4软件开发环境与工具的 基本要求: 通过本章学习,使学生能够正确理解软件的基本概念、软件的发展历程、软件的生命周期及提出的各种模型,以及软件开发环境与工具的概念、类型和组成。 重点、难点: 软件开发环境及工具的组成,以及二者之间的关系。 学时:3 第2章软件分析与设计基础 教学内容: 2.1面向过程分析与设计 2.2面向对象分析与设计 2.3数据库建模与设计 基本要求: 通过本章学习,使学生能够了解和掌握软件分析与设计中常用的两种方法:结构化方法和面向对象的方法,并掌握利用面向对象的分析与设计工具Powerdesigner的使用方法。同时掌握数据库建模的步骤及方法。 重点、难点: 结构化方法和面向对象的方法。 学时:4

osgEarth数据加载及组织解析

osgEarth数据加载及组织解析 1.osgEarth的数据加载流程 由前文可知,用户可以使用osgEarth自己的earth文件,简单指定各种数据源,而不用关心数据如何渲染,便能在三维球上显示各种地形数据。本节,将会解读osgEarth如何解析earth 文件,利用用户提供的数据源,来构建三维球上的各种地形。 图3.1所示是加载数据的整体流程,本节将就这四个步骤进行具体的解读。 图3.1 osgEarth数据加载整体流程 1.1 读取earth文件 osgEarth继承了OSG的插件机制,所以osgEarth提供了专门读取earth文件的osgdb_earth 插件。通过查找并调用此插件,达到读取earh文件的目的。图3.2展示了查找读取earth插件的具体流程:

图3.2 查找读取earth插件的具体流程 这个具体流程展示了osgEarth如何找到读取earth的插件——osgdb_earth.dll。这个流程其实也是osg插件机制中的具体流程,主要在read函数中根据文件后缀名查找读写插件,查找策略见前文2.1.3的OSG插件机制,找到插件后便根据文件名构建ReadNodeFunctor的仿函数,然后调用doRead()函数来具体读取。 无论读取earth文件,还是读取影像数据、高程数据或一般的文字,都是这样一个流程,通过找到具体插件后调用插件里的doRead函数。 在osgdb_earth中,主要就是将earth文件中的内容转换成后面构造map需要的conf对象。图3.3展示了一个包含标签比较全面的earth文件,图3.4为转换后的conf结果结构图:

VMware平台的使用和Vxworks开发环境的建立

VMware平台的使用和Vxworks开发环境的建立 (航天504所数字信号处理室邢进) 1 前言 在嵌入式开发中使用Vxworks开发平台时,都需要有Host主机和Target目标机才能进行真实的开发平台或测试工作,Vxworks的IDE开发环境中虽然带有Simulator,但是该环境下只能进行简单的运行,并不能代表真实的环境。在Vxworks开发中的上层应用开发,需要具备和真实设备基本类似的平台来进行调试、开发和测试工作,这对于Vxworks上层应用软件和底层硬件驱动的并行开发有着很重要的意义。近几年来,由于虚拟计算机技术的发展,在一台主机上既能完成Host的IDE(集成开发环境)开发,又能利用主机所带的操作系统(典型为Windows 2000/XP)的多任务功能虚拟一台完全类似于开发目标机的思路逐渐为广大开发人员所接受。另外由于多核处理器的发展,今后的调试平台的发展方向也可能是主机运行在一个处理器核上,另外虚拟计算机运行在另外一个处理器核上,充分利用处理器强大的性能有效的提高嵌入式应用软件的开发和测试效率。本文就将对使用Vmware平台组建一个基于Tornado2.2的开发平台做详细的介绍。 2 Vmware WorkStation介绍 2.1 Vmware功能综述 Vmware Inc是虚拟计算机机领域的著名公司,其产品包括Vmware WorkStaion/Server等,它可以广泛用于测试新的操作系统或者应用程序环境,向用户推介新的操作系统,在教育研讨期间共享已经配置的环境,等等。 VMware Workstation 允许操作系统和应用程序在一台虚拟机内部运行。虚拟机是独立运行主机操作系统的离散环境。在 VMware Workstation 中,你可以在一个窗口中加载一台虚拟机,它可以运行自己的操作系统和应用程序。你可以在运行于桌面上的多台虚拟机之间切换,通过一个网络共享虚拟机(例如一个公司局域网),挂起和恢复虚拟机以及退出虚拟机 — 这一切不会影响你的主机操作和任何操作系统或者它正在运行的应用程序。 Vmware WorkStation是使用文件模拟系统的典型应用,兼容性和稳定性非常好,在不需要虚拟机时,简单的从系统磁盘文件中删除即可,不会对主机操作系统造成任何的影响,也不需要对主机进行重新分区、格式化等危险操作。另外虚拟的操作系统可以和主机以各种方式互联,包括网桥、NAT、私有网络等方式,可以共享主机网络,并且可以建立和主机共享的文件夹(客户机操作系统必须支持)。具体到我们的嵌入式开发,使用Vmware WorkStation至少可提供如下的功能:

相关文档
最新文档