Questions tagged [cmsis]

CMSIS is a vendor-independent hardware abstraction layer for the Cortex-M processor series.

The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series with the following components:

  • CMSIS-CORE: API for the processor core, peripherals and the instruction intrinsics.
  • CMSIS-Driver: Standard API for Ethernet, I2C, MCI, NAND Flash, NOR Flash, SPI, USART, USB etc.
  • CMSIS-DSP: SIMD optimized DSP Library for fix-point (q7, q15, q31) and single precision floating-point (32-bit) data types.
  • CMSIS-RTOS: Common API for Real-Time operating systems.
  • CMSIS-Pack: XML based package description of the user and device relevant parts of a file collection that includes source, header, and library files, documentation, Flash programming algorithms, source code templates, and example projects.
  • CMSIS-SVD: XML based description of the peripherals for debuggers.
  • CMSIS-DAP: A USB to Debug Access Port protocol and reference firmware implementation. Can be used by pyOCD.
183 questions
0
votes
0 answers

applying a window to audio samples screws the output

Using arm_mult_f32 to multiply two arrays produces unexpected(garbage) results. I have been reading up about dsp. I am creating Hann coefficients to apply to sampled PCM data, before the FFT. THe hanning function is from hann.m matlab example i…
mr oli
  • 1
  • 5
0
votes
0 answers

CMSIS DSP returning Hard Fault (Cortex M0)

I'm trying to debug this code and identify what's causing a hard fault upon calling the fft method. The program is reading from an ADC via interrupts and every 128 cycles it calculates the FFT of the previous set of cycles. I have indicated the…
beur_x
  • 169
  • 3
  • 11
0
votes
1 answer

Wrong FFT result when using rfft function on STM32F4

I'm trying to use rfft function in STM32F407G and I am getting wrong results when I compare it with an online fft calculator . I give a sample input as {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}. My…
0
votes
1 answer

Unable to use CMSIS library in Atollic

I am trying to use CFFT function for my STM32 microcontroller in Atollic TrueStudio. But I am unable to use any of the DSP functions. I get the error - undefined reference to `arm_cfft_f32' and undefined reference to 'arm_cfft_sR_f32_len16'. I…
0
votes
0 answers

Could a chip revision change break binary compatibility by CMSIS?

Suppose the following situation: You develop something to a certain manufacturer's ARM based microcontroller. You are using CMSIS for interfacing the hardware (as recommendable on this architecture). The software is finalized, compiled into a…
Jubatian
  • 2,171
  • 16
  • 22
0
votes
3 answers

Got a "Fatal Error : Failed to connect to CPU Session aborted !" in IAR IDE

I use CMSIS-DAP link for debugging and CMSIS-DAP firmware load successfully. and I use IAR Workbench Version 7.80 IDE. I can build code successfully. But after I Got a "Fatal Error : Failed to connect to CPU Session aborted !" during "Download and…
Pratik
  • 53
  • 1
  • 6
0
votes
2 answers

CMSIS for Cortex-M1

Sadly I'm forced to use and obscure microcontroller based on ARM Cortex-M1 core. I just found out that the latest CMSIS (5.2) does not support it and official CMSIS docs say this: CMSIS supports the complete range of Cortex-M processors (with …
Amomum
  • 6,217
  • 8
  • 34
  • 62
0
votes
2 answers

multiple thread in CMSIS RTOS - STM32 nucleo L053R8

Today I developing RTOS (CMSIS RTOS) for kit STM32 nucleo L053R8. I have issue relate to multiple task. I create 4 task(task_1, task_2, task_3, task_4), however only 3 task run. This is part of my code: #include "main.h" #include…
0
votes
0 answers

Can't send data through UART using HAL_UART_Receive_IT

I am using stm32f4 on discovery board with freertos running on it. Just started working with stm32 controller and trying to make data transfer using UART. Printf based on HAL_UART_Transmit works perfectly, but receiving data isn't working. According…
Logen Sand
  • 111
  • 3
  • 10
0
votes
0 answers

CMSIS-RTOS osMessageGet function

I have been working on a software based on CMSIS-RTOS and I have a problem with function osMessageGet. My software consists of four RTOS tasks and two of them exchange data via osMessageQueue in conjunction with osPool. One task (Task_100ms) is a…
Steve
  • 805
  • 7
  • 27
0
votes
1 answer

STM32F4 USART1 sends garbage

I am having a problem when Sending char from STM32F411 to PC it reads into garbage, but when I do the opposite operation the MCU correctly reads char sent. I perform following actions: Enable GPIOA clock and configure pins 9 and 10 alternate…
hrust
  • 734
  • 1
  • 11
  • 34
0
votes
1 answer

CMSIS DSP lookup tables eat up my memory

the CMSIS (Cortex Microcontroller Software Interface Standard) sadly comes with a bulk load of lookup tables. As soon as i use one of its DSP-Functions it includes all the lookup tables (~200KB), even those that I don't need. I was wondering if…
0
votes
1 answer

Struct pointer to access register on microcontroller?

I'm trying to understand the cmsis header file included with the STM-32 Cortex-M4 microcontroller. They have a struct that is typedef struct { __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ __IO…
ben
  • 11
  • 4
0
votes
1 answer

arm_cfft_sR_q31_len4096 undeclared

I am doing some FFT calculations on a STM32F407 and I want to compare the different FFT functions that is available in the CMSIS DSP library. When I am using the f32 CFFT functions it works as one would expect but when I try to use the q31/q15…
Pethead
  • 178
  • 2
  • 6
  • 15
0
votes
3 answers

arm_rfft_init_q31: how is the cfft member initialized?

Trying to use some old code with a current CMSIS DSP library. Old code: const unsiged fftlen=128; arm_cfft_radix4_instance_q31 forward_cfft_instance = {0}; arm_rfft_instance_q31 forward_rfft_instance = {0}; arm_rfft_init_q31(&forward_rfft_instance,…
Ludwig Schulze
  • 2,155
  • 1
  • 17
  • 36