Hello, I am trying to compile this project from GitHub - ARM-software/ML-KWS-for-MCU: Keyword spotting on Arm Cortex-M Microcontrollers but getting this error as seen below. Please help to solve this problem. Thank you.
Using STM32F745 Disco
mbed-cli v1.8.3 (downloaded via windows installer)
python 2.7.x
Compile [ 98.5%]: kws.cpp
[Error] arm_acle.h@48,49: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@55,50: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@62,49: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] arm_acle.h@69,50: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] arm_acle.h@100,50: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@107,51: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@114,50: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] arm_acle.h@121,51: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] nn.h@28,25: ‘q7_t’ has not been declared
[Error] nn.h@28,40: ‘q7_t’ has not been declared
[Error] kws.cpp@72,33: no matching function for call to ‘NN::run_nn(q7_t*&, q7_t*&)’
[Error] kws.cpp@74,47: ‘arm_softmax_q7’ was not declared in this scope
[ERROR] In file included from …/CMSIS-NN/Include/arm_nn_math_types.h:94:0,
from …/CMSIS-NN/Include/arm_nnfunctions.h:114,
from …/Source/NN/nn.h:22,
from …/Source\KWS\kws.h:23,
from …/Source\KWS\kws.cpp:24:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldc(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldc (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldc(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldcl(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:55:50: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldcl (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldcl(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stc(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:62:49: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stc (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stc(unsigned int, unsigned int, int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stcl(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:69:50: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stcl (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stcl(unsigned int, unsigned int, int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldc2(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:100:50: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldc2 (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldc2(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldc2l(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:107:51: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldc2l (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldc2l(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stc2(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:114:50: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stc2 (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stc2(unsigned int, unsigned int, int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stc2l(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:121:51: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stc2l (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stc2l(unsigned int, unsigned int, int*)’
In file included from …/Source\KWS\kws.h:23:0,
from …/Source\KWS\kws.cpp:24:
…/Source/NN/nn.h: At global scope:
…/Source/NN/nn.h:28:25: error: ‘q7_t’ has not been declared
virtual void run_nn(q7_t* in_data, q7_t* out_data)=0;
^~~~
…/Source/NN/nn.h:28:40: error: ‘q7_t’ has not been declared
virtual void run_nn(q7_t* in_data, q7_t* out_data)=0;
^~~~
…/Source\KWS\kws.cpp: In member function ‘void KWS::classify()’:
…/Source\KWS\kws.cpp:72:33: error: no matching function for call to ‘NN::run_nn(q7_t*&, q7_t*&)’
nn->run_nn(mfcc_buffer, output);
^
In file included from …/Source\KWS\kws.h:23:0,
from …/Source\KWS\kws.cpp:24:
…/Source/NN/nn.h:28:18: note: candidate: virtual void NN::run_nn(int*, int*)
virtual void run_nn(q7_t* in_data, q7_t* out_data)=0;
^~~~~~
…/Source/NN/nn.h:28:18: note: no known conversion for argument 1 from ‘q7_t* {aka signed char*}’ to ‘int*’
…/Source\KWS\kws.cpp:74:47: error: ‘arm_softmax_q7’ was not declared in this scope
arm_softmax_q7(output,num_out_classes,output);
^
[mbed] ERROR: “C:\Python27\python.exe” returned error.
Code: 1
Path: “C:\prj_KWS\Deployment\ML-KWS-for-MCU\Deployment\kws_realtime_test”
Command: “C:\Python27\python.exe -u C:\prj_KWS\Deployment\ML-KWS-for-MCU\Deployment\kws_realtime_test\tools\make.py -t GCC_ARM -m DISCO_F746NG --profile …/release_O3.json --source . --source …/Source --source …/Examples/realtime_test --source …/CMSIS-NN/Include --source …/CMSIS-NN/Source --source …/CMSIS-DSP/Include --source …/CMSIS-DSP/PrivateInclude --source …/CMSIS-DSP/Source --source …/CMSIS_5/CMSIS/Core/Include --build .\BUILD\DISCO_F746NG\GCC_ARM-RELEASE_O3 -j 8”