MPC8377硬件环境下vxworks仿真的建立过程

合集下载

vxworks模拟器利用指南

vxworks模拟器利用指南

约定文档中提到的途径,均相关于ROS5(M)目录而言。

1.编译模拟器1.1.大体原理为了节省时刻,模拟器不像设备那样编译一个完整的vxworks镜像文件,而是把系统和模块分开。

系统寄存在vxsim\vxWorks文件中,该文件由系统组负责保护。

模块那么编译在vxsim\文件中,那个文件由各自编译。

为了编译明白得,咱们能够和Windows系统做一个对照,vxworks文件相当于Windows系统,.out文件相当于一个exe文件。

咱们开发一个exe文件的时候,并非需要编译整个Windows系统。

因此咱们只需要编译出文件即可。

的编译进程如下:1、编译vxsim目录下的所有.c文件,生成对应的.o文件2、链接步骤1生成的.o文件和lib\gnu\vxworks\SIMNT、publib\gnu\vxworks\SIMNT目录下的所有.a文件。

若是两个目录有同名文件,那么利用lib目录下的。

1.2.编译当前模拟器的编译再也不利用Workbench工程,完全利用批处置common\进行,该批处置应该用VxWorks Development Shell运行,而不是cmd。

下面描述都假设是在common目录下。

从那能看出,编译需要编译vxsim目录下的.c文件和编译库文件(.a文件)。

其中要紧的工作是编译库文件。

1.2.1.库文件编译编译一个库文件的方式是libname,其中libname指的是模块的名称,在module 目录下应该有一个文件。

比如:最终生成的库文件是寄存在lib\gnu\vxworks\SIMNT目录下,也即当前编译的库文件优先于publib的库文件。

一样而言,公共的库文件(rdvp/support/rcis/simssp)在publib目录下已经存在稳固的版本,不用另外编译。

各自只需要编译自己当前开发/调试的模块即可。

ROS5和ROS5M编译库文件略有不同。

ROS5M下的代码是全的,各个组件能够正常编译,比如需要编译命令行库文件,只需要运行cli即可。

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

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

vxWorks开发环境构建步骤及开发资源技创科技(Technique Innovator Inc.) 一、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)的构成、初始化、底层驱动等,请参考“BSPReference”●网络应用编程指南(socket编程): “VxWorks Network Programmer's Guide”ii.host/ 该部分存放主机端(开发机)的工具,如Tornado.exe,make.exe,编译器、调试器及TCL命令解释器等等,开发中要用到的工具都存放在目录host\x86-win32\bin 下,部分命令是.exe文件,部分是.bat的,其中有torvars.bat文件,是设置Tornado集成开发环境的环境变量用的,在使用其他工具前,要运行它设置正确的环境变量及可执行文件搜索路径。

VxWorks调试环境构建全过程

VxWorks调试环境构建全过程

VxWorks 调试环境构建全过程设定VxWorks开发环境如下:宿主机端(Host):普通PC机一台;Tornado2.0 IDE;BSP为x86 Pentium3架构。

目标机(Target): x86 Pentium3 CPU, 网卡为intel8255x系列(标识:fei)。

主机和目标机通过网线连接,制作步骤详述如下(为了图文一致,以下假设目标机BSP文件夹名为:pcPentium):1 .修改配置文件我们要修改编译VxWorks的配置头文件Config.h中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求。

(1)定位到目录C:\tornado2.2\target\config\pcPentium并打开该目录下Config.h文件;(2)查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU == PENTIUM3分支下的定义如下:#define DEFAULT_BOOT_LINE \"fei(0,0)host: vxWorks h=192.168.80.169 e=192.168.80.254 u=target pw=target tn=target"其中:∙fei(0,0)指定了使用第0个网卡和第0个处理器,fei这个标识代表intel8255x系列100M网卡,若目标机为intel8255x系列网卡,则标识为gei;∙host指定你的主机的名字,使用host就可以;∙vxWorks指定了VxWorks映象下载的完整路径(后面会有说明);∙h=192.168.80.169是宿主机的IP地址,可以根据实际情况修改;∙e=192.168.80.254是目标机的IP地址,可以根据实际情况修改;∙u=target指定了FTP服务器的用户名,这个FTP就是用来下载VxWorks 映象的;∙pw=target是FTP服务器与用户名target对应的密码;∙tn=target指定目标机的名字,任意指定即可。

VxWorks操作系统的CompactPCI测试仿真系统

VxWorks操作系统的CompactPCI测试仿真系统

VxWorks操作系统的CompactPCI测试仿真系统
VxWorks 操作系统是美国WindRiver 公司于1983 年设计开发的一种嵌入式实时操作系统(RTOS),该系统以其良好的可靠性和卓越的实时性被广泛地应用在通讯、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

在美国的F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上以及1997 年4 月在火星表面登陆的火星探测器上都使用到了VxWorks。

