问题标签 [cmsis]

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 投票
2 回答
158 浏览

cmsis - 为什么 CMSIS 不提供读取 IRQ 启用/禁用状态的功能?

函数 NVIC_EnableIRQ 和 NVIC_DisableIRQ 用于启用和禁用给定 IRQ 编号的中断。为什么没有函数可以获取该 IRQ 的当前启用/禁用状态?

该用例是需要在继续之前禁用模块中断 (IRQ) 的典型功能。该功能完成后,它将再次启用 IRQ。但要确保首先需要阅读在调用函数时是否启用了 IRQ。

鉴于 CMSIS 不提供该功能,那么我假设我上面的用例存在某种缺陷。但我不明白怎么做。

有什么提示吗?

谢谢

(使用 CMSIS 4.1)

0 投票
1 回答
466 浏览

c - CMSIS-RTOS osThreadId 为整数类型

我正在将产品移植到基于 CMSIS 的 RTOS,并且产品需要获取线程 ID 作为 32 位整数。但是,CMSIS 线程 id 类型 ( osThreadId) 是完全不透明的,typedefstruct os_thread_cb *带有注释,它可以安全地更改为其他内容。

那么是否有一种安全的独立于设备的方法来获取线程唯一的整数 id?例如,我可以假设指针地址本身对于每个线程都是唯一且恒定的吗?

0 投票
3 回答
502 浏览

c - arm_rfft_init_q31:cfft 成员是如何初始化的?

尝试在当前的 CMSIS DSP 库中使用一些旧代码。旧代码:

编译器告诉我函数 arm_rfft_init_q31(_cfft_)在当前版本的 DSP lib 中不再接受我的第二个参数 .

由于 rfft 结构仍然有一个指向 cfft 实例的指针,我想知道这些天这个指针是如何初始化的?

我试图找到一个相关的变更日志条目来向我解释这一点,但到目前为止没有运气。

0 投票
1 回答
363 浏览

gcc - ARM STM32F4xx 上 Keil RTOS 线程使用的示例项目

我需要将一些带有 FreeRTOS 的 GCC 工具链中的 ARM 源代码移植到 Keil 工具链(IDE 和调试器)和 Keil 的 RTOS。

我正在寻找一个具有简单线程示例的简单示例 Keil uVision5 项目。

0 投票
2 回答
1462 浏览

arm - 将 24 位二进制补码转换为 float_32t

我有一个非常具体的问题。
ADC 在二进制补码中为我提供 24 位数据点。通常我将它们存储到 32 位 int (二进制补码)中(通过从 int 的 MSB 开始复制它们,然后将它们向 LSB 移动 8 位以保持前导 1 或零)

现在我想使用 CMSIS-DSP 库在 ARM 处理器上进行 FFT 转换。FFT 需要 float32_t 输入。我从未听说过数据格式,也找不到任何关于它是否有固定浮点或任何东西的具体来源......

谁能告诉我 float32_t 到底是什么?另外关于将 24 位二进制补码转换为 float32_t 的任何想法?

如果我有任何新内容,我将继续调查将编辑这篇文章 :-)


如果有人感兴趣:
ADC 是TI-ADS1299
CMISI-DSP 库可以在这里找到。
该链接直接指向我要使用的方法 (arm_rfft_f32 ()) 。由于我只是使用旧版本的库的电缆,因此该方法已被标记为已弃用。

谢谢和问候!

0 投票
1 回答
333 浏览

c - arm_cfft_sR_q31_len4096 未声明

我正在对 STM32F407 进行一些 FFT 计算,我想比较 CMSIS DSP 库中可用的不同 FFT 函数。当我使用 f32 CFFT 函数时,它按预期工作,但是当我尝试使用 q31/q15 函数时,我收到一条错误消息,提示“arm_cfft_sR_q31_len4096”或 arm_cfft_sR_q15_len4096 在我调用它们各自的 cfft 函数时未声明。我已经将 arm_const_structs.h 包含在应该定义的地方,但显然不是?对于 f32 版本的函数,它与 arm_cfft_sR_f32_len4096 一起使用,那么可能是什么问题?

这是我的 fft 计算的 f32 版本的外观:

0 投票
1 回答
145 浏览

embedded - 我期望 32 位浮点正弦波形的 THD 是多少?

我正在使用 stm32f411 uC 使用 cmsis dsp 库生成正弦波 正弦波形用于通过 I2S 接口馈送音频编解码器 我注意到编解码器的模拟输出上有很多谐波 我想我的波形有多少 THD感谢

编辑正弦波形是 Cmsis dsp 库中的一个 https://github.com/mikeferguson/stm32/blob/master/libraries/CMSIS/DSP_Lib/FastMathFunctions/arm_sin_f32.c 我只需要数字正弦波形添加的谐波我正在考虑创建从该函数创建的正弦值数组并在 matlab 上对其进行分析

0 投票
1 回答
4618 浏览

openssl - 在 RTOS 环境中在基于 ARM Cortex M4 的 STM32F4 控制器上构建 OpenSSL 库

我正在研究在 STM32F407 微控制器(基于 ARM Cortex M4)上开发支持 openSSL-FIPS 的嵌入式蓝牙应用程序的可行性。该应用程序不能在 Linux、Windows 或 Android 等通用操作系统上运行,但它可以在 CMSIS-RTX RTOS 上运行。我在 Windows 中使用 Keil 作为开发环境,内置 armc 编译器 (armcc) 进行编译。

在我的分析过程中,我发现了 OpenSSL wiki,它解释了如何构建和安装 openSSL 库:编译和安装。页面中虽然有 ARM 平台编译部分,但没有说明如何编译。

我还经历了 stackoverflow 中关于在 ARM 中交叉编译 openSSL 的一些讨论。但是所有这些讨论都是基于 ARM+Linux 的,没有一个是在 RTOS 上的。

我还浏览了以下关于使用 ARM 编译的链接

但是这里指定的编译器是 GCC。

  1. 是否有可以在上述平台中使用的库?

  2. 是否可以通过 RTOS 将 openSSL 移植到 ARM Cortex M4 平台?更具体地说,是否可以使用 CMSIS RTX 将其移植到 STM32F407 ?

  3. 如果可能的话,我应该从哪里开始,它有多复杂?

  4. 如果我在 GCC 编译器中编译 openSSL 库并在 armc 编译的应用程序中使用它,它会工作吗?(感觉不会)

  5. 我可以在嵌入式软件中使用哪些其他 SSL 库?(我听说 WolfSSL 可能是一个选择)

0 投票
1 回答
1282 浏览

c - 结构指针访问微控制器上的寄存器?

我试图了解 STM-32 Cortex-M4 微控制器中包含的 cmsis 头文件。他们有一个结构是

例如,这样写是否有意义:

我不明白这条线在做什么。如果你这样做,对我来说会更有意义

这些是一样的吗?为什么?

0 投票
1 回答
444 浏览

hardware - 讨论:德州仪器的 CMSIS VS 硬件抽象层

我多年来一直使用 TI TMS320 MCU。TI 提供用于访问硬件的头文件和源文件。正如您可能知道的那样,TI 实现了一个硬件抽象层来执行此操作。

ARM 微控制器带有 CMSIS,这是硬件抽象层的标准。

我想知道你的意见;你更喜欢哪种方法?

我对 TI 非常方便。这是简单易懂的。

问候,

拉斯