vxworks基础培训ppt课件

上传人:hs****ma 文档编号:569053529 上传时间:2024-07-27 格式:PPT 页数:48 大小:331.50KB
返回 下载 相关 举报
vxworks基础培训ppt课件_第1页
第1页 / 共48页
vxworks基础培训ppt课件_第2页
第2页 / 共48页
vxworks基础培训ppt课件_第3页
第3页 / 共48页
vxworks基础培训ppt课件_第4页
第4页 / 共48页
vxworks基础培训ppt课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《vxworks基础培训ppt课件》由会员分享,可在线阅读,更多相关《vxworks基础培训ppt课件(48页珍藏版)》请在金锄头文库上搜索。

1、烽火烽火烽火烽火科技科技科技科技Vxworks嵌入式编程基础1烽火烽火烽火烽火科技科技科技科技实时嵌入式系统嵌入式系统:由CPU控制,即自带CPU相对于常见的pc而言,不对用户提供开发环境,用户与系统交互的唯一接口就是系统提供给用户的应用;提供功能通常带有针对性,大多为专用系统;手机,医疗设备,微波炉,mp3实时嵌入式系统:实时性:任务切换时间、抢占时间、中断等待时间、信号量延迟时间、死锁解脱时间、任务间消息传递延迟、数据报吞吐量小型化、可裁剪:系统资源有限强稳定性:一旦运行不需要人过多干预固化代码:操作系统和应用软件代码固化在嵌入式系统ROM中弱交互性:工作过程不需人干预2烽火烽火烽火烽火科

2、技科技科技科技嵌入式系统开发交叉编译:在某一体系结构的宿主机上为另一体系结构的目标板编译可运行的目标代码。即编译与运行不在同一地方。宿主机(host):编写代码和编译目标机(target):调试和执行程序3烽火烽火烽火烽火科技科技科技科技VxWorksVxWorks:美国风河公司(WindRiverSystem)推出的一种嵌入式实时操作系统。强实时性、微内核设计、可裁剪、可移植、高可靠VxWorks系统功能:WindKernelANSIC/POSIXI/O系统文件系统TCP/IP网络协议栈BSP开发包:提供BSP模块、驱动程序模板和BSP测试工具包WDB(WindDebugAgent):支持交

3、叉调试4烽火烽火烽火烽火科技科技科技科技BSPBSP(BoardSupportPackage)开发嵌入式应用时系统开发商提供的各种驱动支持库VxWorks:OS的驱动程序VxWorks提供的大部分功能模块与硬件无关,为使VxWorks能运行于不同的处理器体系结构上,必须在功能模块与硬件之间加入一层软件,并对这层软件规定标准接口,这层软件即为BSP提供对硬件进行的描述性操作提供对目标板的初始化、中断管理以及一些简单的驱动程序最好的情况下,OS与驱动程序的移植只需要更换相应平台下的BSP支撑库TornadoBSPDevelopersKitforVxWorks5烽火烽火烽火烽火科技科技科技科技VxW

4、orks系统结构6烽火烽火烽火烽火科技科技科技科技Tornado集成开发环境Tornado:基于VxWorks操作系统的嵌入式软件集成开发环境。给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。Tornado包含以下三部分:运行在宿主机和目标机上的强有力的交叉开发工具和实用程序;文本编辑器GNU和DiabC/C+编译器调试工具:WindShell,Browser,WindViewVxSim系统模拟器:VxWorks提供的在实验与测试环境下仿真VxWorks目标机的程序,无需硬件的支持运行在目标机上的高性能、可裁剪的实时操作系统VxWorks;即为编译生成的目标机上可执行代码

5、镜像(image),内含os连接宿主机和目标机的多种通讯方式,如:以太网,串口线,ICE或ROM仿真器等。7烽火烽火烽火烽火科技科技科技科技使用Tornado创建工程创建工程.exeWorkSpace&WorkProject每一个工程都需要有一个WorkSpace来保存一些相关的环境变量;BootableVsDownable:前者表明建立一个新的VxWorks操作系统,该工程是基于某个BSP生成的镜像,它包含了必须的VxWorks的内核、组件以及BSP,并且应用程序可以静态包含在工程中,也可以静态链接已编译好的应用工程模块。开发者可以根据自己的需求进行适当的配置,添加、删除VxWorks的组件