VxWorks 系统在各方面的性能表现卓越,主要表现在以下几方面:
(1)良好的实时性和稳定性
·优先级抢占调度和时间片轮转调度
·强大市场占有率、国防军事的多种应用
(2)高效的任务管理
·多任务,0~255 的256 个优先级
·任务控制块TCB、任务调度算法和排队策略
·上下文快速切换
(3)灵活的任务间通信
(4)微秒级的中断管理
(5)方便移植、构建的VxWorks 板支持包(BSP)
(6)支持多种标准:ANSI C
(7)丰富的网络功能
VxWorks 操作系统提供了集成的开发调试环境——Tornado,方便系统定制和程序开发,而且提供了多种分析工具进行任务间的协调,保证了各项实时指标。

系统开放与调试非常方便,如图1。

VxWorks映像及启动顺序与预内核

VxWorks映像及启动顺序与预内核

romInit()函数
3,冷启动和热启动 VxWorks映像启动类型分为冷启动和热启动两种: a) 冷启动。所谓冷启动是指硬件环境通过加电启动。在 romInit()函数中需要保存系统启动类型,启动类型宏定 义为BOOT_COLD。 b) 热启动。所谓热启动是通过调用reboot(),Ctrl+X或异 常中断重新启动目标机系统。
VxWorks映像类型
2,基于ROM的映像类型: 基于ROM型映像在执行前首先把自己从ROM 或Flash中装载到RAM中。这类型的映像通常在启 动阶段比较慢,但在执行阶段比ROM驻留型映像要 快。
VxWorks映像类型
2,基于ROM的映像类型:
VxWorks映像类型
2,基于ROM的映像类型: 该映象根据是否被压缩又可分为: 基于ROM的未压缩的VxWorks映象,可直接从 ROM拷贝到RAM中 基于ROM的压缩的VxWorks映象,这种映象主要 是为了节约BOOT空间,再从ROM拷贝到RAM的 过程中需要解压缩,因此与上述未压缩的映象相 比,它的引导过程相对较慢,但两者在RAM中的 运行速度是一样的。
VxWorks映像类型
1,可加载的映像类型: 这是一种运行于RAM的VxWorks映象。它不包含搬移 程序,需要借助于一些外部的程序如bootRom才能加载到 RAM的低端RAM_LOW_ADRS地址处。这是缺省的开发映 象。
VxWorks映像类型
1,可加载的映像类型: 在开发的初期阶段,用户可以根据需要添加或删除一 些VxWorks组件,生成自己的可加载的VxWorks映象,存 放在开发主机的某个目录下。目标板上电后,由烧结在 BOOT中的起始引导程序将BOOT中的ROM引导程序拷贝到 RAM的高端地址RAM_HIGH_ADRS处,并跳转至该地址 执行ROM引导程序,配置好所选的加载方式,将指定的主 机目录下的可加载的VxWorks映象下载到目标板的RAM地 址RAM_LOW_ADRS处,并跳转到此处执行。

VxWorks开发教程

VxWorks开发教程
数。
任务删除
使用`taskDelete()`函数删除 指定任务,释放任务所占用的
资源。
任务状态转换
通过`taskSuspend()`和 `taskResume()`函数实现任务
的挂起与恢复,通过 `taskDelay()`函数实现任务延
时。
任务优先级调度策略
优先级抢占式调度
01
高优先级任务可抢占低优先级任务的执行,确保关键任务得到
TCP/IP通信实例分析
通过分析一个简单的基于TCP/IP协议栈的通信实例,加深对网络通信编程的理解和掌握。
无线通信模块集成与调试经验分享
01
02
无线通信模块概述
介绍常见的无线通信模块类型及其特点, 如Wi-Fi模块、蓝牙模块、ZigBee模块 等。
模块集成步骤与注意 事项
详细讲解无线通信模块与VxWorks系 统的集成步骤,包括硬件连接、驱动程 序开发、协议栈配置等,并分享一些实 用的调试技巧和经验。
套接字编程基本流程
包括创建套接字、绑定地址、监听连接、接受连接、发送和接收数据等步骤。
基于TCP/IP协议栈网络通信实现
TCP/IP协议栈概述
介绍TCP/IP协议栈的基本概念和层次结构,以及各层的主要功能和协议。
网络通信编程接口
讲解VxWorks提供的网络通信编程接口,如socket()、bind()、listen()、accept()、send()、recv()等函数 的使用方法和注意事项。
中断控制器识别中断源,并将其传递 给CPU。
中断类型及响应过程
3. 中断处理
CPU保存当前执行上下文,跳转到中 断处理程序执行。
4. 中断返回
中断处理程序执行完毕后,CPU恢复保 存的上下文并继续执行原程序。

VxWorks系统中映像及其加载过程

VxWorks系统中映像及其加载过程

A. 最少化的系统初始化BootRom的启动过程:文件romInit.s中的romInit()→文件bootInit.c中的romStart()→文件bootConfig.c中的[usrInit()→usrRoot()](其中usrInit()和usrRoot()函数还调用了其他很多初始化的函数)注意:与VxWorks image的区别在于一个BootRom调用bootConfig.c,而VxWorks调用usrConfig.c, bootConfig.c主要完成BootRom 映像的初始化,而usrConfig.c主要完成VxWorks映像的初始化。

