问题标签 [vxworks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6072 浏览

vxworks - 分析 VxWorks 系统

我们已经在 VxWorks 5.5.1 上运行了一个相当大的应用程序,该应用程序已经开发和修改了大约 10 年。我们有一些简单的本土工具来表明我们没有使用过多的内存或过多的处理器,但我们对实际拥有的空间没有很好的感觉。它开始使为未来的增强做估计变得困难。

有人对如何分析这样的系统有任何建议吗?我们从来没有让 Wind River 工具正常工作的运气。

对于奖励积分:另一个复杂因素是我们的系统在不同时间有非常不同的行为;在启动期间它做了很多事情,然后除了短暂的活动外,它相对空闲。如果有一个具有某种编程方式的分析器必须记录状态信息,我认为这也会非常有用。

FWIW,这是用 GCC 编译的,完全用 C 编写。

0 投票
4 回答
1220 浏览

vxworks - 如果将负数传递给 vxworks 中的 taskDelay 函数,会发生什么?

注意 taskDelay 的参数是 int 类型的,这意味着数字可以是负数。只是想知道传递负数时函数将如何反应。

0 投票
3 回答
4085 浏览

exception - 如何确定一个任务为什么会破坏,VxWorks?

我有一个在 ARM uC 上运行的 VxWorks 应用程序。

首先让我总结一下应用程序;

应用程序由第 3 方堆栈和网关应用程序组成。我们已经实现了一个操作系统抽象层来支持操作系统的独立性。

底层堆栈有自己的内存管理和控制设施,它将内存块保存在一个双向链表中。

例如 ; 我们不直接执行 malloc/new , free/delege 。相反,我们调用 OSA 层的例程,它从 OS 获取内存并将其放入列表中,然后将此内存返回给应用程序。(例程:XXAlloc,XXFree,XXReAlloc)

当释放内存时,我们再次使用 XXFree。

事实上,这个块是一个结构,它有

- 魔术数字指示内存块的开始和结束 - 用户请求分配的大小 - 由于对齐问题而实际分配的大小 前一个和下一个指针 - 指向返回给应用程序的内存块的指针。显示应用程序中调用 xxAlloc 的位置的链接寄存器。

使用这种块结构堆栈可以检查块是否损坏。

我们还有从 Linux 移植的 pthread 库,我们用它来创建/终止线程(目前有 22 个线程) -同步对象(事件、互斥体..)

taskSpawn 调用了主任务,后来该任务创建了其他线程。

这是对应用程序及其 VxWorks 界面的描述。

问题是 :

其中一项任务突然被 VxWorks 破坏,没有提供有关问题所在的信息。我也有一个 jtag 调试器,它会命中 VxWorks taskDestoy() 例程,但调用堆栈既不提供 PC 也不提供任何信息 r14。

我怀疑代码中的特定例程,其中完成了巨大的 xxAlloc 但问题非常零星地发生,不知道我可以将它映射到源代码。

我认为操作系统会检测到异常并静默执行其处理。

任何帮助都会很棒

问候

0 投票
2 回答
1882 浏览

shell - 将 VxWorks shell 输出重定向到套接字

我知道将 shell 输出重定向到文件很简单。

所以我也应该能够设置一个套接字并将shell的输出重定向到套接字,因为本质上它只是另一个文件描述符(我认为)?

我已经看到了一些示例 C 程序,它们创建了一些基本的客户端/服务器功能,但是(尽管它们很小)这似乎有点过头了。

我可以在 shell 中只用几个命令设置一个套接字吗?如果是这样,我需要什么语法?

我意识到这可能非常简单,但我是 VxWorks 的新手,在过去的两天里我一直在网上搜寻答案,我决定在这里问!

感谢您愿意提供的任何帮助。

0 投票
2 回答
539 浏览

compiler-construction - 如何使用 VxWorks MIPS 编译器强制对 .c 文件进行 C++ 编译?

我正在使用 VxWorks MIPS 编译器,我有一些第三方源代码需要编译为 c++,但所有扩展名都是 .c。在这种情况下,我必须有一个可以传递给编译器的开关来强制 C++ 编译,但我找不到它。

有什么建议么?

0 投票
7 回答
2289 浏览

c - 线程堆栈溢出

在像 vxworks 这样的 RTO 中,每当我们创建任务时,都会指定堆栈大小。我们可以在 C 中编写一个例程来检查堆栈是否溢出来执行任务吗?

0 投票
1 回答
1259 浏览

task - vxworks 任务是否共享数据区域?

在 vxworks 中,数据区域是在所有创建的任务(如 linux 线程)之间共享的?还有我觉得每个任务应该分开的文本和代码段呢

0 投票
4 回答
601 浏览

vxworks - How do we find out why priority inheritance happened in VxWorks?

We have one task who State is Ready+I . Can we find which task is it waiting for to release all semaphores? This is pre-6.0 vxworks

0 投票
2 回答
2720 浏览

boost - 为 VxWorks 6.4 交叉编译 Boost 1.40

我正在尝试将使用 Boost(特别是 boost::thread 和 boost::asio)的项目迁移到 VxWorks。

我无法使用 vxworks gnu 编译器进行编译。我认为这不会成为问题,因为我在 boost trac 上看到了声称使这成为可能的补丁,并且由于 vxworks 编译器是 gnu 工具链的一部分,我应该能够按照说明进行操作用于交叉编译的 boost 文档。

我正在为 ppc vxworks 在 Windows 上构建。

我更改了 boost 文档中指定的 user-config.jam 文件,并将 target-os=linux 选项用于 bjam,但 bjam 在编译之前似乎挂起。仔细检查 bjam 发出的命令(通过使用 -n 选项调用它)发现它正在尝试使用 boost::thread 的 win32 文件进行编译。这不可能,因为 vxworks 使用 pthreads。

我的 bjam 命令:.\bjam --with-thread toolset=gcc-ppc target-os=linuxgcc-ppc 在用户配置中设置为指向 g++ppc vxworks 交叉编译器。

我究竟做错了什么?我相信我已经完全按照文档进行了操作。

0 投票
1 回答
411 浏览

vxworks - vxworks 6.1 和 6.6 的区别

请让我知道 vxworks 6.1 和 6.6 之间的区别

问候, 西坎达