问题标签 [azure-rtos]

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 回答
608 浏览

threadx - Azure RTOS THREADX 需要引导加载程序吗?

我有一个现有的嵌入式独立主程序,并正在尝试将 Azure RTOS THREADX 添加到它。Azure RTOS 是否需要引导加载程序?它与引导加载程序无关吗?

0 投票
2 回答
334 浏览

scheduler - 为什么这么早在 M4 端口上的 threadx 调度程序上启用中断?

在pendsv中断实现的threadx M4端口上,它做threadx多线程支持的实际上下文切换,它显示了所有的过程,中断都像其他rtos一样打开而没有禁用,比如ucos,rtthread等,所以是这样导致运行时无法预测的事情?

像下面的代码一样,“cpsie i”在下一个准备运行的线程恢复之前执行

202行允许中断,但是实际的上下文swithc还没有完成,这不像ucos在m4端口上做的,为什么这样安全?谢谢你!

0 投票
2 回答
150 浏览

adb - ThreadX 的 ADB 等效项

我有兴趣研究 ThreadX RTOS,并想知道是否有人知道 ThreadX 中是否存在等效的 adb 类型。我正在想象使用带有 ThreadX 的设备并使用一些类似 adb 的工具来查看 hte 文件系统或将文件推送到设备。

这可能吗?

谢谢!

0 投票
1 回答
132 浏览

backtrace - threadx 堆栈顶部的回溯有什么用途,为什么它的大小会变化?

我在 threadx 的移植中看到,在每个线程堆栈的顶部都有保留的未初始化字节,然后是 16 个零字节,然后堆栈才真正开始。

零字节称为backtrace。在 arm 端口,它是 4 个字节未初始化和 4 个零(例如这里),而在 ARC 端口,两者都是 16 字节大小(例如这里)。

更重要的一件事是,如果未定义TX_DISABLE_STACK_FILLING,则未初始化的字节将初始化为 0xef 。

我的问题是:

  1. 为什么 ARC 移植和 ARM 移植之间存在差异?
  2. 为什么这些字节存在?算法中是否有使用这些字节的跟踪工具或其他东西,或者它们只是为了在内存中“手动”查看该内存没有改变?
0 投票
1 回答
294 浏览

threadx - 有没有办法在 azure-rtos (threadx) 的用户模式下运行线程?

我一直在玩 azure-rtos (THREADX) 并尝试为基于 cortex R5 的系统移植操作系统。查看端口文件后,似乎操作系统以主管(SVC)模式运行线程。

例如,在函数_tx_thread_stack_build中,在为线程构建堆栈时, 的初始化值CPSR使得模式位对应于 SVC 模式。此初始化值稍后用于在跳转到线程入口函数之前初始化 CPSR。

_tx_thread_stack_build以下是将CPSR 的初始化值存储在线程堆栈上的函数片段。供您参考,请参阅文件tx_thread_stack_build.S

再举一个例子,函数tx_thread_context_restore.S从 IRQ 模式切换到 SVC 模式以保存被切换出的线程的上下文,这表明 OS 在这里假设线程正在 SVC 模式下运行。供您参考,请参阅文件tx_thread_context_restore.s

以下是正在切换的线程的函数保存上下文的片段。

这引出了一个问题,有没有办法在 USER 模式下运行线程?在操作系统中,线程通常以 USER 模式运行,而其提供的内核和服务以 SVC 模式运行,而 Azure RTOS 似乎并非如此。

0 投票
1 回答
105 浏览

threadx - ThreadX 模块管理器内存

尝试使用 IAR 在 STM32-H7 上构建模块和 module_manager 示例,从“threadx-6.1.5_rel”中提供的示例和https://docs.microsoft.com/en-us/azure/rtos/threadx-模块/第 3 章我一直被称为“module_fault_handler()”,这似乎是因为调用 txm_module_manager_start() 后出现内存错误。

在 module_manage 初始化期间提供的示例中,我看到:

txm_module_manager_initialize((VOID *) 0x90000000, 0xE000); txm_module_manager_external_memory_enable(&my_module, (void *) 0x90000000, 128, TXM_MODULE_MANAGER_SHARED_ATTRIBUTE_WRITE);

我不清楚硬编码值来自何处和/或如何计算它们,看到文件 sample_threadx_module.icf 我无法弄清楚这一点。先感谢您

0 投票
1 回答
51 浏览

automated-tests - 专门针对语言的 Azure GUIX 自动化测试

我正在使用 Win32 模拟可执行文件检查使用 Azure GUIX 进行自动化测试的可行性。我已经使用 Inspect 进行了检查,但只能在日志上找到窗口标题栏、关闭、最大化、最小化

我还尝试在 GUIX sudio 中录制和播放宏,并了解录制的文件是二进制文件,无法修改以实现自动化

请让我知道一种自动化 GUI 的方法。

当我检查嵌入式向导时,他们有大量关于 GUI 测试的文档

0 投票
2 回答
153 浏览

multithreading - Azure RTOS 如何用单个事件发出多个线程的信号?

我想用一个事件向多个线程发出信号,最好的方法是什么?例如:只要 1 秒过去,RTC 中断就会发生并设置其相关的事件标志,之后任何线程等待此事件,开始运行并完成其工作。

如果我这样使用它,只会通知其中一个线程。我可以为同一个 RTC 事件使用多个事件标志,但是这次 RTC 将依赖于线程,这在松散耦合方面会很糟糕。

这些方法中哪种方法最好?就更好的软件设计而言,有没有第三种方法可以解决这个问题?还是我担心太多?

请给我一些建议。

0 投票
0 回答
12 浏览

azure-rtos - Azure RTOS GUIX 提示 gx_system_string_table_set 未定义

使用visual studio 2010开发Azure RTOS GUIX程序,包含tx_api.h头文件,包含gx_api.h头文件提示gx_display_string_table_set is not defined,gx_display_string_table_get可以找到定义。</p>

0 投票
1 回答
100 浏览

unit-testing - ThreadX 使用什么来进行测试?

我是一名学生,正在开发一个使用 Azure RTOS ThreadX 的微控制器应用程序,我从未使用过测试,并且想开始进行单元测试、集成测试和自动测试。我发现了 Ceedling 和 Google 测试框架,但我想知道社区和 ThreadX 团队使用或推荐什么来进行测试。

我的编程语言是 C,我使用的是 Cortex M0+。