问题标签 [chibios]

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 投票
1 回答
629 浏览

c++ - 无法使用 Eigen 库编译 ChibiOS

我想在 Raspberry Pi 上使用带有 Eigen 的 ChibiOS,但是当我包含 Eigen 库时出现错误:

我正在使用 Sourcery CodeBench Lite 4.7.2 交叉编译器,这是 make 命令:

我该如何解决这个错误?

0 投票
1 回答
313 浏览

arduino - ChibiOS 中的 Arduino 库

我可以在ChibiOS RToS 中使用 Arduino 库,例如OneWire吗?

0 投票
0 回答
455 浏览

arduino - 将 Arduino 翻译成 ChibiOS

我正在尝试为 ChibiOS 实现“单线”,在 atmega1280(Arduino 板)上运行。我主要是从 arduino 实现中复制/粘贴(效果很好):

我为“重置”功能的 ChibiOS 实现编写的内容如下:

我究竟做错了什么?

0 投票
2 回答
2916 浏览

embedded - ChibiOS 中对 _sbrk 的未定义引用

我正在使用 ChibiOS 3.x 编写嵌入式应用程序。编译/链接它时,我遇到这样的错误消息:

在哪里_sbrk定义,我该如何解决这个问题?

0 投票
1 回答
627 浏览

embedded - malloc() 在 ChibiOS 中总是返回 NULL

我有一个ChibiOS应用程序,我通过malloc().

但是,我观察到 100% 的时间我调用malloc(),它返回NULL。我已经确认:

  • 单片机内存未满
  • 大小为 1 的 malloc 调用也会发生该错误,因此内存块大小不是问题的原因。
  • errno总是ENOMEMmalloc()通话后

我该如何解决这个问题?

0 投票
3 回答
18648 浏览

c - 在调试期间禁用 STM32 IWDG

我在 STM32F4 微控制器上有一个 ChibiOS 3.x 程序,我在其中使用 IWDG 看门狗在出现以下错误时重置 MCU:

如果我现在连接我的调试器并在任何时候停止程序(手动或通过断点),微控制器将在看门狗配置定义的超时后重置(因此会导致我的调试过程出现问题)

如何禁用此行为,即如何在内核因调试器而停止时禁用 IWDG?

我已经尝试完全禁用它,但是,我需要让它运行以捕获不需要的 IWDG 重置。

0 投票
1 回答
269 浏览

multithreading - Chibios 和 SIM900 Shiled

我有这个问题,我有 STM32 Nucleo L152RE 和一个 Shield SIM 900,现在如果我写这个简单的线程一切正常,

' 当我打磨 AT commnad 时,我看到了正确的答案。现在我创建这个缓冲区

我用这个线程来存储答案

这个线程不起作用并且不存储答案,你能帮我吗?

最好的问候 A。

0 投票
0 回答
164 浏览

time - 信号量 - 为什么会出现这种模式?

我在大学学习实时系统,我一直在使用带有 Arduino 的 RTOS ChibiOS 来应用我一直在学习的东西。示例代码可以在这里找到:源代码。

它使用序列号来显示当前在临界区中有哪些线程,一次应该是两个。问题是,在执行示例时,我得到以下模式输出:1 2, 3 2, 1 2, ...

为什么会这样?不应该是 1 2, 3 1, 2 3, 1 2, ...
线程不应该排队吗?

我一直在使用技术 wiki 中的这张图片来了解它是如何工作的。 在此处输入图像描述

0 投票
0 回答
675 浏览

microcontroller - OpenOCD 和 stm32

我的系统:Windows 8,USB 3.0 端口。

我想在 ChibiStudio 中调试我的 stm32f7-disco。构建后,我尝试使用 OpenOCD 和 ST-Link 进行连接,但得到以下信息:

我认为 libusb 和 usb 3.0 存在问题。

0 投票
0 回答
2709 浏览

fft - Q15 对 8192 个样本的 CMSIS 实 FFT

我需要在STM32F446微控制器上对8192 个样本块执行FFT。为此,我想使用CMSIS DSP 库,因为它很容易获得并且针对 STM32F4 进行了优化。

我的 8192 个输入样本最终将是来自内部 12 位 ADC 的值(左对齐并通过翻转符号位转换为 q15)。但出于测试目的,我正在为 FFT 提供测试缓冲区。

使用 CMSIS 的 FFT 函数,只有 Q15 版本支持 8192 的长度。因此我使用arm_rfft_q15()

因为 CMSIS 库的 FFT 函数默认包含大约 32k 的 LUT——为了适应许多 FFT 长度,我已经“重写”它们以删除与我感兴趣的长度不同的所有表。我没有除了删除无用的代码之外,t 触及任何东西。

我的样本存储在我通过 DMA 访问的外部 SDRAM 上。

使用 FFT 时,我有几个问题:

  • 我的源缓冲区和目标缓冲区都被修改了;
  • 结果完全不像预期的那样

为了确保我得到错误的结果,我在 FFT 之后立即进行了 IFFT,但它只是确认代码不起作用。

这是我的代码:

这是结果(来自 GDB)

GDB 结果

PS:我正在使用ChibiOS - 不确定它是否相关。