6、,设置所选组件的运行参数等。后者顾名思义,应用模块可以以静态链接的方式编译至VxWorks镜像工程中,还可以在VxWorks运行之后,通过网络将将应用模块(.out格式)下载到目标板,并与VxWorks镜像进行链接。在单独对某个模块进行调试时,我们常常会用到这种动态链接的方法。8烽火烽火烽火烽火科技科技科技科技VxSim的HelloWorld(一)9烽火烽火烽火烽火科技科技科技科技VxSim的HelloWorld(二)选择ABSP(板级支持包)在下拉菜单中选择simpc打开文件usrAppInit.c(它的函数usrAppInit是应用的入口点),添加HelloWorld打印语句,保存文件。1

7、0烽火烽火烽火烽火科技科技科技科技VxSim的HelloWorld(三)11烽火烽火烽火烽火科技科技科技科技VxSim的HelloWorld(四)最后:查看新弹出的对话框(VxWorksSimulator),_,可以看到输出的HelloWorld此时,还会弹出了一个VxSimLaunch的界面,这是主机用来连接目标机的。点击OK。如果正确安装Tornado并配置正确的话,此时桌面右下角会出现的图标(如果出现问题,会出现的图标),点击它可以看到TargetServer是否正常工作。12烽火烽火烽火烽火科技科技科技科技Tornado工具CrossWind:源程序(C或C+以及汇编程序等)的调试工具

8、Browser:可对系统对象(任务、消息队列、信号量等)和存储器使用情况进行观察的浏览器。可以方便地监视用户的目标系统。Browser汇总了应用进程,内存消耗和一个目标内存的映射。通过Browser,用户可以观察信号量、消息队列、内存分配、看门狗计时器、堆栈使用情况、目标CPU使用率、对象模块结构和符号表以及每个任务的详细信息。WindShell:提供从宿主机到目标机之间的一个命令shell。允许用户调用内存中的应用程序模块或是VxWorks模块中的任何例程。WindView:非常出色的系统可视诊断和分析工具。可非常容易地观察各任务,中断程序之间的相互作用。VxSim:快速原型仿真器。可在硬件

9、设备未完成之前,在宿主机上对应用程序进行仿真分析。13烽火烽火烽火烽火科技科技科技科技VxWorks程序设计任务(Task)在VxWorks中,任务是一段独立运行的程序,类似于Linux中的进程。从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、I/O设备及内存空间等系统资源,并独立于其他任务。VxWorks实时内核Wind提供了基本的多任务环境,因此当系统运行多个任务时,从表面上看多个任务正在同时执行,而实际上系统内核是根据某一调度策略让它们交替运行。系统调度器使用任务控制块(TCB)的数据结构来管理任务调度功能。每一个任务都与一个TCB关联。TCB包括了任务的当前

10、状态、优先级、要等待的事件或资源、任务码的起始地址、初始堆栈指针等信息。任务编程:任务创建taskSpawn、任务删除taskDelete、任务控制taskSuspend/taskDelay等WindShell允许用户调用内存中的应用程序模块或是VxWorks模块中的任何例程14烽火烽火烽火烽火科技科技科技科技创建任务在usrAppInit函数中添加函数userMain(),作为自己应用程序的入口函数。编写一个C文件(uesr.c),内容如下:15烽火烽火烽火烽火科技科技科技科技编译代码及运行选择AddFiles,添加uesr.c到工程中:编译并启动:16烽火烽火烽火烽火科技科技科技科技启动W

11、indShell在Launch工具栏中选择,这时候就可以看到shell的界面:输入i命令,回车,即可以查看到我们起的任务tTick的有关信息:17烽火烽火烽火烽火科技科技科技科技WindShell常用命令i:显示所有的任务信息Tt():显示一个任务的函数栈的调用状态Ti():显示一个任务的tcb信息Sp():启动一个任务Ts():挂起一个任务Tr():恢复一个任务Td():删除某个任务memShow:显示系统内存信息checkStack:查看指定或所有任务的堆栈大小和使用率18烽火烽火烽火烽火科技科技科技科技Tornado中Host与target通信TargetServer以进程的形式(tgt

12、svr.exe)运行在Windows主机上,而TargetAgent则以VxWorks的一个任务(tWdbTask)运行在目标机上,两者通常使用网络进行通讯,但也可以使用其他通讯方式。TargetServe与TargetAgent间使用WDB(WindDebug)协议进行通信,这就好比一座桥梁,将目标机与主机上的Tornado开发工具联系在一起。19烽火烽火烽火烽火科技科技科技科技开发板开发嵌入式程序操作系统的制作与下载修改Config.h制作BSP及bootrom制作操作系统配置启动超级终端引导和下载操作系统应用程序的编制和调试20烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载修改Co

