问题标签 [threadx]
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.
operating-system - 嵌入式操作系统的比较?
我参与过一种或另一种风格的嵌入式操作系统,并且通常不得不使用遗留系统所拥有的任何东西。现在我有机会从头开始一个新的嵌入式项目。
对系统的主要约束是:
- 它需要一个基于网络的界面。
- 需要实时处理输入(因此需要真正的 RTOS)。
- 可用内存为 32MB RAM 和 FLASH。
该团队之前使用的操作系统是 VxWorks、ThreadX、uCos、pSOS 和 Windows CE。
有没有人有关于操作系统选择的比较或贸易研究?
还有其他我们应该考虑的操作系统吗?(我们建议使用 eCos 和 RT-Linux)。
编辑 - 感谢您迄今为止的所有回复。可惜我不能全部标记为“已接受”。
user-interface - ThreadX 操作系统的嵌入式 wxWidgets
我正在使用 ThreadX 开发嵌入式系统。该项目将涉及一个 GUI。
我正在寻找用于嵌入 ThreadX 操作系统的 wxWidgets 端口。
我的搜索出现了嵌入式 Linux 和 WinCE 的 wxWidgets。
此外,wxWidgets 是否难以移植到新的(不同的)操作系统?
谢谢,
(项目工具是 C++,使用Greenhills编译器和带有ARM9处理器和保守数量的 RAM 和 FLASH 的ThreadX操作系统。)
c - 线程堆栈指针
在 Linux 2.6.32-32 中,有没有办法在程序中以编程方式找到有关线程的以下信息pthreads
?我需要:运行计数、堆栈指针、堆栈开始/结束、堆栈大小、堆栈使用情况。我猜想像 ThreadX 之类的东西,但在一个程序中。谢谢。
operating-system - ThreadX 的哪些方面使其成为实时操作系统?
ThreadX 被认为是一个 RTOS。我知道 RTOS 的一般定义和要求,但是,任何人都可以帮助阐明为什么 ThreadX 可以被称为 RTOS,或者操作系统的哪些功能使其具有实时能力?
谢谢~
c - LPC1788 微控制器的内存分配问题
我对微控制器编程还很陌生;我已经用 LPC1788 工作了几个星期了。
我最近遇到的一个问题是我的内存比我预期的要快得多。我已经通过测试我可以 malloc 有多大的连续内存块来测试似乎有多少内存可用,结果是 972 字节。分配从地址 0x10000000 开始(该板上的片上 SRAM 的开始位置应该在 64kB 左右)。
我目前正在开发的程序旨在充当一个简单的调试器,它利用 LCD 并允许向其打印消息。我有一个字符串会不断被新消息“添加到”,然后整个消息将打印在 LCD 上。当消息在屏幕下方的长度超过垂直边界时,它将删除最旧的消息(靠近顶部的消息),直到适合为止。但是,在它拒绝分配更多内存之前,我只能添加大约 7 条额外的消息。如果需要,该项目的 main.c 托管在http://pastebin.com/bwUdpnD3
早些时候,我还开始了一个使用 threadX RTOS 创建和执行多个线程的项目。当我尝试在该程序中使用 LCD 时,我发现那里的内存也非常有限。LCD 似乎存储了从 SDRAM 基地址开始的所有像素数据,但我不确定这是否与我使用的 SRAM 相同。
我需要的是一种分配足够内存的方法,以允许多个线程运行或存储大字符串,同时能够利用 LCD。一种可能是使用缓冲区或其他内存区域,但我不太确定如何做到这一点。任何帮助,将不胜感激。
tl;dr:当试图在 LCD 上打印大字符串时,SRAM 上的可分配内存很快就会用完。
编辑 1:发现变量 currMessage 存在内存泄漏。我认为现在已经解决了:
编辑 2:实施内存泄漏修复。程序现在运行得更好了,我觉得很愚蠢。
c - 与 LPC1788 微控制器一起使用的好的 RTOS 是什么?
我试图找到一个免费/便宜的 RTOS,其他人发现它与 NXP LPC1788 微控制器配合得很好。我原本打算使用 FreeRTOS,但它似乎不支持那个特定的处理器;最接近的支持内核是 LPC1768。ThreadX 可与 LPC1788 配合使用,但它的许可证将花费数千英镑。建议?
编辑 1:我忘了提,我正在使用 IAR Embedded Workbench。
编辑2:我想我还应该指出我对嵌入式编程相当陌生,更不用说使用RTOS了。FreeRTOS 和 ThreadX 看起来都非常相似,并且都有相当直观的 API。另一个 RTOS 的 API 与这些类型的 API 匹配得越多,我想就越好。
编辑 3:我一直在研究一种称为 embOS 的 RTOS。它看起来很专业,API 看起来不错,它们支持相当数量的处理器/IDE 组合(包括我的),而且我已经有了一个运行良好的示例项目。它不是免费的,它的许可证大约需要 2500 欧元,但这仍然比 threadX 许可证便宜 3 倍左右。感谢您的建议,我无法选择可接受的答案,我感到很遗憾。
multithreading - 如何在 Windows 操作系统上模拟 ThreadX 应用程序
我有一个使用 ThreadX 5.1 作为内核的应用程序。映像被闪存到运行 ARM 9 处理器的硬件上。
我正在尝试为可以在 Windows 上运行的应用程序(比如 XP,32 位)构建一个模拟器。
有什么方法可以让它在 Windows 上运行,而无需修改整个源代码来开始调用 win32 系统调用?
threadx - ThreadX内核进入函数
ThreadX 内核进入函数有什么作用?
这个函数不返回是什么意思?
函数中创建的线程是如何tx_application_define
调度和执行的?
multithreading - 同时访问一个线程队列
ThreadX 包含允许线程间通信的消息队列。假设我有几个线程可以读取和写入队列。我是否必须同步对该队列的访问(例如使用互斥锁)?
greenhills - greenhills 多链接器错误“节 .romdata 与节 .data 重叠”
请帮助我解决以下错误 - GHS Multi 上的“[elxr](错误)部分 .romdata 与部分 .data 重叠”。这是使用 threadX 为空项目创建自定义链接器指令文件的时候。我还在项目中包含了 .ld 文件的搜索目录(链接器选项)。如何确保 elxr 链接器使用相同的 .ld 文件。.ld 是错误还是其他问题。另外,如果需要采取任何其他预防措施,请告诉我。
谢谢