vxworks基础命令

合集下载

VxWorks开发教程(2024)

VxWorks开发教程(2024)

03
无线通信应用案例分 析
通过分析一个具体的无线通信应用案 例,展示如何在VxWorks系统中实现 无线通信功能,并提供一些优化和改 进的建议。
2024/1/28
35
08
图形界面开发与多媒体应用支 持
Chapter
2024/1/28
36
图形界面开发框架介绍
WindML
2024/1/28
29
设备驱动开发流程
01
需求分析
明确设备的功能需求、性能需求 和接口需求,为后续的设备驱动
开发提供基础。
03
编码实现
依据设计文档,使用C语言等编程 语言实现设备驱动的代码编写。
2024/1/28
02
设计阶段
根据需求分析结果,设计设备驱 动的整体架构、数据结构和函数
接口等。
04
测试与验证
2024/1/28
10
建立工程及源代码管理
创建新工程
在Workbench中,选择“File”->“New”>“VxWorks Project”,然后按照向导创建一个 新的VxWorks工程。
配置工程属性
在工程属性中,你可以设置编译选项、包含路径 、链接库等。确保这些配置与你的目标机和源代 码相匹配。
配的内存。
使用memPartAlloc和memPartFree函数:VxWorks提供了内存分区管理功能,可以 使用memPartAlloc函数从指定的内存分区中分配内存,使用memPartFree函数释放
内存到相应的分区。
2024/1/28
使用taskAlloc和taskFree函数:针对任务相关的内存分配,可以使用taskAlloc和 taskFree函数。这些函数会从任务的控制块中分配和释放内存。

MPC8640MPC8641平台上运行vxWorks操作系统

MPC8640MPC8641平台上运行vxWorks操作系统

MPC8640/MPC8641平台上运行vxWorks操作系统MPC864x处理器集成了一个或者两个e600核,基于Power Architecture™,其中MPC8640/MPC8641处理器集成了一个e600核,而MPC8640D/MPC8641D集成了两个e600核,8641相比较于8640的主要差别是CPU的主频前者能到1.5GHz,后者可到1.25GHz,典型功耗两者差别近10W。

e600核是G4核的升级版,具有32位和64位的浮点运算功能,适合大数据量运算的场合,工程中实测,同样主频下(1GHz),1个e600核的浮点运算能力是一个TMS320C6678核的1.3倍。

虚拟存储空间可达到4 Pbytes (petabytes) ,物理存储空间可达到 64 Gbytes (gigabytes) ,另外它提供双核独立可见的低地址模式0x0_0000_0000,使得两个核可以独立跑不同的操作系统,即AMP 模式。

MPC864x具有两个64位DDR/DDR2 SDRAM 内存控制器, 每一个控制器可以管理16Gbytes 的内存空间,两者独立可配置,实际应用中为降低单板功耗,可以只是用一个DDR控制器。

高速接口包括1x/4x SerialRapidIO和 1x/2x/4x/8x PCI Express,两者在接口上是复用的; 4 个可配置的10 Mbps,100 Mbps, and 1 Gbps以太网。

现以Wind River SBC8641D开发平台介绍如何跑起vxWorks操作系统,过程主要分三步:1)JTAG固化引导代码2)编译生成bootrom3)生成可执行文件vxWroksA)硬件资源:布局如下图所示:SBC8641D评估板主要资源:->Freescale MPC8641D processor->2 banks of 256MB of DDR2 SDRAM running at DDR400 speed (each bank on differentDDRMC).->128MB of Local Bus SDRAM using a 100-pin DIMM.->16MB of on-board Flash memory (Dual boot ROM).-> 64MB One Nand, Flash File System.->8KB EEPROM.->Four Gigabit Ethernet (GbE) ports via front-panel RJ45 connectors.->Two RS-232 serial communication ports via mini-DB9 connectors.->(2) x8 PCIe connectors资源框图如下图所示在电路板上电前,确认如下配置:B)软件部分:一)JTAG固化引导代码支持e600核的JTAG仿真器型号众多,我使用CodeWarrior USB TAP仿真器,编译器CW for Power Architecture(TM) V8.8。

OBT-BSP-VxWorks5.4 应用开发手册说明书

OBT-BSP-VxWorks5.4 应用开发手册说明书