13、nfig.hVxWorks的缺省配置参数由tornadotargetconfigall目录中的configAll.h决定,如第528行开始通信路径的配置对于某一目标板特定的配置参数,如ads860,使用tornadotargetconfig下相应目录中的config.h,下面以ads860板为例如果没有相应目录,可定制,如建立8240目录,其文件代码由BSP开发人员编写21烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载修改Config.hconfig.h首先定义BSP版本,然后includeconfigAll.h缺省下载调试口为10M网口,对应代码为#undefFADS_860T如改用1

14、00M网口下载调试,将该行改为#defineFADS_860T22烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载修改Config.h10M网口使用cpm(0,0),100M网口使用motfec(0,0)host:后跟VxWorks操作系统在主机的存放路径,h指主机IP地址,e指目标板IP地址,u指用户名,pwd指密码实例:使用10M网口,VxWorks在主机D:,主机地址10.16.17.1,目标板地址10.16.17.2,账号及密码均为tornado,其代码为:“cpm(0,0)host:d:/vxWorksh=10.16.17.1e=10.16.17.2u=tornadopwd=to

15、rnado”23烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载修改Config.h如采用串口调试,可增加下列代码#undefWDB_COMM_TYPE#defineWDB_COMM_TYPEWDB_COMM_SERIAL#undefWDB_TTY_CHANNEL#defineWDB_TTY_CHANNEL0#undefCONSOLE_BAUD_RATE#defineCONSOLE_BAUD_RATE 115200#undefWDB_TTY_DEV_NAME#defineWDB_TTY_DEV_NAME/tyCo/0#undefWDB_TTY_BAUD#defineWDB_TTY_BAUD

16、115200/*defaultbaudrate*/24烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载Buildbootrom修改BSP后,应生成对应的bootrom在Tornado中选Build-BuildBootROMBSP可选择ads860Image一般选择bootrom.hex,仿真时选择bootrom_uncmp25烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载烧制bootrom目的:将build成功的bootrom烧制到Flash中FADS860板通过配套的ADI卡烧制按照ADI卡相应的8bug程序中的readme,安装ADI卡在DOS方式下键入:mpc8bugxy26烽

17、火烽火烽火烽火科技科技科技科技操作系统的制作与下载验证bootrom连接主机与目标板的串口线启动和配置(方法后面介绍)选择Tornado2-VxWorksCOM1/COM2,启动超级终端超级终端中选文件-属性-配置,设置正确的目标板波特率目标板上电,检查终端是否能正确回显,显示参数与BSP配置是否一致27烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载创建操作系统工程选File-NewProject-CreateabootableVxWorksimage在step1键入Name和Location目录,选择Workspace在step2选择相应的BSP(如ads860),仿真选simpc28

18、烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载选择操作系统组件在Workspace窗口的相应Project中,点击VxWorks选择所需组件,击右键,选Include添加,选Exclude删除例如需要使用POSIX消息队列,可选operatingsystemcomponents-POSIXcomponents-POSIXmessagequeue并添加组件选择完毕后,右击Project,选BuildvxWorks注意有些组件必须组合使用29烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载的配置目标板上电后,bootrom引导初始化,启动TFTP协议,作为Client端与主机通信,此前主

19、机应运行点击Tornado2-如果目标板使用匿名账号登录,在Security-General中,选择AllowAnonymous在Security-Users/rights中,选择UserName,对于新开账号用NewUser配置;在HomeDirectory中键入操作系统所在目录,然后点击Done30烽火烽火烽火烽火科技科技科技科技操作系统的制作与下载常用TFTP命令TFTP通信建立后,在超级终端上可使用TFTP命令p:查看BSP预先设置的用户参数c:修改用户参数:根据用户参数下载操作系统31烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试程序Project的制作选File-NewPro

20、ject-Createdownloadableapplicationmodules在step1键入Name和Location目录,选择Workspace在step2选择相应的toolchain(如PPC860gnu),仿真选SIMNTgnu32烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试增删project文件在Workspace窗口下方点击Files,右击相应的ProjectFiles,选择AddFiles,增加所需的.c文件右击单个.c文件,可选择Remove来删除,选择Open来编辑,选择Compile来编译如果编辑新文件,选File-New,确定文件类型、文件名和存放位置,添加到

