We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I tried to use FFT functions in a project and included the header file required for CMSIS library, arm_math.h.
But I found one issue.
Including “arm_math.h” in a project disables systick function which is used as timer event implementing source for the project.
#define __CMSIS_GENERIC /* disable NVIC and Systick functions */
If this is removed, any of CMSIS library functions becomes unavailable.
What is the reason of disabling Systick function?
Is there any work-around way on the issue?
Now somehow Systick function is working. I don't know what was different in the first.
In my source code, arm_math.h is included and ARM_MATH_CM4 is defined in complier preprecessor setup.
Is that the point of the your comment - just including arm_math.h and armcm4.h will resolve the issue?
"arm_math.h" included has the following codes.
The function of the code below, what I expect is, to disable Systick if arm_math.h is included.
#ifndef _ARM_MATH_H#define _ARM_MATH_H
#if defined (ARM_MATH_CM4)#include "core_cm4.h"
...#else#include "ARMCM4.h"#warning "Define either ARM_MATH_CM4 OR ARM_MATH_CM3...By Default building on ARM_MATH_CM4....."#endif /* I (Hyeong Han) think this is the end of block end starting with #ifdef_ARM_MATH_H, which means
the definition code enabling Systick functions is not entered if arm_math.h is included in the source code.
#undef __CMSIS_GENERIC /* enable NVIC and Systick functions */#include "string.h"#include "math.h"#ifdef __cplusplusextern "C"{#endif
Thank you Martin for your support.
Best regards,
Hyeong Han