OBT-BSP-VxWorks5.4应用开发手册V 2.0珠海欧比特控制工程股份有限公司2010年10月17日欧比特严禁复制目 录1引言.......................................................................................................................................................1 1.1编写目的.......................................................................................................................................1 1.2定义...............................................................................................................................................1 2 用途......................................................................................................................................................1 3 软件安装..............................................................................................................................................2 4 创建ROM映像........................................................................................................................................3 4.1 新建工程......................................................................................................................................3 4.2 选择BSP ........................................................................................................................................5 4.3 修改V X W ORKS 的宏..........................................................................................................................5 4.4 设置波特率. (6)4.5 添加应用程序..............................................................................................................................7 4.6 设置应用程序入口......................................................................................................................8 4.7 选择映像类型 (9)4.8 创建映像文件............................................................................................................................10 5 映像烧写及运行................................................................................................................................115.1 烧写最终映像方法.....................................................................................................................11 5.2 启动VXWORKS.........................................................................................................................14 6 移植注意事项....................................................................................................................................146.1 不同系统时钟频率的修改........................................................................................................14 6.2 不同SRAM数据线宽度的修改....................................................................................................15 6.3 不同SRAM大小的修改................................................................................................................15 欧比特严禁复制1引言1.1编写目的这份手册向读者介绍如何使用OBT-BSP-VxWorks5.4,主要介绍在Tornado 集成开发环境中如何开发针对S698系列开发板的VxWorks 5.4应用软件,以及生成最终烧写程序的过程。

WindShell简介和常用命令

WindShell简介和常用命令

1简介提供从宿主机到目标机之间的一个命令shell。

WindSh 是一种非常受欢迎的开发工具,它具有很强的交互性和可操作性,允许用户调用内存中的应用程序模块或是VxWorks模块中的任何例程。

它不但具有一般命令语言的功能,而且也具有 C 语言的设计特点,能够解释几乎任何 C 语言表达式,执行大多数C 语言算子,解析符号表数据。

对初用者来说,WindSh学习起来比较简单,使用比较方便,对熟练用户而言,则有较为高级的手段可以应用。

WindSh是一个驻留在主机内的C语言解释器,通过它可运行下载到目标机上的所有函数,包括VxWorks 和应用函数。

Tornado外壳还能解释常规的工具命令语言TCL。

WindSh不仅可以解释几乎所有的C语言表达式,而且可以实现所有的调试功能。

它主要有以下调试功能:下载软件模块;删除软件模块;产生任务;删除任务;设置断点;删除断点;运行、单步、继续执行程序;查看内存、寄存器、变量;修改内存、寄存器、变量;查看任务列表、内存使用情况、CPU利用率;查看特定的对象(任务、信号量、消息队列、内存分区、类);复位目标机。

2 启动和终止启动:命令行方式为:windSh phobos(目标服务器名称);菜单Tool->Shell;工具条。

终止:快捷键[Ctrl+D];命令exit() 或quit()。

3 Shell特性I/O重定向:程序员常常调用例程从标准输入接收数据或在标准输出显示数据,缺省情况下,标准输入输出流被定向到Tornado Shell。

使用Tcl过程shConfig 修改WindSh 环境变量SH_GET_TASK_IO,实现I/O复位向。

路径与符号补齐:键入任何符号或存在的路径名的开始部分,然后键入[Ctrl+D],Shell会自动补齐命令或路径名。

并且可以继续键入若干字符后加上[Ctrl+D] 知道命令或路径完整为止。

打印命令摘要(Synopsis ):键入完整的命令后,继续键入空格+ [Ctrl+D] 可以显示命令摘要,同时输入的命令继续作为输入。

FEP操作命令学习

FEP操作命令学习