21、相应的project中;也可用其它编辑器编辑33烽火烽火烽火烽火科技科技科技科技增删project文件(续)完成.c文件的添加后,右击ProjectFiles,选择Dependencies,自动添加所有的include.h文件,显示在ExternalDependencies中(不显示系统.h文件)注意.h文件的路径34烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试路径和宏的加入在Workspace窗口点击Builds,双击xxxgnu,选择C/C+compiler,可编辑所需的编译路径和宏;路径用-I,如-IE:/mydirectory;宏用-D,如-DBIG_ENDIAN;中间无空格不

22、同选项间用空格隔开,不能使用回车键路径用UNIX格式/,不能使用DOS格式35烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试.o库的加入在xxxgnu窗口中选Macros,在Macros下拉菜单中选PRJ_LIBS,在Value栏键入.o文件及其绝对路径,如e:/mydirectory/my.o,然后点击Add/Set按钮,再点击Apply即可路径同样使用UNIX格式/36烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试Build应用程序在代码编辑完成后,右击ProjectFiles,选择Build或ReBuildAll,可对Project进行编译、链接,生成.out文件在Build

23、Output窗口中,Tornado会显示错误/警告信息,此时修改代码,重新Build,直至出现Done37烽火烽火烽火烽火科技科技科技科技调试应用程序的步骤连接主机与目标板之间的串口线和网线配置和启动配置和启动超级终端目标板上电,下载操作系统配置和启动TargetServer下载应用程序.out文件启动Shell,运行程序启动Debugger调试38烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试TargetServer的配置和启动选择Tools-TargetServer-Configure,选择相应的TargetServer,点击New可添加1个新的Configuration,自行定义T

24、argetServer名称(可选),键入目标板IPAddress(必选)在TargetServerProperties下拉菜单中选BackEnd,网口调试时在AvailableBack窗口选wdbrpc,串口调试选wdbserial在TargetServerProperties下拉菜单中选CoreSymbols,选中File,在该栏键入操作系统路径及名称,如e:vxworks139烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试TargetServer的配置和启动(续)当程序下载太慢时,可在TargetServerProperties下拉菜单中选MemoryCacheSize,选中Spec

25、ify,键入字节数,如4096(KByte)配置完毕后,点击OK时保存配置,点击Launch时直接启动TargetServer当TargetServer启动成功后,在Tornado主窗口下拉菜单中选定Target40烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试下载应用程序右击ProjectFiles,选Download,下载Workspace中的应用程序如果选Unload,撤销下载的应用程序如果只有.out文件,而无project及源代码,在主窗口点击Downloadobjectbootimage,选择相应文件下载在主窗口点击LaunchShell,启动Shell41烽火烽火烽火烽火科

26、技科技科技科技应用程序的编制与调试常用Shell命令在Shell窗口键入help,可查看外部Shell命令i查看已运行的所有任务的TCB,tXxxTask为系统任务sp产生1个任务td删除1个任务printErrno根据错误号显示错误类型42烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试常用Shell命令(续)moduleShow查看已下载的操作系统和.out文件memShow查看目标板内存状态reboot自动重启目标板,下载操作系统,重启TargetServer注意命令的大小写43烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试Browser的使用在主窗口点击LaunchBrows

27、er,可启动Browser根据Browser窗口下拉菜单的选择,可查看MemoryUsage、ModuleInformation、ObjectInformation、SpyChart、StackCheck、TargetInformation、Tasks等选项44烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试Debugger的使用在主窗口点击LaunchDebugger,可启动Debugger主窗口的Debug菜单下有常用的调试命令和其它调试工具一样,Tornado具备单步调试、断点调试等调试功能,并能进行系统级调试和任务级调试45烽火烽火烽火烽火科技科技科技科技应用程序的编制与调试应用程

28、序运行方法(1)在Shell窗口键入主任务(函数)名或子任务(函数)名,实例:直接键入mymain(2)在Shell窗口调用sp命令启动任务,实例:spmymain (sp参数取缺省值)(3)在主窗口点击Run,在RunTask窗口中选择相应的task根据任务产生和运行方式的不同,通过超级终端或Shell窗口可观察printf结果46烽火烽火烽火烽火科技科技科技科技TornadoOnlineManuals的使用点击程序-Tornado2-TornadoOnlineManuals在Tornado2.0OnlineManuals窗口点击Index键入待查找的API函数名(包括Shell命令),或者库名,然后点击Display注意区分大小写47烽火烽火烽火烽火科技科技科技科技谢谢!48

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号