vxworks中断的使用

yy-86 yy-86     2023-01-04     556

关键词:

VxWorks中使用intConnect()挂接中断服务程序,但对于PCI设备,一般采用pciIntConnect()挂接中断,它与intConnect()的主要不同在于intConnect()使用的中断向量是独占的,而pciIntConnect()则可使多个外部中断共享一个中断向量。它在内部使用一个链表管理多个ISR,发生中断时,链接在一个链表上的各个ISR被依次调用,pciIntConnect()要求每个ISR被调用时,应该首先查询是否为自己的设备产生的中断,不是则应立即返回,以继续调用其它ISR。

VxWorks中面向应用的编程接口为intConnect(),其原型如下:

STATUS intConnect( VOIDFUNCPTR *vector,VOIDFUNCPTR routine,int parameter)

其中

vector:要挂接的中断向量地址;

routine:中断发生时调用ISR;

parameter:传递给IST的参数。

一般调用intConnect函数时需要使用INUM_TO_IVEC()函数对终端号进行处理。

中断处理程序不能使用printf的本质

vxworks中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中,整个标准输出设备是一个全局变量,由于有semTake操作。那么就会发生堵塞。vxworks属于硬实时操作系统。不能在规定的时间内完毕操作即会... 查看详情

中断函数中不能使用printf的原因

vxworks中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中,整个标准输出设备是一个全局变量,由于有semTake操作,那么就会发生阻塞,vxworks属于硬实时操作系统,不能在规定的时间内完成操作即会... 查看详情

vxworks任务间通信

1.共享内存双向链表环形缓冲2.互斥中断锁:作用域仅限于中断内部。优先级锁:共享内存中,低优先级的任务不允许被打断,优先级锁就被使用。弊端:会完全禁止任务的调度。3.信号量(一种指向semaphore结构的指针)SEM_EVENTSEN... 查看详情

vxworks调试备忘录

1.系统出错打印出堆栈时,不一定是打印堆栈附近的代码报错了,有可能是前面代码报错了,然后随机延时了一段时间才把堆栈  信息打印出来了,需要加在前面代码中不断缩小范围排查;2.中断处理例程里面... 查看详情

vxworks调试组件和命令(代码片段)

目录1.与任务相关的命令2、系统信息3. vxworks组件中断showvxBus总线信息show时钟组件EDR信息Telnet和pingPCIshow启动脚本其它4.相对应的show命令ObjectInformationCommandsMemoryInformationCommandsSystemClock:AuxiliaryClock:Timestamptimer:pci相关命令 查看详情

vxworks开发中simulator的使用之建立虚拟网卡

vxworks开发中simulator的使用之建立虚拟网卡在使用windriverworkbench开发vxWorks应用时,有时需要在本机上利用Simulator跑一下程序,这就需要你安装一个虚拟的网卡。vxWorks自带了这些工具,下面,以windows764位、vxworks6.9... 查看详情

vxworks开发中simulator的使用之建立虚拟网卡

在使用windriverworkbench开发vxWorks应用时,有时需要在本机上利用Simulator跑一下程序,这就需要你安装一个虚拟的网卡。vxWorks自带了这些工具,下面,以windows764位、vxworks6.9、workbench3.3为例,一步一步演示如何安装simnet。本文只演... 查看详情

tornado的主要特点

...有工具能很方便地同时运行,很容易增加和交互式开发。VxWorks支持广泛的工业标准如POSIX1003.1b实时扩展,ANSIC(浮点支持)andTCP/IP网络协议.这些标准促进多种不同产品间的互用性,提升了可移植性,保护用户在开发和培训方面... 查看详情

vxworks驱动移植至sylixos总结(代码片段)

本文档描述了将VxWorks中的驱动源码快速移植至SylixOS中的方法,使用时需要结合SylixOS中的VxWorks兼容层实现。1.驱动注册与初始化1.1VxWorks中驱动注册与初始化1.1.1初始化函数VxWorks中大部分函数使用了VxWorks的VxBus结构,对于基于VxBus... 查看详情

怎样获取串口地址

我是个新手我要编一个在vxworks从串口收发数据的程序但不知道怎么从串口读写请大侠们帮忙谢了vxworks中这样做也可以吗串口的地址我怎么知道如果是在操作系统中,你是不需要知道串口地址的。直接用设备名打开就可以。系统... 查看详情

vxworks开发中simulator的使用之建立虚拟网卡

vxworks开发中simulator的使用之建立虚拟网卡在使用windriverworkbench开发vxWorks应用时,有时需要在本机上利用Simulator跑一下程序,这就需要你安装一个虚拟的网卡。vxWorks自带了这些工具,下面,以windows764位、vxworks6.9... 查看详情

VxWorks 中的成员函数指针

】VxWorks中的成员函数指针【英文标题】:MemberFunctionPointersinVxWorks【发布时间】:2013-04-1502:21:20【问题描述】:我正在为VxWorks应用程序编写C++。由于VxWorks是基于C的,以函数指针作为参数的函数与C++的成员函数指针不兼容。我有... 查看详情

vxworks工程移植到sylixos应用笔记

...范围该应用笔记适用帮助用户在RealEvo-IDE开发环境中移植Vxworks应用程序,并部署到SylixOS操作系统上运行,使用到的开发工具为RealEvo-IDE集成开发环境。2.准备工作2.1环境准备在使用之前,须安装有翼辉信息开发的集成开发套件,... 查看详情

在VxWorks中关闭无响应设备文件端口的正确方法是啥?

】在VxWorks中关闭无响应设备文件端口的正确方法是啥?【英文标题】:Whatistheproperwayofclosingtheportofanon-respondingdevicefileinVxWorks?在VxWorks中关闭无响应设备文件端口的正确方法是什么?【发布时间】:2018-02-1220:29:13【问题描述】:... 查看详情

vxworks启动过程具体解释(下)

...一节主要是从映像的分类和各种映像的大致载入流程上看VxWorks的启动过程,这一节让我们从函数级看一下VxWorks的启动过程:1.BootImage + LoadableImages: 以下是详细的流程图: 当中第一阶段的运行流程使用的是上图的左... 查看详情

如何避免 VxWorks 中条件变量中的竞争条件

】如何避免VxWorks中条件变量中的竞争条件【英文标题】:HowtoavoidraceconditionsinaconditionvariableinVxWorks【发布时间】:2013-09-3013:58:29【问题描述】:我们正在基于VxWorks5.5的专有嵌入式平台上进行编程。在我们的工具箱中,我们有一... 查看详情

vxworks开发环境-vxworks6.8-vxworks6.9-vxworks7.0-各个cpu型号的bsp

VxWorks开发环境-VxWorks6.8-VxWorks6.9-VxWorks7.0-各个CPU型号的BSP;VxWorks6.9下的BSP包VxWorks开发环境VxWorks6.8-WorkBench3.2VxWorks6.9-WorkBench3.3VxWorks7.0-WorkBench4.0为中国科研加油! 查看详情

vxworks中的任务状态“pend”和“suspend”有啥区别

1、意思不一pend:pend(阻塞),指任务释放。suspend:suspend(挂起),指任务不释放。2、用途不一pend:一般在等待某种资源或信号量的时候出现。suspend:一般挂起用于程序调试中的条件中断。3、运行不一pend:其他任务可以运... 查看详情