FEP操作命令学习(vxWorks.xt 系统)(1)打开超级终端,输入任意一个名称—>选com1—>选“还原为默认值”—>设为115200—>回车后登陆用户名:vdu 密码:vdu 回车出现下图:(2) 要查看FEP的错误日志列表,则直接按数字键1,返回按ESC+b;刷新按ESC+u;回主菜单按ESC+m;回上一页按ESC+a;到下一页按ESC+n:(3) 要查看FEP的设置,则直接按数字键2,下图为厦滘站主FEP的设置:下图为厦滘站备FEP的设置:有主变电所的FEP版本与没有主变电所的FEP版本不同,下图为汉溪长隆站:(4)要查看子系统是否正常连接:先按数字键3,再按数字键4,如下图:出现下图,为厦滘站主FEP(L1 STA TE 表示子系统的L1 状态,L2 STATE表示子系统的L2 状态,Faulty 则是失败,OK Master 表示主,OK Slave表示备):下图为厦滘站备FEP的子系统连接情况,只能看到OK Slave:(5) 要查看FEP的报文,先按数字键4,再输入数字1,如下图:出现下图,选择要查看的子系统,比如要查看PSCADA,则输入数字5,如下图:出现下图,对应点表,并输入数字,查看报文:比如,点表中Id为9的报文如下图:(6)要查看FEP的config文件,则直接按数字键8,下图为汉溪长隆站第三部FEP 的config文件:(7) 要ping子系统的通断,则直接按数字键9,再输入数字1,如下图:输入要ping的IP地址,如下图:Ping 得通的情形,如下图:Ping不通的情形,如下图:(8)在MenMon>模式下,输入help,可以查到FEP主板的相关命令,如下所示(仅供参考):。

打通VxWorks调试环境 Step by Step(X86)

打通VxWorks调试环境 Step by Step(X86)

打通VxWorks调试环境Step by Step1 引言1.1 编写目的概要说明如何建立使用Tornado开发、调试VxWorks的环境(X86版本)。

1.2 背景1.3 定义HOST:主机,运行Tornado集成环境,FTP Server,Target Server,以及编辑、build工程、下载目标文件的各种软件工具;TARGET:目标机,HOST产生的vxWorks映像运行的位置,对于X86版本来说也是一台PC;TORNADO:C:\Tornado,安装Tornado的路径;BSPNAME:C:\Tornado\target\config\pc486,BSP的路径,本例中我们选择pc486;PROJECT:C:\Tornado\proj\Project2,我们自己创建的工程的路径;BIN:C:\Tornado\host\x86-win32\bin,Tornado的可执行程序的路径;HOME:C:\Tornado\host\x86-win32\bin,FTP用户的根目录。

1.4 参考资料Tornado User’s G uide (Windows Version), 2.0, Edition 1VxWorks Programmer’s Guide, 5.4, Edition 12 总体描述2.1 硬件环境HOST与TARGET通过以太网互连,并且位于同一网段;同时,串口通过直连电缆(NULL Modem Cable)连接。

目标机配置有软盘驱动器,网卡为3com 3c905B.2.2 软件环境主机操作系统为Windows 2000简体中文专业版(SP3);安装Tornado Version 2.0和Win 2k 补丁。

(CD No. TDK-12835-ZC-01 & TDK-13127-ZC-00, T2 LM for x86)2.3 预览在VxWorks调试环境中,HOST与TARGET之间连接的方式有多种,比如串口和网络;引导TARGET的方式也有多种,当然对X86平台来说最简单的是软盘引导了。

vxworks653编程手册

一.V xWorks653运行时系统1.1. 运行时层一个vxworks653模块由下面四层组成:■core OS—必需■partition—至少需要一个(vThreads 或COIL-based),每个都在一个分区的操作系统之中■APEX shared library—ARINC 653 应用所需■POSIX shared library—POSIX 应用所需1.1.1.Core OS层核心操作系统提供服务给分区。

缺省的,核心操作系统使用ARINC653规范中的时间抢占的调度(TPS)来调度分区。

Vxworks653的核心操作系统还可以采用APPS调度策略在TPS调度的空闲时间内调度优先级抢占调度(PPS)使能的分区。

核心操作系统提供给每个VThreads分区操作系统的服务包括:●分区系统资源●调度分区●代表分区的操作系统执行trap异常●定义和强制分区边界●装载分区●使用端口和通道在分区间传递消息●处理I/O●代表应用完成系统调用●支持分区的调试●监控分区和系统的健康1.1.2.vThreads 层vThreads分区操作系统在核心操作系统分配给该分区的时间内调度vThreads中的线程。

vThreads不直接与设备交互,而是通过核心操作系统的系统调用。

1.1.3.APEX 层构建在vThreads之上,遵循ARINC653规范,并且提供相应功能和API。

1.1.4.POSIX层构建在vThreads之上,遵循用于实时扩展的POSIX标准(1003.1b)。

