问题标签 [rtx]
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.
host - 用keil中间件5开发FAT文件系统和USB主机海量存储,不用rtx?
我正在通过 Keil 中间件版本 5 开发(使用 lpc 1768 )FAT 文件系统和 USB 主机大容量存储。
在 uvision “管理运行时环境”中说必须启用 rtx。
我有两个问题:
- 没有 rtx 是否有可能(仅通过 keil 中间件)?
- 如果答案是否定的,那是什么原因?
keil - RTX Keil 和 ADC_DMA,未进入 GUI_thread
您好,我开始对 STM32F769I_Eval 进行编程。
我绝对是 Cortex M4 编程和使用 RTOS 的初学者。我使用基本示例开始。
现在我想使用带有 DMA 的 ADC 在 LCD 上显示当前值。我之前在一个没有 RTOS 的简单示例中尝试过这个,效果很好。
但是现在我建立了一个新项目,但显示仍然很暗。看来,使用 HAL_ADC_START_DMA(...) 后它挂起。如果我注释掉这一行,则 GUI 会显示在显示屏上。
如果有人可以帮助我,我会很高兴。我也非常感谢一些指南、书籍或类似的东西。
arm - STM32 RTX 使用故障 PSP 0x00000020
我有一个带有 STM32F446 的项目,带有 RTX,3 个线程(主要 + 2 个由我声明)+ 当然是空闲线程。主线程在启动两个线程后进入等待状态,所以我只有两个线程在运行。RTX 已禁用循环。应用程序所做的是通过 SPI 与蓝牙模块通信。
我的问题是,有时,在 SPI 传输期间(由一个线程启动并在另一个线程中完成)MCU 崩溃到 UsageFault_Handler 并且其中一个线程(并不总是相同)显示为溢出。现在我已经阅读了有关如何调试硬故障以及未解决的问题,但问题是所有方法都依赖于 MSP/PSP 地址,对我来说 PSP 是 0x00000020。有人遇到过类似的事情吗?关于什么可能是错的任何想法?
LE:从那以后,我了解到该代码适用于 FreeRTOS 而不是 RTX。该代码使用临界区。我曾尝试对 RTX 的关键部分使用与 FreeRTOS(BASEPRI) 相同的实现,但我经常以 UsageFault 告终。我知道 RTX 在代码中广泛使用了 SVC。
是否应该以不同的方式实施关键部分?您是否知道 FreeRTOS 和 RTX 之间可能导致问题的任何其他差异?
后来编辑(已解决):事实证明问题与分配给 SysTick 的优先级有关。它首先被设置为应有的最低优先级,但是,一段代码在某处将 SysTick 设置为非常高的优先级。
谢谢!
embedded - RTX isr_evt_set 服务延迟
我正在研究 Silicon Labs EFM tiny-gecko HW,使用 4.22 arm 工具链运行 RTX。我对 RTX 有以下配置: - NVIC 分组 7.1 - 系统勾选和挂起 系统服务中断优先级 224。 - 我的代码流启用并且从不禁用这两个中断。- PRIMASK 和 BASEPRI 寄存器均为 0。
我项目中的 RTX 代码已经有几年的历史了,我不确定它是哪个版本。
我观察到以下问题:当使用 isr_evt_set 从 RTC 中断触发任务时,任务执行被延迟。我发现 RTC 中断结束时不会调用“挂起系统服务”中断。
当从 RTC 中断调用时,isr_evt_set 将“挂起系统服务”置于挂起状态。RTC 中断结束后,“Pend system service”中断不会被激活。相反,处理器恢复线程模式并执行低优先级(电源管理)任务。
我在 RTC 中断中将 SCB 寄存器的 SLEEPONEXIT 位设置为 0。“挂起系统服务”中断最终会在约 4-10 个 RTC 周期后执行。
我希望“挂起系统服务”中断在 RTC 中断之后运行。你能解释一下为什么在 RTC 中断后皮层会回到线程模式吗?
mutex - Keil RTX 优先级继承与 os_mut_wait 和短超时?
优先级继承是 Keil RTX(和其他)的一项功能,可防止优先级倒置。如果一个高优先级任务试图获得一个低级任务已经获得的互斥锁,优先级继承通常会导致低级任务被分配高优先级任务的优先级以允许它运行解锁。
低优先级任务以较高优先级运行多长时间?
如果高优先级任务等待很长时间,我希望低优先级任务以高优先级运行,直到资源被释放。如果高优先级任务被配置为等待一小段时间,那么低优先级任务会在该时间之后恢复到其低优先级吗?
特别是如果超时为 0,优先级继承是否生效?
c++ - WaitForSingleObject 和事件,行为不明确
我在 Windows 10 64 位上使用 Visual Studio 2017 编写了两个小测试应用程序,我想用它们测试事件和 WaitForSingleObject。
我也在使用来自 intervalzero 的 RTX 实时扩展。
我的一个应用程序是用 x64 代码为 windows 部分编写的,另一个是用 x64 代码为 RTX 子系统编写的。
现在我的想法是从 RTX 64 中创建一个事件,并在信号之间给定的暂停时间发出 10 次信号:
另一方面,windows 应用程序检查事件的创建,然后重复检查事件是否发出信号:
现在我的观察是,RTX 代码运行良好,并在发出 10 次事件信号后退出。
另一方面,windows 代码接收事件 10 次,但它没有检测到 rtx 应用程序何时关闭事件。
如果我使用REOPEN
定义编译代码,Windows 代码会在 11. 打开事件时退出,因为它不再可用。
我应该通过第二个事件来增强我的代码,该事件由 windows 代码在收到第一个事件后触发,以便 rtx 代码等到 windows 代码完成其工作。
但我的最后一个问题是:
检测事件源是否仍然有效的正确方法是什么?
我可以检测到 rtx 代码在它最终退出之前已经创建了事件,但还没有发出信号吗?
multithreading - 如果并发线程数为 10 且 SysTick 时间为 10mSec,则 1 个线程执行时间(量子)是多少?
我目前正在使用 RTOS,我拥有Time Tick Value = 10 mSec
和Number of concurrent running tasks = 10
.
现在我的问题是,我的单线程时间(量子)应该是多少?
我想,Single Thread Time = Time Tick Value / Number of concurrent running tasks
但我不确定。如果我在这里犯了任何错误,请纠正我。
还有哪些因素会导致单线程时间发生变化?
术语:
Time Tick Value:可用的 CPU 时间被划分为时间片,RTX 内核为每个任务分配一个时间片(默认时间片设置为 10 毫秒)。
单线程时间是一个线程在轮询调度中所占用的时间片,如果它们总共有 10 个任务(线程)。
并发运行任务的数量始终保持不变。它不会涵盖线程等待时间。
我想知道的是,是否将 10 毫秒时间片分配给单个线程,或者将其再次划分为 10 个部分以用于 10 个并发运行的线程(考虑我正在使用循环调度)。
python - 如何在 RTX 2070 上使用带有 CUDA 10 的 Tensorflow GPU?
几天后,我将使用 RTX 2070 设置我的新计算机。我想使用 tensorflow GPU,但我找不到 CUDA 和 Tensorflow GPU 的兼容版本。据我所知,我需要 CUDA 10 才能受益于 RTX 图灵架构的额外计算能力。但是关于 Tensorflow 网站,最新版本的 tf (tensorflow_gpu-1.12.0) 仅适用于 CUDA 9。我希望它能够在 Windows 10 上运行,但如果没有其他方法,linux 也可以。
在互联网的某个地方,我读到了两个谣言:1. 有一些方法可以编译一个未发布的 tf-gpu 版本,它与 CUDA 10 一起工作 2. 他们将在 2019 年 1 月发布官方版本的 tf-gpu(几乎结束了现在),它将支持 CUDA 10。
有人可以证实其中一个谣言(最好有消息来源)或告诉我如何才能让这一切正常工作吗?
asterisk - 我们可以在 rtxRTOS 中移植 Asterisk
目前我正在移植星号通用操作系统,但这些是更重的操作系统,所以有什么方法可以在实时操作系统(RTOS)中移植星号,例如 rtxRTOS
tensorflow - 如何在本地 rtx gpu 的 tpu 上训练 keras 模型
我使用 keras 后端张量流。
我的本地电脑上有 RTX gpu,我想在 tpu(张量核心)上训练 keras 模型
有什么方法吗?