cancel
Showing results for 
Search instead for 
Did you mean: 

DSP libraries

orn
Associate II
Posted on October 15, 2012 at 10:55

I need to use DSP libraries such as  BasicMathFunctions, but I have a lot of error messages, you might describe the procedure to include these libraries??

error messages like:

.. \ main.c (18): error: ♯ 5: can not open source input file ''ARMCM4.h'': No such file or directory

Target not created

#dsp-libraries
21 REPLIES 21
orn
Associate II
Posted on October 15, 2012 at 11:57

0690X00000603F3QAI.jpg

frankmeyer9
Associate II
Posted on October 15, 2012 at 12:01

After my understanding, ARMCM4.h is a generic core include file from ARM.

Replace the reference with ''stm32f4xx.h'' (if you build for the M4), or add a version that includes this file.

See this for reference:

https://bitbucket.org/thweber/cmsis-v3/src/21d75dc52207/Device/ARM/ARMCM4/Include/ARMCM4.h

orn
Associate II
Posted on October 15, 2012 at 12:26

does not work ... I think you have made your instructions but it does not work ... can you tell me step by step what should I do??

frankmeyer9
Associate II
Posted on October 15, 2012 at 12:50

If you look at the contents of this ARMCM4.h, it defines just the same things as the stm32xxx.h files - only less. It is the ARM version for a generic M4 core, and thus should match the STM32F4xx, LPC45xx, LM4Fxxx and others.

I believe ST should have removed all references to this file before releasing the F4 firmware library, because their version (stm32f4xx.h) is a superset of this file.

If you build for an stm32f4, just remove the line

#include ''ARMCM4.h''

and replace it with

#include ''stm32f4xx.h''

or create your own version of ARMCM4.h, which only includes stm32f4xx.h.

I had built a project with some DSP lib files some weeks ago, and succeeded this way.

Edit:

Looking at your picture, you probably just need to remove the include.

The other file (''stm32f4xx.h'') should already be pulled in by former includes.

orn
Associate II
Posted on October 15, 2012 at 14:04

I tried to replace with ARMCM4.H STM32F4xx.h but I get many errors when I try to use the mathematical functions or control as the pid...

0690X00000603F8QAI.jpg

0690X00000603FDQAY.jpg

0690X00000603CUQAY.jpg

frankmeyer9
Associate II
Posted on October 15, 2012 at 14:20

I tried to replace with ARMCM4.H STM32F4xx.h but I get many errors...

 

If the file stm32f4xx.h is already included, remove ARMCM4.h, i.e. the include.

''Invalid redeclaration ...'' is a typical error when including a header file twice.

orn
Associate II
Posted on October 15, 2012 at 15:24

gives me error for all types defined as  __IO uint32_t 

for example IO uint32_t  take me back to a mistake

but unit32_t don't return an error message...

I can not fix .... :( Help me....

Posted on October 15, 2012 at 16:04

You need to look at the first error, subsequent ones often come as a result if it trying to recover/restart.

The include file you want is in \Keil\ARM\Device\ARM\ARMCM4\Include

You NEED to ensure that you project has Include pathing set up correctly so that it can find the files requested.

Options -> C/C++ -> Include Paths

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
orn
Associate II
Posted on October 15, 2012 at 16:20

clive, as always, I thank you! :) I've included the file but I have new errors, I think there are conflicts, you may help me for this new problem?

0690X00000603FhQAI.jpg