1.2. 装载和启动当目标板加电时,按照下面的步骤进行装载和启动●初始的启动码装载核心操作系统,分区操作系统,共享库,以及应用●核心操作系统初始化自身,启动它自己的子系统●核心操作系统创建分区●核心操作系统启动分区调度器,并且让应用初始化自身核心操作系统可以在初始化完成之后下载在线装载的应用程序到分区。

应用可以在分区运行之时装载到分区。

1.3. 运行时模型核心操作系统处理来自每个分区的系统调用,并且在运行系统调用前校验每个系统调用的语句。

VxWorks动态加载

VxWorks动态加载注:最近在做热补丁的功能,看到一篇gateway写的文章,觉得很通俗易懂的,就将搜集到的资料又整理了一下,供大家参考。

使用动态加载目标模块的方式有很多好处,比如可以在不破坏原来的环境下增加调试定位功能,相当于给系统打“补丁”,不需要编译原来的代码(甚至可以不用原来的代码)而只需要关注正在调试的代码,这样能减少编译时间和减少映像的加载量。

实现目标模块的动态加载有很多种方法,如在主机环境的界面上通过在目标模块上单击鼠标右键,选择“Download 文件名”;也可以通过wShell和GDB 命令行窗口实现。

本文通过tshell下使用ld()、loadModule()、loadModuleAt()中一个函数来实现,当然在代码中也可以自如地调用它们。

ld命令是由用户接口子程序库usrLib提供的一个加载命令。

使用ld的前提是在config.h中定义INCLUDE_LOADER。

这样,在usrRoot()函数中就会自动调用加载模块初始化函数moduleLibInit();同时,根据CPU类型,自动决定目标模块的格式。

如果CPU是MIPS、PPC、ARM、I80X86、COLDFIRE、SIMSPARCSOLARIS、SH等,加载的目标模块格式是elf类型,就会调用loadElfInit();如果CPU是I960、AM29XXX等,加载的目标模块的格式则是coff 类型,就会调用loadCoffInit()函数。

在ARM和PPC下,Tornado编译器生成的.o或.out都是elf类型,打开目标文件都会看到文件头有ELF(45,4C,46)标记。

这时可以通过ftp工具把它加载到文件系统(如使用copy命令加载到RAM盘)中,再调用ld()或loadModule()函数加载到内存中运行。

ld的函数原型是:MODULE_ID ld( int syms, BOOL noAbort, char *name )。

VxWorks操作系统RTP介绍和使用方法

VxWorks操作系统RTP介绍和使用方法从VxWorks 6.x开始引入RTP(VxWorks real time process project)模式编程,这种模式的优点是应用程序相互独立,互不影响,而且增加了内核的稳定性,缺点是由于“内核态”与“用户态”的内存拷贝,其执行效率有所降低,随着CPU 速度越来越快,这点效率的牺牲已经越来越不重要。

相比较于传统的DKM (downloadable kernel module project),RTP适合多个团队独立运作,然后汇总联试,这种模式除了全局函数不能再shell里直接调用外,其对应用程序几乎不做任何约束,原有的DKM工程代码稍作修改即可正常运行。

内核变化较大,需要添加较多的组件,内存需要较好的划分,为保持应用程序直接调用函数调试的习惯,需要封装接口供用户使用。

现简单的介绍RTP使用方法,并给出demo代码供参考。

1.新建并编译工程:(1)File->new-> VxWorks real time process project,如图【1】图【1】(2)一路next后,选择如图【2】所示的编译器图【2】(3)选择Finish后,工程新建完毕。

(4)导入源文件:这里的源文件名称是fooRtpApp.c,一种较快捷的方式是选中新建的工程,按下F5,源文件会出现在工程中.(5)右键选择编译,出现如图【3】,选择Continue继续。

图【3】编译完成后,会生成vxe格式的可执行文件,此处为usrAppA.vxe。

2.下载可执行性文件待板子启动后,使用ftp将vxe文件下载到板子中。

步骤如下:(1)运行->cmd,打开对话窗口,如图【4】所示:图【4】依次执行如下命令:(a)ftp 192.168.0.2(该ip可在vxWorks启动后,输入命令ifconfig查看)(b)bi(c)cd /tffs0(d)put filename (完整的文件路径)(e)by执行完上述命令后,即可把可执行程序下载到目标板上,如下图【5】:图【5】在串口终端中,输入ifconfig命令查看ip地址;依次输入如下命令查看刚下载到目标板的文件:(a)cd “/tffs0”(b)ls上述操作结果如下图【6】所示:图【6】3.运行可执行文件下载完成后,可以断电重启或者在调试串口中输入命令ctrl+x软重启电路板,待系统启动后应用程序自动运行。