图表4 BootRom的加载过程B. 用BootRom加载Loadable 映像的启动过程为:文件romInit.s中的romInit()→文件bootInit.c中的romStart()→文件sysALib.s中的sysInit()[初始化RAM]→文件usrConfig.c中的[usrInit()→usrRoot()](其中usrInit()和usrRoot()函数还调用了其他很多初始化的函数)图表5 BootRom加载Lodable 映像的过程Rom-Based image(基于ROM的VxWorks映像)前面说了这种类型映像不需要BootRom的支持,那么它(下面所说的驻留ROM的映像也是)融合了BootRom的引导功能,它在ROM中启动,然后把VxWorks 拷贝到RAM中去运行。

其加载和引导VxWorks映像的过程是:文件romInit.s中的romInit()→文件bootInit.c中的romStart()→文件usrConfig.c中的[usrInit()→usrRoot()](其中usrInit()和usrRoot()函数还调用了其他很多初始化的函数)图表6基于ROM的VxWorks映像的加载过程Rom_Resident image(驻留ROM的VxWorks映像)在ROM中启动,并在运行VxWorks。

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

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

vxWorks开发环境构建步骤及开发资源技创科技(Technique Innovator Inc.) 一、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)的构成、初始化、底层驱动等,请参考“BSPReference”●网络应用编程指南(socket编程): “VxWorks Network Programmer's Guide”ii.host/ 该部分存放主机端(开发机)的工具,如Tornado.exe,make.exe,编译器、调试器及TCL命令解释器等等,开发中要用到的工具都存放在目录host\x86-win32\bin 下,部分命令是.exe文件,部分是.bat的,其中有torvars.bat文件,是设置Tornado集成开发环境的环境变量用的,在使用其他工具前,要运行它设置正确的环境变量及可执行文件搜索路径。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MPC8377硬件环境下vxworks仿真的建立过程
2012-8-7
U-BOOT常用命令:
重启:reset
查看环境变量:printenv
修改环境变量:例如修改PC机IP,setenv serverip “……”
保存环境变量:saveenv
下载bootrom:run laodvx
如果需要用到其他命令,在命令行输入“?”查看。

1.首先,需要在FLASH中烧写好U-BOOT,把串口和网线连接好(如果多串口和网口的话,请检查并接在正确的位置),打开串口调试工具并设置在数据读取状态,然后上电,在倒计时读秒完成前在命令输入行输入任何信息进入U-BOOT层。

命令行
U-BOOT读秒区
2.在命令行输入printenv命令会显示U-BOOT的信息,如果ip不是我们想要的,可以通过setenv serverip “……”来修改,如下图中就把ip从192.168.1.24
改为192.168.1.43,修改完成后需要saveenv,然后reset,整个修改完成。

Printenv命令后的ip信息
Setenv serverip ”192.168.1.43”
后的结果
3.下载bootrom。

先找到vxworks编译好的bootrom.bin文件,例如:本PC 上的路径C:\WindRiver-GPPVE-3.6-PPC-Eval\vxworks-6.6\target\config\mds837x,如下图。

需要的bootrom文件
把bootrom复制到tftp软件所在的位置,如下图。

放置好的bootrom文件
然后启动tftp软件,并在命令行输入:run loadvx,成功后如下图,至此bootrom 下载完毕。

下载成功后tftp显示信息
4.Vxworks下载。

首先启动Vxworks6.6自带的ftp server,并配置好登陆用户和密码以及相关设置,主要有两部分设置,如下图。

用户配置界面
Logging设置界面
vxworks读秒完成前,在命令行输入任意信息,进入vxworks boot,输入“P”,显示vxworks相关信息,输入“@”,通过网络加载vxworks映像文件,输入“?”,可以显示所有的命令,如下图。

注意:PC机和开发板的IP配置必须在一个网段,否则无法完成加载,上图中的IP就不在一个网段,可以config.h中进行修改,修改完成并编译,然后重复上述的过程即可。

修改成功后的结果如下图。

IP配置
Vxworks boot 读秒区
Vxworks相关信息
修改后的IP
加载成功后,串口调试显示结果和ftp显示结果如下。

加载成功后的显示信息
程序运算结果
ftp server显示信息
Vxworks中添加调试程序的位置在usrappinit.c和usrrtpappinit.c,如下。

usrappinit.c的位置
自己添加的程序
通过cmd.exe输入命令查看的结果如下图。

5.硬件仿真环境的建立。

首先要新建一个连接,点击WorkBench 左下角窗口的define a connection to remote system 按扭,就会出现配置界面,如下图。

需要点击的按扭
填写正确的IP
选择正确的地址
目标文件
其他默认即可,点finish 就可以了。

连接目标板,右键新建的连接,点弹出的菜单中的Connect ‘vxWorks6x_ 192.168.1.2’就可以了。

连接成功后,可以看到如下的信息,如Kernel Tasks 的信息如下。

相关文档
最新文档