VxWorks常用函数速查
- 格式:pdf
- 大小:120.52 KB
- 文档页数:8
VxWorks常用的命令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、8m addr,[width] -按width宽度修改addr地址的内容,width可以是1、2、4、8 memShow 1 -显示系统分区上空闲和已分配空间的总数等printErrno value -打印系统定义的错误码的宏3、与网络相关的命令ifShow ["ifname"] - show info about network interfacesinetstatShow - show all Internet protocol socketstcpstatShow - show statistics for TCPudpstatShow - show statistics for UDPipstatShow - show statistics for IPicmpstatShow - show statistics for ICMParpShow - show a list of known ARP entriesmbufShow - 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 statisticsrouteAdd "destaddr","gateaddr" - add route to route tablerouteDelete "destaddr","gateaddr" - delete route from route table说明:上述大多数命令都可以在help、netHelp中查到vxWorks命令规则:名词+动词,第二个单词开始大写序号状态命令备注1 BSP c 改变配置2 BSP p 打印当前配置信息3 BSP @ 开始加载内核4 BSP ctrl+x 重新启动5 BSP6 BSP7 vxWorks i 查看进程8 vxWorks ifShow 查看当前网络设置9 vxWorks devs 查看所有的设备10 vxWorks cd "/xxx/" 进入目录11 vxWorks cfIdeInit 每次上电后执行12 vxWorks cfFormat 新卡(或者是未格式化的卡)插入的时候执行,只需执行一次13 vxWorks ll 以详细模式查看当前目录下的文件14 vxWorks ls 以简单模式查看当前目录下的文件15 vxWorks version 查看编译时间16 vxWorks td xxx 终止xxx进程17 vxWorks help 帮助18 vxWorks tffsShow 查看tffs的相关信息19 vxWorks tffsDevFormat 格式化tffs文件系统20 vxWorks showTime 查看系统时间21 vxWorks usrTffsConfig(0,0,"/tffs0") 新增一个tffs格式的文件系统22 vxWorks pwd 查看当前操作所在的目录路径23 vxWorks ping "xx.xx.xx.xx",10,0 ping地址xx.xx.xx.xx,共计10次24 vxWorks pciDeviceShow 查看当前系统中的所有PCI设备25 vxWorks pciHeaderShow,0,xx 查看当前系统中的组号为0、地址号为xx 的PCI设备VxWorks中如果稍有不慎,就可能导致task suspend,如果运气好,shell没有被挂起,则可以通过系统的一些命令追踪一下挂起的原因。
ZebOS vxWorks PAL库函数PAL修改列表不需修改的函数条件:未被调用且自身为空函数;IPv6相关;MPLS相关;VRF相关;VRRP相关;VxWorks 系统调用pal_auth.c全部pal_daemon.c全部pal_kernel.cpal_kernel_fib_createpal_kernel_fib_deletepal_kernel_if_bind_vrfpal_kernel_if_unbind_vrfpal_kernel_virtual_ipv4_addpal_kernel_virtual_ipv4_deletepal_kernel_virtual_mac_addpal_kernel_virtual_mac_deletepal_kernel_vrrp_startpal_kernel_vrrp_stoppal_kernel_gratuitous_arp_sendpal_socket.cpal_sock_get_ipv6_checksumpal_sock_get_ipv6_hoplimitpal_sock_get_ipv6_multicast_hopspal_sock_get_ipv6_multicast_looppal_sock_get_ipv6_pktinfopal_sock_get_ipv6_unicast_hopspal_sock_set_ipv6_checksumpal_sock_set_ipv6_hoplimitpal_sock_set_ipv6_icmp_filterpal_sock_set_ipv6_multicast_hopspal_sock_set_ipv6_multicast_joinpal_sock_set_ipv6_multicast_leavepal_sock_set_ipv6_multicast_looppal_sock_set_ipv6_pktinfopal_sock_set_ipv6_unicast_hopspal_sock_set_ipv4_mrt_add_mfcpal_sock_set_ipv4_mrt_add_vifpal_sock_set_ipv4_mrt_assertpal_sock_set_ipv4_mrt_del_mfcpal_sock_set_ipv4_mrt_del_vifpal_sock_set_ipv4_mrt_donepal_sock_set_ipv4_mrt_igmp_donepal_sock_set_ipv4_mrt_igmp_initpal_sock_set_ipv4_mrt_initpal_sock_set_ipv4_mrt_spt_bitpal_sock_set_ipv4_pimpal_sock_raw.cpal_in6_recv_packetpal_in6_send_packetpal_sock_in6_cmsg_finishpal_sock_in6_cmsg_hoplimit_getpal_sock_in6_cmsg_hoplimit_setpal_sock_in6_cmsg_initpal_sock_in6_cmsg_len_getpal_sock_in6_cmsg_lookuppal_sock_in6_cmsg_pktinfo_getpal_sock_in6_cmsg_pktinfo_setpal_sock_set_icmp6_checksum pal_stdlib.cpal_cryptpal_stdlib_startpal_stdlib_stoppal_unamepal_log.c全部pal_mcast.c全部pal_memory.c全部pal_mpls_client.c全部pal_mpls_stats.c全部pal_semaphore.c全部pal_string.c全部pal_time.c全部需要或可能需要被修改:(共计130 个,17个c文件)plat_kernel_fwd_ctrl.c(全部5个)该文件和linux PAL中pal_kernel_ipv4_forwardingpal_kernel_ipv4_forwarding_getpal_kernel_ipv4_forwarding_offpal_kernel_ipv4_forwarding_onpal_kernel_ipv4_forwarding_setplat_kernel_if.c(全部3个)pal_if_stat_updatepal_kernel_if_scanpal_kernel_if_updateplat_kernel_if_api.c(全部19个)pal_kernel_if_addr_getpal_kernel_if_flags_getpal_kernel_if_flags_setpal_kernel_if_flags_unsetpal_kernel_if_get_bwpal_kernel_if_get_hwaddrpal_kernel_if_get_indexpal_kernel_if_get_metricpal_kernel_if_get_mtupal_kernel_if_ipv4_address_addpal_kernel_if_ipv4_address_deletepal_kernel_if_ipv4_address_delete_allpal_kernel_if_ipv4_address_secondary_addpal_kernel_if_ipv4_address_secondary_deletepal_kernel_if_ipv4_address_updatepal_kernel_if_listpal_kernel_if_set_metricpal_kernel_if_set_mtusignedTounsignedLongplat_kernel_rte_mgmt.c(全部4个),或保持接口不变,只修改pal_kernel_rtm_ipv4 pal_kernel_ipv4_addpal_kernel_ipv4_delpal_kernel_ipv4_updatepal_kernel_rtm_ipv4plat_kernel_rte_scan.c(3个)pal_ipv4_route_readpal_kernel_route_scanpal_populate_ipv4_route其中可以只修改pal_populate_ipv4_route plat_kernel_rte_socket.c(17个)IFAMADDRGETIFAMMASKGETpal_af_checkpal_ifam_readpal_ifam_read_mesgpal_ifm_readpal_kernel_readpal_routing_socketpal_rtmsg_debugpal_rtm_flag_dumppal_rtm_readpal_rtm_read_mesgROUNDUPRTMADDRGETRTMMASKGETSOCKADDRSETWRAPUPpal_if_types.cpal_if_typepal_igmp.c(2个)pal_igmp_type_strpal_handle_igmp_messagepal_inet.c(5个)pal_inet_ntoapal_inet_atonpal_inet_ntoppal_inet_ptonpal_inet_pton4pal_kernel.c(2个)pal_kernel_startpal_kernel_stoppal_kernel_arp.c(2个)pal_kernel_l2_ipv4_resolvepal_kernel_L2_ipv4_resolvepal_socket.c(44个)pal_fcntlpal_getservbynamepal_sock_checkpal_sock_get_bindtodevicepal_sock_get_bindtofibpal_sock_get_broadcastpal_sock_get_ipv4_multicast_hopspal_sock_get_ipv4_multicast_looppal_sock_get_ipv4_pimpal_sock_get_ipv4_tos_precpal_sock_get_ipv4_unicast_hopspal_sock_get_ip_hdr_inclpal_sock_get_ip_recvifpal_sock_get_nonblockingpal_sock_get_recvbufpal_sock_get_reuseaddrpal_sock_get_reuseportpal_sock_get_sendbufpal_sock_get_soerrpal_sock_get_tcp_nodelaypal_sock_set_bindtodevicepal_sock_set_bindtofibpal_sock_set_broadcastpal_sock_set_ipv4_dstaddrpal_sock_set_ipv4_tos_precpal_sock_set_ipv4_unicast_hopspal_sock_set_ip_hdr_inclpal_sock_set_ip_recvifpal_sock_set_ipv4_multicast_hopspal_sock_set_ipv4_multicast_ifpal_sock_set_ipv4_multicast_joinpal_sock_set_ipv4_multicast_leavepal_sock_set_ipv4_multicast_looppal_sock_set_ll_multicast_joinpal_sock_set_ll_multicast_leavepal_sock_set_nonblockingpal_sock_set_recvbufpal_sock_set_reuseaddrpal_sock_set_reuseportpal_sock_set_router_alertpal_sock_set_sendbufpal_sock_set_tcp_nodelaypal_sock_startpal_sock_stoppal_sock_ll.c(10个)pal_sock_ll_cisco_hdlcpal_sock_ll_defpal_sock_ll_def_closepal_sock_ll_def_phyaddr_getpal_sock_ll_def_phyaddr_setpal_sock_ll_def_promisc_disablepal_sock_ll_def_promisc_enablepal_sock_ll_def_recvmsgpal_sock_ll_def_sendmsgpal_sock_ll_ethernetpal_sock_raw.c(9个)pal_in4_ip_hdr_len_getpal_in4_ip_hdr_len_setpal_in4_ip_hdr_tos_setpal_in4_ip_packet_len_getpal_in4_ip_packet_len_setpal_in4_packet_peekpal_in4_recv_packetpal_in4_recv_packet_lenpal_in4_send_packetpal_sock_udp.c(1个)pal_in4_udp_recv_packetpal_stdlib.c(3个)pal_in4_header_lengthpal_getcwdpal_system_errpal_utils.c(1个)pal_sin_masklenPAL函数调用关系及功能说明pal_auth.c : 802.1x控制请求vxWorks中没有实现802.1x,因此这部分API均为空函数,均未被ZebOS中任何函数调用。
Vxworks常用命令版本及修订说明:目录VXWORKS常用命令 (1)说明 (2)常用命令 (2)说明常用指令使用两种方式:1、在串口超级终端下输入命令;串口设置为115200,8N1;2、使用telnet登陆装置,然后在shell下输入命令;用户:密码:常用命令命令:version查看vxworks程序时间:命令:ll查看文件列表。
U21平台的主CPU文件系统包括:/shr 、/set、/log、/wave。
命令:cdcd “目录名”命令:rm删除文件“文件路径和文件名称”或者remove “文件路径和文件名称”命令: i查看任务状态。
正常任务状态为:PEND/READY。
异常为:STOP、SUPPEND. 状态中出现+I说明该任务占用了高优先级任务所需要的资源,而被暂时提高了优先级运行。
命令:tt “任务名称”查看任务调用情况。
当系统中出现异常任务时,只要使用命令:tt,可以查看异常任务函数调用情况。
命令:ti “任务名称”查看任务详细信息.命令:checkStack 查看各任务堆栈使用情况。
命令:getcpuusage 查看任务负载。
命令:devs查看驱动设备列表。
命令:iosFdShow查看被打开的文件id列表:命令:systime查看修改装置时间命令;systime “Time=xx:xx:xx”修改时间;systime “TIME=XX-XX-XX”修改日期其中:status为0为没有检查到外部对时。
status为1为对时源为1588对时;2为B码;4为PPS;但与定值配置不符。
status=800x:表示外部对时正常;x为1为1588对时;2为B码;4为PPS 命令:ifShow查看网口IP地址。
命令:ifAddrSet修改装置网卡IP地址:格式:ifAddrSet "qefcc0","198.120.0.107"其中:qefcc0为第一个网口(板卡面板从上往下数),qefcc1为第二个网口,qefcc2为第三个网口。
VxWorks常⽤命令汇总VxWorks常⽤的命令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、8m addr,[width] -按width宽度修改addr地址的内容,width可以是1、2、4、8 memShow 1 -显⽰系统分区上空闲和已分配空间的总数等printErrno value -打印系统定义的错误码的宏3、与⽹络相关的命令ifShow ["ifname"] - show info about network interfacesinetstatShow - show all Internet protocol socketstcpstatShow - show statistics for TCPudpstatShow - show statistics for UDPipstatShow - show statistics for IPicmpstatShow - show statistics for ICMParpShow - show a list of known ARP entriesmbufShow - 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 statisticsrouteAdd "destaddr","gateaddr" - add route to route tablerouteDelete "destaddr","gateaddr" - delete route from route table说明:上述⼤多数命令都可以在help、netHelp中查到vxWorks命令规则:名词+动词,第⼆个单词开始⼤写序号状态命令备注1 BSP c 改变配置2 BSP p 打印当前配置信息3 BSP @ 开始加载内核4 BSP ctrl+x 重新启动5 BSP6 BSP7 vxWorks i 查看进程8 vxWorks ifShow 查看当前⽹络设置9 vxWorks devs 查看所有的设备10 vxWorks cd "/xxx/" 进⼊⽬录11 vxWorks cfIdeInit 每次上电后执⾏12 vxWorks cfFormat 新卡(或者是未格式化的卡)插⼊的时候执⾏,只需执⾏⼀次13 vxWorks ll 以详细模式查看当前⽬录下的⽂件14 vxWorks ls 以简单模式查看当前⽬录下的⽂件15 vxWorks version 查看编译时间16 vxWorks td xxx 终⽌xxx进程17 vxWorks help 帮助18 vxWorks tffsShow 查看tffs的相关信息19 vxWorks tffsDevFormat 格式化tffs⽂件系统20 vxWorks showTime 查看系统时间21 vxWorks usrTffsConfig(0,0,"/tffs0") 新增⼀个tffs格式的⽂件系统22 vxWorks pwd 查看当前操作所在的⽬录路径23 vxWorks ping "xx.xx.xx.xx",10,0 ping地址xx.xx.xx.xx,共计10次24 vxWorks pciDeviceShow 查看当前系统中的所有PCI设备25 vxWorks pciHeaderShow,0,xx 查看当前系统中的组号为0、地址号为xx 的PCI设备VxWorks中如果稍有不慎,就可能导致task suspend,如果运⽓好,shell没有被挂起,则可以通过系统的⼀些命令追踪⼀下挂起的原因。
VxWork介绍及编程VxWork介绍及编程一.嵌入式操作系统VxWorks简介VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。
良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。
它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
实时操作系统和分时操作系统的区别从操作系统能否满足实时性要求来区分,可把操作系统分成分时操作系统和实时操作系统。
分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统由调度程序自动计算进程的优先级,而不是由用户控制进程的优先级。
这样的系统无法实时响应外部异步事件。
实时操作系统能够在限定的时间内执行完所规定的功能,并能在限定的时间内对外部的异步事件作出响应。
分时系统主要应用于科学计算和一般实时性要求不高的场合。
实时性系统主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。
VxWorks的特点•可靠性操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。
而稳定、可靠一直是VxWorks的一个突出优点。
自从对中国的销售解禁以来,VxWorks以其良好的可靠性在中国赢得了越来越多的用户。
•实时性实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。
实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。
VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。
vxworks下PCI设备驱动开发的相关函数对于vxworks 下PCI 设备调试来说,pciConfigShow 库函数可以帮助显示一些PCI 设备的信息。
VxWorks API Reference : Driver LibrariespciConfigShowNAMEpciConfigShow - Show routines of PCI bus(IO mapped) libraryROUTINESpciDeviceShow( ) - print information about PCI devicespciHeaderShow( ) - print a header of the specified PCI device pciFindDeviceShow( ) - find a device by deviceId, then print an information. pciFindClassShow( ) - find a device by 24-bit class code pciConfigStatusWordShow( ) - show the decoded value of the status word pciConfigCmdWordShow( ) - show the decoded value of the command word pciConfigFuncShow( ) - show configuration details about a function pciConfigTopoShow( ) - show PCI topologySTATUS pciDeviceShow(int busNo /* bus number */)STATUS pciHeaderShow(int busNo, /* bus number */int deviceNo, /* device number */int funcNo /* function number */)STATUS pciFindDeviceShow(int vendorId, /* vendor ID */int deviceId, /* device ID */int index /* desired instance of device */ )STATUS pciFindClassShow(int classCode, /* 24-bit class code */int index /* desired instance of device */ )STATUS pciConfigStatusWordShow (int bus, /* bus */int device, /* device */int function, /* function */void * pArg /* ignored */)STATUS pciConfigCmdWordShow (int bus, /* bus */int device, /* device */int function, /* function */void * pArg /* ignored */)STATUS pciConfigFuncShow(int bus, /* bus */int device, /* device */int function, /* function */void * pArg /* ignored */)void pciConfigTopoShow ()tips:感谢大家的阅读,本文由我司收集整编。
Vxworks常用命令版本及修订说明:目录VXWORKS常用命令 (1)说明 (2)常用命令 (2)说明常用指令使用两种方式:1、在串口超级终端下输入命令;串口设置为115200,8N1;2、使用telnet登陆装置,然后在shell下输入命令;用户:密码:常用命令命令:version查看vxworks程序时间:命令:ll查看文件列表。
U21平台的主CPU文件系统包括:/shr 、/set、/log、/wave。
命令:cdcd “目录名”命令:rm删除文件“文件路径和文件名称”或者remove “文件路径和文件名称”命令: i查看任务状态。
正常任务状态为:PEND/READY。
异常为:STOP、SUPPEND. 状态中出现+I说明该任务占用了高优先级任务所需要的资源,而被暂时提高了优先级运行。
命令:tt “任务名称”查看任务调用情况。
当系统中出现异常任务时,只要使用命令:tt,可以查看异常任务函数调用情况。
命令:ti “任务名称”查看任务详细信息.命令:checkStack 查看各任务堆栈使用情况。
命令:getcpuusage 查看任务负载。
命令:devs查看驱动设备列表。
命令:iosFdShow查看被打开的文件id列表:命令:systime查看修改装置时间命令;systime “Time=xx:xx:xx”修改时间;systime “TIME=XX-XX-XX”修改日期其中:status为0为没有检查到外部对时。
status为1为对时源为1588对时;2为B码;4为PPS;但与定值配置不符。
status=800x:表示外部对时正常;x为1为1588对时;2为B码;4为PPS 命令:ifShow查看网口IP地址。
命令:ifAddrSet修改装置网卡IP地址:格式:ifAddrSet "qefcc0","198.120.0.107"其中:qefcc0为第一个网口(板卡面板从上往下数),qefcc1为第二个网口,qefcc2为第三个网口。
VxWorks是一款用于嵌入式系统开发的实时操作系统。
在嵌入式系统中,经常会用到BCD码(Binary-Coded Decimal)转换函数,因为BCD码可以用来表示0-9的十进制数。
在VxWorks中,我们可以通过一些函数来实现BCD码的转换,使得开发人员能够更加方便地处理BCD码相关的操作。
BCD码转换函数在VxWorks中起着重要的作用,它能够将BCD码转换成十进制数,或者将十进制数转换成BCD码。
下面将介绍VxWorks中常用的BCD码转换函数及其使用方法。
1. DecToBcd函数在VxWorks中,DecToBcd函数用于将十进制数转换为BCD码。
它的原型定义如下:```cUINT32 DecToBcd(UINT32 decNum);```decNum为待转换的十进制数,函数返回该十进制数对应的BCD码。
当decNum为12时,函数将返回0x12。
使用方法如下:```cUINT32 decNum = 100;UINT32 bcdNum = DecToBcd(decNum);printf("十进制数 d 转换为BCD码为 0xx\n", decNum, bcdNum);```2. BcdToDec函数与DecToBcd相反,BcdToDec函数用于将BCD码转换为十进制数。
其原型定义如下:```cUINT32 BcdToDec(UINT32 bcdNum);```bcdNum为待转换的BCD码,函数返回该BCD码对应的十进制数。
当bcdNum为0x12时,函数将返回12。
使用方法如下:```cUINT32 bcdNum = 0x100;UINT32 decNum = BcdToDec(bcdNum);printf("BCD码 0xx 转换为十进制数为 d\n", bcdNum, decNum); ```3. 其他相关函数除了DecToBcd和BcdToDec外,VxWorks中还提供了其他一些与BCD码相关的函数,例如:BcdAdd、BcdSub、BcdMul、BcdDiv 等。
(完整版)主CPU板vxworks常用命令Vxworks常用命令版本及修订说明:目录VXWORKS常用命令 (1)说明 (2)常用命令 (2)说明常用指令使用两种方式:1、在串口超级终端下输入命令;串口设置为115200,8N1;2、使用telnet登陆装置,然后在shell下输入命令;用户:密码:常用命令命令:version查看vxworks程序时间:命令:ll查看文件列表。
U21平台的主CPU文件系统包括:/shr 、/set、/log、/wave。
命令:cdcd “目录名”命令:rm删除文件“文件路径和文件名称”或者remove “文件路径和文件名称”命令: i查看任务状态。
正常任务状态为:PEND/READY。
异常为:STOP、SUPPEND. 状态中出现+I说明该任务占用了高优先级任务所需要的资源,而被暂时提高了优先级运行。
命令:tt “任务名称”查看任务调用情况。
当系统中出现异常任务时,只要使用命令:tt,可以查看异常任务函数调用情况。
命令:ti “任务名称”查看任务详细信息.命令:checkStack 查看各任务堆栈使用情况。
命令:getcpuusage 查看任务负载。
命令:devs查看驱动设备列表。
命令:iosFdShow查看被打开的文件id列表:命令:systime查看修改装置时间命令;systime “Time=xx:xx:xx”修改时间;systime “TIME=XX-XX-XX”修改日期其中:status为0为没有检查到外部对时。
status为1为对时源为1588对时;2为B码;4为PPS;但与定值配置不符。
status=800x:表示外部对时正常;x为1为1588对时;2为B 码;4为PPS 命令:ifShow查看网口IP地址。
命令:ifAddrSet修改装置网卡IP地址:格式:ifAddrSet "qefcc0","198.120.0.107"其中:qefcc0为第一个网口(板卡面板从上往下数),qefcc1为第二个网口,qefcc2为第三个网口。
1.taskSpawn 创建(产生并激活)新任务int taskSpawn(c h ar *name,int priority,int options,int stackSize,FUNCPTR entryPt,int arg1,int arg2, int arg3,int arg4, int arg5,int arg6, int arg7,int arg8, int arg9,int arg10)函数运行成功返回任务ID号,否则为ERROR。
任务可选项的几种模式如下表:名称值描述VX_FP_TASKVX_NO_STACK_FILLVX_PRIVATE_ENVVX_UNBREAKABLEVX_SUPERVISOR_MODE0x80x1000x800x2运行带浮点的协处理器不使用0xee填充堆栈用私有环境运行任务断点失效用户任务常用值2.taskDelete 删除一个任务STATUS taskDelete(int tid)删除指定ID号的任务,并释放任务所占有的内存3.taskDelay 延迟任务STATUS taskDelay(int ticks)任务延迟为某一任务休眠一定时间提供了简单的处理方法,一般用于任务的周期性循环执行。
当输入参数为NO_WAIT(其值为零)时,表示将所延迟的任务切换到同一优先级就绪队列的尾部。
4.taskSuspend 任务悬置STATUS taskSuspend(int tid)5.taskResume 恢复任务STATUS taskResume(int tid)6.msgQCreate 创建并初始化消息队列#include <msgQLib.h>MSG_Q_ID msgQCreate(int maxMsgs,int maxMsgLengt h,int options)消息入列方式有两种:MSG_Q_FIFO 先进先出,按时间先后顺序考虑;MSG_Q_PRIORITY 按消息优先级考虑。
vxworks查看剩余内存大小的函数VxWorks是一种嵌入式实时操作系统,广泛应用于嵌入式系统开发中。
在开发过程中,了解剩余内存大小对于优化系统性能和确保系统稳定性非常重要。
VxWorks提供了多种方式来查看剩余内存大小,我们将重点介绍两种常用的方法。
方法一:使用sysMemTop()函数VxWorks提供了sysMemTop()函数来获取内存池的顶部地址,通过计算顶部地址与堆栈底部地址之间的差值,即可得到剩余内存大小。
以下是使用sysMemTop()函数的示例代码:```c#include <stdio.h>#include <vxWorks.h>#include <sysLib.h>void printFreeMem(){char* stackBase = NULL;char* memTop = NULL;unsigned int freeMemSize = 0;stackBase = (char*)taskStackBase(taskIdSelf()); // 获取堆栈底部地址memTop = (char*)sysMemTop(); // 获取内存池顶部地址freeMemSize = stackBase - memTop; // 计算剩余内存大小 printf("Free memory size: %u bytes\n", freeMemSize);}int main(){printFreeMem();return 0;}```方法二:使用sysMemInfo()函数VxWorks还提供了sysMemInfo()函数来获取更详细的内存信息,包括总内存大小、已用内存大小和剩余内存大小。
以下是使用sysMemInfo()函数的示例代码:```c#include <stdio.h>#include <vxWorks.h>#include <sysLib.h>void printMemInfo(){MEM_PART_STATS memStats;sysMemInfo(&memStats); // 获取内存信息printf("Total memory size: %u bytes\n", memStats.numBytesTotal);printf("Used memory size: %u bytes\n", memStats.numBytesAlloc);printf("Free memory size: %u bytes\n", memStats.numBytesFree);}int main(){printMemInfo();return 0;}```通过调用sysMemInfo()函数,我们可以获取内存池的详细信息,包括总内存大小、已用内存大小和剩余内存大小。