vxWorks memory


/*当前分配的块数*/ /*当前分配的字数*/ /*累计申请的块数*/ /*累计申请的字数*/
} PARTITION; 对于内存分区中的块,也有两个结构体在管理。包括分配内存时使用的 BLOCK_HDR 和 释放内存时使用的 FREE_BLOCK。
typedef struct blockHdr /* BLOCK_HDR */
int
lockOutLevel /* 中断屏蔽级*/
)
所以,系统内存的起始和结束地址在这里已经确定。
2 系统内存分区的创建
在 kernelInit()里启动的函数 usrRoot()里,根据输入的参数调用系统内存初始化函数 memInit (pMemPoolStart, memPoolSize);函数调用关系如图二。
块在以前的空闲块中间,意味着其后还有一小块未使用的空间,则增加一个空闲块结构管理
并将它加入到系统分区的freeList中。 调整curBlocksAllocated、cumBlocksAllocated、curWordsAllocated和cumWordsAllocated
/*指向对象管理结构*/ /*空闲链表*/ /*内存分区信号量*/ /*分区中的 Words 数。Bytes = Words X 2 */ /*分区中最小块大小,以 Word 为单位*/
2
unsigned options;
/*分区的内存选项,如错误是否上报*/
/* 分配统计 */ unsigned curBlocksAllocated; unsigned curWordsAllocated; unsigned cumBlocksAllocated; unsigned cumWordsAllocated;
如果找不到会按内存选项的设置options决定是否打印失败消息和挂起任务,并设置 error为S_memLib_NOT_ENOUGH_MEMORY,返回空指针。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.与任务相关的命令
sp function,[arg1],...,[arg9]
-启动任务,最多接受9个参数,默认的优先级100、堆栈20000字节
period n,function,[arg1],...,[arg8]
-创建一个周期调用function的任务,周期为n秒,最多接受8个参数
repeat m,function,[arg1],...,[arg8]
-创建一个反复调用function的任务,调用次数为m,m=0时永久调用,最多也
是8个参数
ts tidX -挂起任务
tr tidX -恢复挂起的任务
td tidX -删除任务
i tidX -显示任务基本信息,参数为0时显示全部任务
ti tidX -显示任务详细信息,包括寄存器、堆栈等
tt tidX -显示任务的函数调用关系
checkStack tidX -显示任务堆栈使用的历史统计,参数为0时显示全部任务
[其中tidX可以为任务ID 也可以为任务名]
2、系统信息
lkup ["string"] -在系统符号表中查找并列出含有"string"字符的函数及全局
变量,有两个特殊参数:
0,给出符号表统计;""(空字符串),列出全部符号
lkAddr addr -显示addr地址附近的符号表
l addr,[n] -显示addr地址开始的n条指令的反汇编,n省略时默认为10
条指令
h [n] -n为0时列出最近执行的shell命令,默认20条;n非0时,
设定shell记录的历史命令的数目
d [addr,[number],[width]]
-显示addr地址开始的number个单元的内容,width定制每个
单元的宽度,可以是1、2、4、8
m addr,[width] -按width宽度修改addr地址的内容,width可以是1、2、4、
8
memShow 1 -显示系统分区上空闲和已分配空间的总数等
printErrno value -打印系统定义的错误码的宏
3、与网络相关的命令
ifShow ["ifname"] - show info about network interfaces
inetstatShow - show all Internet protocol sockets
tcpstatShow - show statistics for TCP
udpstatShow - show statistics for UDP
ipstatShow - show statistics for IP
icmpstatShow - show statistics for ICMP
arpShow - show a list of known ARP entries
mbufShow - show network stack data pool
statistics
netStackSysPoolShow - show network stack system pool
statistics
routeShow - display all IP routes (summary
information)
mRouteShow - display all IP routes (verbose
information)
routestatShow - display routing statistics
routeAdd "destaddr","gateaddr" - add route to route table
routeDelete "destaddr","gateaddr" - delete route from route table
说明:上述大多数命令都可以在help、netHelp中查到

相关文档
最新文档