CMSIS-DSP: Corrected compilation issues with ARM AC5 compiler.

Added AC5 support to the test framework.
Upgraded gcc support.
pull/19/head
Christophe Favergeon 7 years ago
parent 8ccf6883fa
commit 5309ff3334

@ -0,0 +1,75 @@
#! armcc -E
; command above MUST be in first line (no comment above!)
/*
;-------- <<< Use Configuration Wizard in Context Menu >>> -------------------
*/
#include "mem_ARMCM7.h"
/*--------------------- Flash Configuration ----------------------------------
; <h> Flash Configuration
; <o0> Flash Base Address <0x0-0xFFFFFFFF:8>
; <o1> Flash Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
*----------------------------------------------------------------------------*/
#define __ROM_BASE 0x00000000
#define __ROM_SIZE 0x00200000
/*--------------------- Embedded RAM Configuration ---------------------------
; <h> RAM Configuration
; <o0> RAM Base Address <0x0-0xFFFFFFFF:8>
; <o1> RAM Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
*----------------------------------------------------------------------------*/
#define __RAM_BASE 0x20000000
#define __RAM_SIZE 0x00200000
/*--------------------- Stack / Heap Configuration ---------------------------
; <h> Stack / Heap Configuration
; <o0> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; <o1> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
*----------------------------------------------------------------------------*/
#define __STACK_SIZE STACK_SIZE
#define __HEAP_SIZE HEAP_SIZE
/*----------------------------------------------------------------------------
User Stack & Heap boundery definition
*----------------------------------------------------------------------------*/
#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */
#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */
/*----------------------------------------------------------------------------
Scatter File Definitions definition
*----------------------------------------------------------------------------*/
#define __RO_BASE __ROM_BASE
#define __RO_SIZE __ROM_SIZE
#define __RW_BASE (__RAM_BASE )
#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE)
LR_ROM __RO_BASE __RO_SIZE { ; load region size_region
ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM __RW_BASE __RW_SIZE { ; RW data
.ANY (+RW +ZI)
}
#if __HEAP_SIZE > 0
ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap
}
#endif
ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack
}
}

@ -0,0 +1,38 @@
/**************************************************************************//**
* @file mem_ARMCM7.h
* @brief Memory base and size definitions (used in scatter file)
* @version V1.1.0
* @date 15. May 2019
*
* @note
*
******************************************************************************/
/*
* Copyright (c) 2009-2019 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __MEM_ARMCM7_H
#define __MEM_ARMCM7_H
#define STACK_SIZE 0x00003000
#define HEAP_SIZE 0x00100000
#endif /* __MEM_ARMCM7_H */

@ -33,7 +33,7 @@
</h> </h>
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
__ROM_BASE = 0x00000000; __ROM_BASE = 0x00000000;
__ROM_SIZE = 0x00100000; __ROM_SIZE = 0x00300000;
/*--------------------- Embedded RAM Configuration ---------------------------- /*--------------------- Embedded RAM Configuration ----------------------------
<h> RAM Configuration <h> RAM Configuration

@ -0,0 +1,168 @@
;/**************************************************************************//**
; * @file startup_ARMCM7.s
; * @brief CMSIS Core Device Startup File for
; * ARMCM7 Device
; * @version V5.4.0
; * @date 12. December 2018
; ******************************************************************************/
;/*
; * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
; *
; * SPDX-License-Identifier: Apache-2.0
; *
; * Licensed under the Apache License, Version 2.0 (the License); you may
; * not use this file except in compliance with the License.
; * You may obtain a copy of the License at
; *
; * www.apache.org/licenses/LICENSE-2.0
; *
; * Unless required by applicable law or agreed to in writing, software
; * distributed under the License is distributed on an AS IS BASIS, WITHOUT
; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; * See the License for the specific language governing permissions and
; * limitations under the License.
; */
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
#include "mem_ARMCM7.h"
;<h> Stack Configuration
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
;</h>
Stack_Size EQU STACK_SIZE
AREA STACK, NOINIT, READWRITE, ALIGN=3
__stack_limit
Stack_Mem SPACE Stack_Size
__initial_sp
;<h> Heap Configuration
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;</h>
Heap_Size EQU HEAP_SIZE
IF Heap_Size != 0 ; Heap is provided
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
ENDIF
PRESERVE8
THUMB
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; -14 NMI Handler
DCD HardFault_Handler ; -13 Hard Fault Handler
DCD MemManage_Handler ; -12 MPU Fault Handler
DCD BusFault_Handler ; -11 Bus Fault Handler
DCD UsageFault_Handler ; -10 Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; -5 SVCall Handler
DCD DebugMon_Handler ; -4 Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; -2 PendSV Handler
DCD SysTick_Handler ; -1 SysTick Handler
; Interrupts
DCD Interrupt0_Handler ; 0 Interrupt 0
DCD Interrupt1_Handler ; 1 Interrupt 1
DCD Interrupt2_Handler ; 2 Interrupt 2
DCD Interrupt3_Handler ; 3 Interrupt 3
DCD Interrupt4_Handler ; 4 Interrupt 4
DCD Interrupt5_Handler ; 5 Interrupt 5
DCD Interrupt6_Handler ; 6 Interrupt 6
DCD Interrupt7_Handler ; 7 Interrupt 7
DCD Interrupt8_Handler ; 8 Interrupt 8
DCD Interrupt9_Handler ; 9 Interrupt 9
SPACE (214 * 4) ; Interrupts 10 .. 224 are left out
__Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY
; Reset Handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
; Macro to define default exception/interrupt handlers.
; Default handler are weak symbols with an endless loop.
; They can be overwritten by real handlers.
MACRO
Set_Default_Handler $Handler_Name
$Handler_Name PROC
EXPORT $Handler_Name [WEAK]
B .
ENDP
MEND
; Default exception/interrupt handler
Set_Default_Handler NMI_Handler
Set_Default_Handler HardFault_Handler
Set_Default_Handler MemManage_Handler
Set_Default_Handler BusFault_Handler
Set_Default_Handler UsageFault_Handler
Set_Default_Handler SVC_Handler
Set_Default_Handler DebugMon_Handler
Set_Default_Handler PendSV_Handler
Set_Default_Handler SysTick_Handler
Set_Default_Handler Interrupt0_Handler
Set_Default_Handler Interrupt1_Handler
Set_Default_Handler Interrupt2_Handler
Set_Default_Handler Interrupt3_Handler
Set_Default_Handler Interrupt4_Handler
Set_Default_Handler Interrupt5_Handler
Set_Default_Handler Interrupt6_Handler
Set_Default_Handler Interrupt7_Handler
Set_Default_Handler Interrupt8_Handler
Set_Default_Handler Interrupt9_Handler
ALIGN
; User setup Stack & Heap
IF :LNOT::DEF:__MICROLIB
IMPORT __use_two_region_memory
ENDIF
EXPORT __stack_limit
EXPORT __initial_sp
IF Heap_Size != 0 ; Heap is provided
EXPORT __heap_base
EXPORT __heap_limit
ENDIF
END

@ -276,7 +276,7 @@ uint32_t arm_gaussian_naive_bayes_predict_f32(const arm_gaussian_naive_bayes_ins
for(nbDim = 0; nbDim < S->vectorDimension; nbDim++) for(nbDim = 0; nbDim < S->vectorDimension; nbDim++)
{ {
sigma = *pSigma + S->epsilon; sigma = *pSigma + S->epsilon;
acc1 += log(2.0 * PI_F * sigma); acc1 += log(2.0f * PI_F * sigma);
acc2 += (*pIn - *pTheta) * (*pIn - *pTheta) / sigma; acc2 += (*pIn - *pTheta) * (*pIn - *pTheta) / sigma;
pIn++; pIn++;
@ -284,8 +284,8 @@ uint32_t arm_gaussian_naive_bayes_predict_f32(const arm_gaussian_naive_bayes_ins
pSigma++; pSigma++;
} }
tmp = -0.5 * acc1; tmp = -0.5f * acc1;
tmp -= 0.5 * acc2; tmp -= 0.5f * acc2;
*buffer = tmp + log(*pPrior++); *buffer = tmp + log(*pPrior++);

@ -96,7 +96,7 @@ void FUNC(EXT)(const uint32_t *pA
uint32_t _cft=0; uint32_t _cft=0;
#endif #endif
uint32_t nbBoolBlock; uint32_t nbBoolBlock;
uint32_t a,b,ba,bb,cc=1; uint32_t a,b,ba,bb;
int shift; int shift;
uint32x4_t aV, bV; uint32x4_t aV, bV;
#ifdef TT #ifdef TT
@ -315,7 +315,7 @@ void FUNC(EXT)(const uint32_t *pA
#ifdef FT #ifdef FT
uint32_t _cft=0; uint32_t _cft=0;
#endif #endif
uint32_t a,b,ba,bb,cc=1; uint32_t a,b,ba,bb;
int shift; int shift;
while(numberOfBools >= 32) while(numberOfBools >= 32)

@ -114,7 +114,6 @@ float32_t arm_braycurtis_distance_f32(const float32_t *pA,const float32_t *pB, u
float32_t arm_braycurtis_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize) float32_t arm_braycurtis_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize)
{ {
float32_t accumDiff=0.0, accumSum=0.0, tmpA, tmpB; float32_t accumDiff=0.0, accumSum=0.0, tmpA, tmpB;
uint32_t i;
while(blockSize > 0) while(blockSize > 0)
{ {

@ -128,7 +128,7 @@ float32_t arm_canberra_distance_f32(const float32_t *pA,const float32_t *pB, uin
diff = fabs(tmpA - tmpB); diff = fabs(tmpA - tmpB);
sum = fabs(tmpA) + fabs(tmpB); sum = fabs(tmpA) + fabs(tmpB);
if ((tmpA != 0.0) || (tmpB != 0.0)) if ((tmpA != 0.0f) || (tmpB != 0.0f))
{ {
accum += (diff / sum); accum += (diff / sum);
} }

@ -129,7 +129,6 @@ float32_t arm_chebyshev_distance_f32(const float32_t *pA,const float32_t *pB, ui
float32_t arm_chebyshev_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize) float32_t arm_chebyshev_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize)
{ {
float32_t diff=0.0, maxVal,tmpA, tmpB; float32_t diff=0.0, maxVal,tmpA, tmpB;
uint32_t i;
tmpA = *pA++; tmpA = *pA++;
tmpB = *pB++; tmpB = *pB++;

@ -90,8 +90,7 @@ float32_t arm_cityblock_distance_f32(const float32_t *pA,const float32_t *pB, ui
#else #else
float32_t arm_cityblock_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize) float32_t arm_cityblock_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize)
{ {
float32_t diff=0.0, accum,tmpA, tmpB; float32_t accum,tmpA, tmpB;
uint32_t i;
accum = 0.0; accum = 0.0;
while(blockSize > 0) while(blockSize > 0)

@ -52,7 +52,6 @@
float32_t arm_correlation_distance_f32(float32_t *pA,float32_t *pB, uint32_t blockSize) float32_t arm_correlation_distance_f32(float32_t *pA,float32_t *pB, uint32_t blockSize)
{ {
float32_t ma,mb,pwra,pwrb,dot,tmp; float32_t ma,mb,pwra,pwrb,dot,tmp;
uint32_t i;
arm_mean_f32(pA, blockSize, &ma); arm_mean_f32(pA, blockSize, &ma);
arm_mean_f32(pB, blockSize, &mb); arm_mean_f32(pB, blockSize, &mb);
@ -71,7 +70,7 @@ float32_t arm_correlation_distance_f32(float32_t *pA,float32_t *pB, uint32_t blo
arm_sqrt_f32(pwra * pwrb,&tmp); arm_sqrt_f32(pwra * pwrb,&tmp);
return(1.0 - dot / tmp); return(1.0f - dot / tmp);
} }

@ -50,7 +50,6 @@
float32_t arm_cosine_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize) float32_t arm_cosine_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize)
{ {
float32_t pwra,pwrb,dot,tmp; float32_t pwra,pwrb,dot,tmp;
uint32_t i;
arm_power_f32(pA, blockSize, &pwra); arm_power_f32(pA, blockSize, &pwra);
arm_power_f32(pB, blockSize, &pwrb); arm_power_f32(pB, blockSize, &pwrb);
@ -58,7 +57,7 @@ float32_t arm_cosine_distance_f32(const float32_t *pA,const float32_t *pB, uint3
arm_dot_prod_f32(pA,pB,blockSize,&dot); arm_dot_prod_f32(pA,pB,blockSize,&dot);
arm_sqrt_f32(pwra * pwrb, &tmp); arm_sqrt_f32(pwra * pwrb, &tmp);
return(1.0 - dot / tmp); return(1.0f - dot / tmp);
} }

@ -88,7 +88,6 @@ float32_t arm_euclidean_distance_f32(const float32_t *pA,const float32_t *pB, ui
float32_t arm_euclidean_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize) float32_t arm_euclidean_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize)
{ {
float32_t accum=0.0,tmp; float32_t accum=0.0,tmp;
uint32_t i;
while(blockSize > 0) while(blockSize > 0)
{ {

@ -30,7 +30,7 @@
#include <math.h> #include <math.h>
static inline float32_t rel_entr(float32_t x, float32_t y) __STATIC_INLINE float32_t rel_entr(float32_t x, float32_t y)
{ {
return (x * log(x / y)); return (x * log(x / y));
} }
@ -160,14 +160,14 @@ float32_t arm_jensenshannon_distance_f32(const float32_t *pA,const float32_t *pB
right = 0.0; right = 0.0;
for(i=0; i < blockSize; i++) for(i=0; i < blockSize; i++)
{ {
tmp = (pA[i] + pB[i]) / 2.0; tmp = (pA[i] + pB[i]) / 2.0f;
left += rel_entr(pA[i], tmp); left += rel_entr(pA[i], tmp);
right += rel_entr(pB[i], tmp); right += rel_entr(pB[i], tmp);
} }
sum = left + right; sum = left + right;
arm_sqrt_f32(sum/2.0, &result); arm_sqrt_f32(sum/2.0f, &result);
return(result); return(result);
} }

@ -98,7 +98,7 @@ float32_t arm_minkowski_distance_f32(const float32_t *pA,const float32_t *pB, in
float32_t arm_minkowski_distance_f32(const float32_t *pA,const float32_t *pB, int32_t order, uint32_t blockSize) float32_t arm_minkowski_distance_f32(const float32_t *pA,const float32_t *pB, int32_t order, uint32_t blockSize)
{ {
float32_t sum,diff; float32_t sum;
uint32_t i; uint32_t i;
sum = 0.0; sum = 0.0;
@ -108,7 +108,7 @@ float32_t arm_minkowski_distance_f32(const float32_t *pA,const float32_t *pB, in
} }
return(pow(sum,(1.0/order))); return(pow(sum,(1.0f/order)));
} }
#endif #endif

@ -78,6 +78,8 @@ void arm_split_rifft_f32(
/** /**
@brief Processing function for the floating-point RFFT/RIFFT. @brief Processing function for the floating-point RFFT/RIFFT.
Source buffer is modified by this function.
@deprecated Do not use this function. It has been superceded by \ref arm_rfft_fast_f32 and will be removed in the future. @deprecated Do not use this function. It has been superceded by \ref arm_rfft_fast_f32 and will be removed in the future.
@param[in] S points to an instance of the floating-point RFFT/RIFFT structure @param[in] S points to an instance of the floating-point RFFT/RIFFT structure
@param[in] pSrc points to the input buffer @param[in] pSrc points to the input buffer

@ -238,6 +238,8 @@ void merge_rfft_f32(
@par @par
The complex transforms used internally include scaling to prevent fixed-point The complex transforms used internally include scaling to prevent fixed-point
overflows. The overall scaling equals 1/(fftLen/2). overflows. The overall scaling equals 1/(fftLen/2).
Due to the use of complex transform internally, the source buffer is
modified by the rfft.
@par @par
A separate instance structure must be defined for each transform used but A separate instance structure must be defined for each transform used but
twiddle factor and bit reversal tables can be reused. twiddle factor and bit reversal tables can be reused.
@ -279,7 +281,7 @@ void merge_rfft_f32(
/** /**
@brief Processing function for the floating-point real FFT. @brief Processing function for the floating-point real FFT.
@param[in] S points to an arm_rfft_fast_instance_f32 structure @param[in] S points to an arm_rfft_fast_instance_f32 structure
@param[in] p points to input buffer @param[in] p points to input buffer (Source buffer is modified by this function.)
@param[in] pOut points to output buffer @param[in] pOut points to output buffer
@param[in] ifftFlag @param[in] ifftFlag
- value = 0: RFFT - value = 0: RFFT

@ -56,7 +56,7 @@ void arm_split_rifft_q15(
/** /**
@brief Processing function for the Q15 RFFT/RIFFT. @brief Processing function for the Q15 RFFT/RIFFT.
@param[in] S points to an instance of the Q15 RFFT/RIFFT structure @param[in] S points to an instance of the Q15 RFFT/RIFFT structure
@param[in] pSrc points to input buffer @param[in] pSrc points to input buffer (Source buffer is modified by this function.)
@param[out] pDst points to output buffer @param[out] pDst points to output buffer
@return none @return none

@ -56,7 +56,7 @@ void arm_split_rifft_q31(
/** /**
@brief Processing function for the Q31 RFFT/RIFFT. @brief Processing function for the Q31 RFFT/RIFFT.
@param[in] S points to an instance of the Q31 RFFT/RIFFT structure @param[in] S points to an instance of the Q31 RFFT/RIFFT structure
@param[in] pSrc points to input buffer @param[in] pSrc points to input buffer (Source buffer is modified by this function)
@param[out] pDst points to output buffer @param[out] pDst points to output buffer
@return none @return none

@ -41,9 +41,9 @@ class ArrayMemory:public Client::Memory
public: public:
ArrayMemory(char* ptr, size_t bufferLength,int aligned, bool tail); ArrayMemory(char* ptr, size_t bufferLength,int aligned, bool tail);
ArrayMemory(char* ptr, size_t bufferLength); ArrayMemory(char* ptr, size_t bufferLength);
char *NewBuffer(size_t length); virtual char *NewBuffer(size_t length);
void FreeMemory(); virtual void FreeMemory();
bool HasMemError(); virtual bool HasMemError();
private: private:
// Pointer to C array used for memory // Pointer to C array used for memory

@ -5,6 +5,6 @@ class Calibrate:public Client::Suite
public: public:
Calibrate(Testing::testID_t id); Calibrate(Testing::testID_t id);
void empty(); void empty();
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
}; };

@ -28,6 +28,7 @@
#ifndef _FPGA_H_ #ifndef _FPGA_H_
#define _FPGA_H_ #define _FPGA_H_
#include <string> #include <string>
#include "stdlib.h"
namespace Client namespace Client
{ {
@ -46,41 +47,40 @@ FPGA driver. Used to read a C array describing how to drive the test.
public: public:
FPGA(const char *testDesc,const char *patterns); FPGA(const char *testDesc,const char *patterns);
~FPGA(); ~FPGA();
void ReadIdentification(); virtual void ReadIdentification();
void ReadTestIdentification(); virtual void ReadTestIdentification();
Testing::nbParameters_t ReadNbParameters(); virtual Testing::nbParameters_t ReadNbParameters();
void DispStatus(Testing::TestStatus,Testing::errorID_t,unsigned long,Testing::cycles_t); virtual void DispStatus(Testing::TestStatus,Testing::errorID_t,unsigned long,Testing::cycles_t);
void EndGroup(); virtual void EndGroup();
void ImportPattern(Testing::PatternID_t); virtual void ReadPatternList();
void ReadPatternList(); virtual void ReadOutputList();
void ReadOutputList(); virtual void ReadParameterList(Testing::nbParameters_t);
void ReadParameterList(Testing::nbParameters_t); virtual Testing::nbSamples_t GetPatternSize(Testing::PatternID_t);
Testing::nbSamples_t GetPatternSize(Testing::PatternID_t);
virtual void ImportPattern_f64(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_f64(Testing::PatternID_t,char*,Testing::nbSamples_t nb); virtual void ImportPattern_f32(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_f32(Testing::PatternID_t,char*,Testing::nbSamples_t nb); virtual void ImportPattern_q31(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_q31(Testing::PatternID_t,char*,Testing::nbSamples_t nb); virtual void ImportPattern_q15(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_q15(Testing::PatternID_t,char*,Testing::nbSamples_t nb); virtual void ImportPattern_q7(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_q7(Testing::PatternID_t,char*,Testing::nbSamples_t nb); virtual void ImportPattern_u32(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_u32(Testing::PatternID_t,char*,Testing::nbSamples_t nb); virtual void ImportPattern_u16(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_u16(Testing::PatternID_t,char*,Testing::nbSamples_t nb); virtual void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb);
virtual void DumpParams(std::vector<Testing::param_t>&);
void DumpParams(std::vector<Testing::param_t>&); virtual Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &,Testing::ParameterKind &);
Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &,Testing::ParameterKind &); virtual bool hasParam();
bool hasParam(); virtual Testing::PatternID_t getParamID();
Testing::PatternID_t getParamID();
virtual void DumpPattern_f64(Testing::outputID_t,Testing::nbSamples_t nb, float64_t* data);
void DumpPattern_f64(Testing::outputID_t,Testing::nbSamples_t nb, float64_t* data); virtual void DumpPattern_f32(Testing::outputID_t,Testing::nbSamples_t nb, float32_t* data);
void DumpPattern_f32(Testing::outputID_t,Testing::nbSamples_t nb, float32_t* data); virtual void DumpPattern_q31(Testing::outputID_t,Testing::nbSamples_t nb, q31_t* data);
void DumpPattern_q31(Testing::outputID_t,Testing::nbSamples_t nb, q31_t* data); virtual void DumpPattern_q15(Testing::outputID_t,Testing::nbSamples_t nb, q15_t* data);
void DumpPattern_q15(Testing::outputID_t,Testing::nbSamples_t nb, q15_t* data); virtual void DumpPattern_q7(Testing::outputID_t,Testing::nbSamples_t nb, q7_t* data);
void DumpPattern_q7(Testing::outputID_t,Testing::nbSamples_t nb, q7_t* data); virtual void DumpPattern_u32(Testing::outputID_t,Testing::nbSamples_t nb, uint32_t* data);
void DumpPattern_u32(Testing::outputID_t,Testing::nbSamples_t nb, uint32_t* data); virtual void DumpPattern_u16(Testing::outputID_t,Testing::nbSamples_t nb, uint16_t* data);
void DumpPattern_u16(Testing::outputID_t,Testing::nbSamples_t nb, uint16_t* data); virtual void DumpPattern_u8(Testing::outputID_t,Testing::nbSamples_t nb, uint8_t* data);
void DumpPattern_u8(Testing::outputID_t,Testing::nbSamples_t nb, uint8_t* data);
virtual Testing::testID_t CurrentTestID();
Testing::testID_t CurrentTestID();
private: private:
void recomputeTestDir(); void recomputeTestDir();
void DeleteParams(); void DeleteParams();

@ -38,8 +38,8 @@ namespace Client
IORunner(IO*,PatternMgr*); IORunner(IO*,PatternMgr*);
IORunner(IO*,PatternMgr*, Testing::RunningMode); IORunner(IO*,PatternMgr*, Testing::RunningMode);
~IORunner(); ~IORunner();
Testing::TestStatus run(Suite *s); virtual Testing::TestStatus run(Suite *s);
Testing::TestStatus run(Group *g); virtual Testing::TestStatus run(Group *g);
private: private:
IO *m_io; IO *m_io;
PatternMgr *m_mgr; PatternMgr *m_mgr;

@ -29,7 +29,7 @@
#define _SEMIHOSTING_H_ #define _SEMIHOSTING_H_
#include <string> #include <string>
#include <memory> #include <memory>
#include <stdio.h>
namespace Client namespace Client
{ {
@ -49,43 +49,43 @@ Semihosting driver. Used to read a text file describing how to drive the test.
,std::string outputRootPath ,std::string outputRootPath
,std::string parameterRootPath); ,std::string parameterRootPath);
~Semihosting(); ~Semihosting();
void ReadIdentification(); virtual void ReadIdentification();
void ReadTestIdentification(); virtual void ReadTestIdentification();
Testing::nbParameters_t ReadNbParameters(); virtual Testing::nbParameters_t ReadNbParameters();
void DispStatus(Testing::TestStatus,Testing::errorID_t,unsigned long,Testing::cycles_t); virtual void DispStatus(Testing::TestStatus,Testing::errorID_t,unsigned long,Testing::cycles_t);
void EndGroup(); virtual void EndGroup();
void ImportPattern(Testing::PatternID_t); virtual void ImportPattern(Testing::PatternID_t);
void ReadPatternList(); virtual void ReadPatternList();
void ReadOutputList(); virtual void ReadOutputList();
void ReadParameterList(Testing::nbParameters_t); virtual void ReadParameterList(Testing::nbParameters_t);
Testing::nbSamples_t GetPatternSize(Testing::PatternID_t); virtual Testing::nbSamples_t GetPatternSize(Testing::PatternID_t);
//Testing::nbSamples_t GetParameterSize(Testing::PatternID_t); //Testing::nbSamples_t GetParameterSize(Testing::PatternID_t);
void ImportPattern_f64(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_f64(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void ImportPattern_f32(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_f32(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void ImportPattern_q31(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_q31(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void ImportPattern_q15(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_q15(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void ImportPattern_q7(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_q7(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void ImportPattern_u32(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_u32(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void ImportPattern_u16(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_u16(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0); virtual void ImportPattern_u8(Testing::PatternID_t,char*,Testing::nbSamples_t nb=0);
void DumpParams(std::vector<Testing::param_t>&); virtual void DumpParams(std::vector<Testing::param_t>&);
Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &,Testing::ParameterKind &); virtual Testing::param_t* ImportParams(Testing::PatternID_t,Testing::nbParameterEntries_t &,Testing::ParameterKind &);
bool hasParam(); virtual bool hasParam();
Testing::PatternID_t getParamID(); virtual Testing::PatternID_t getParamID();
void DumpPattern_f64(Testing::outputID_t,Testing::nbSamples_t nb, float64_t*); virtual void DumpPattern_f64(Testing::outputID_t,Testing::nbSamples_t nb, float64_t*);
void DumpPattern_f32(Testing::outputID_t,Testing::nbSamples_t nb, float32_t*); virtual void DumpPattern_f32(Testing::outputID_t,Testing::nbSamples_t nb, float32_t*);
void DumpPattern_q31(Testing::outputID_t,Testing::nbSamples_t nb, q31_t*); virtual void DumpPattern_q31(Testing::outputID_t,Testing::nbSamples_t nb, q31_t*);
void DumpPattern_q15(Testing::outputID_t,Testing::nbSamples_t nb, q15_t*); virtual void DumpPattern_q15(Testing::outputID_t,Testing::nbSamples_t nb, q15_t*);
void DumpPattern_q7(Testing::outputID_t,Testing::nbSamples_t nb, q7_t*); virtual void DumpPattern_q7(Testing::outputID_t,Testing::nbSamples_t nb, q7_t*);
void DumpPattern_u32(Testing::outputID_t,Testing::nbSamples_t nb, uint32_t*); virtual void DumpPattern_u32(Testing::outputID_t,Testing::nbSamples_t nb, uint32_t*);
void DumpPattern_u16(Testing::outputID_t,Testing::nbSamples_t nb, uint16_t*); virtual void DumpPattern_u16(Testing::outputID_t,Testing::nbSamples_t nb, uint16_t*);
void DumpPattern_u8(Testing::outputID_t,Testing::nbSamples_t nb, uint8_t*); virtual void DumpPattern_u8(Testing::outputID_t,Testing::nbSamples_t nb, uint8_t*);
Testing::testID_t CurrentTestID(); virtual Testing::testID_t CurrentTestID();
private: private:
void DeleteParams(); void DeleteParams();
void recomputeTestDir(); void recomputeTestDir();

@ -65,7 +65,7 @@ void assert_relative_error(unsigned long nb,float32_t &a, float32_t &b, float32_
float32_t rel,delta,average; float32_t rel,delta,average;
delta=abs(a-b); delta=abs(a-b);
average = (abs(a) + abs(b)) / 2.0; average = (abs(a) + abs(b)) / 2.0f;
if (average !=0) if (average !=0)
{ {
rel = delta / average; rel = delta / average;

@ -340,9 +340,8 @@ namespace Client
} }
else else
{ {
unsigned long kind,nbInputSamples,nbOutputSamples,dimensions,len,sample; unsigned long kind,nbInputSamples,nbOutputSamples,dimensions,sample;
Testing::param_t *p,*current; Testing::param_t *p,*current;
size_t length;
// Generator kind // Generator kind
this->read32(&kind); this->read32(&kind);
@ -432,10 +431,8 @@ namespace Client
Testing::param_t* FPGA::ImportParams(Testing::PatternID_t id,Testing::nbParameterEntries_t &nbEntries,Testing::ParameterKind &paramKind) Testing::param_t* FPGA::ImportParams(Testing::PatternID_t id,Testing::nbParameterEntries_t &nbEntries,Testing::ParameterKind &paramKind)
{ {
nbEntries=0; nbEntries=0;
unsigned long offset,i; unsigned long offset;
Testing::param_t *p;
uint32_t val;
Testing::nbSamples_t len; Testing::nbSamples_t len;
struct offsetOrGen gen = this->getParameterDesc(id); struct offsetOrGen gen = this->getParameterDesc(id);

@ -2,11 +2,10 @@
void generate1(Testing::param_t *result,Testing::param_t *data,Testing::nbParameterEntries_t &nbEntries) void generate1(Testing::param_t *result,Testing::param_t *data,Testing::nbParameterEntries_t &nbEntries)
{ {
Testing::param_t *pa,*paStart,va; Testing::param_t *pa,va;
pa = data; pa = data;
int nba = *pa++; int nba = *pa++;
paStart = pa;
nbEntries = 0; nbEntries = 0;
for(int ia=0; ia < nba ; ia ++) for(int ia=0; ia < nba ; ia ++)
{ {

@ -32,6 +32,7 @@
#include <string> #include <string>
#include <cstddef> #include <cstddef>
#include <stdlib.h>
#include "IORunner.h" #include "IORunner.h"
#include "Error.h" #include "Error.h"
#include "Timing.h" #include "Timing.h"

@ -32,10 +32,12 @@
#include <string> #include <string>
#include <cstddef> #include <cstddef>
#include "Semihosting.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h>
#include "Generators.h" #include "Generators.h"
#include "Semihosting.h"
namespace Client namespace Client
{ {
@ -175,9 +177,9 @@ namespace Client
// Samples // Samples
else else
{ {
int kind,nbInputSamples,nbOutputSamples,dimensions,len,sample; int kind,nbInputSamples,nbOutputSamples,dimensions,sample;
Testing::param_t *p,*current; Testing::param_t *p,*current;
size_t length;
// Generator kind. Not yet used since there is only one kind of generator // Generator kind. Not yet used since there is only one kind of generator
fscanf(this->infile,"%d\n",&kind); fscanf(this->infile,"%d\n",&kind);
// Input data in config file // Input data in config file

@ -47,9 +47,9 @@ namespace Client
/* Client */ /* Client */
Suite::Suite(Testing::testID_t id): Suite::Suite(Testing::testID_t id):
TestContainer(id),
m_tests(std::vector<test>()), m_tests(std::vector<test>()),
m_testIds(std::vector<Testing::testID_t>()), m_testIds(std::vector<Testing::testID_t>())
TestContainer(id)
{ {
} }
@ -74,8 +74,8 @@ namespace Client
Group::Group(Testing::testID_t id): Group::Group(Testing::testID_t id):
m_groups(std::vector<TestContainer*>()), TestContainer(id),
TestContainer(id) m_groups(std::vector<TestContainer*>())
{ {
} }

@ -153,5 +153,4 @@ Testing::cycles_t getCycles()
return(value - startCycles); return(value - startCycles);
#endif #endif
return(0);
} }

@ -4,8 +4,8 @@ class BIQUADF32:public Client::Suite
{ {
public: public:
BIQUADF32(Testing::testID_t id); BIQUADF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BIQUADF32_decl.h" #include "BIQUADF32_decl.h"
Client::Pattern<float32_t> samples; Client::Pattern<float32_t> samples;

@ -4,8 +4,8 @@ class BIQUADF64:public Client::Suite
{ {
public: public:
BIQUADF64(Testing::testID_t id); BIQUADF64(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BIQUADF64_decl.h" #include "BIQUADF64_decl.h"
Client::Pattern<float64_t> samples; Client::Pattern<float64_t> samples;

@ -4,8 +4,8 @@ class BasicMathsBenchmarksF32:public Client::Suite
{ {
public: public:
BasicMathsBenchmarksF32(Testing::testID_t id); BasicMathsBenchmarksF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BasicMathsBenchmarksF32_decl.h" #include "BasicMathsBenchmarksF32_decl.h"
Client::Pattern<float32_t> input1; Client::Pattern<float32_t> input1;

@ -4,8 +4,8 @@ class BasicMathsBenchmarksQ15:public Client::Suite
{ {
public: public:
BasicMathsBenchmarksQ15(Testing::testID_t id); BasicMathsBenchmarksQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BasicMathsBenchmarksQ15_decl.h" #include "BasicMathsBenchmarksQ15_decl.h"
Client::Pattern<q15_t> input1; Client::Pattern<q15_t> input1;

@ -4,8 +4,8 @@ class BasicMathsBenchmarksQ31:public Client::Suite
{ {
public: public:
BasicMathsBenchmarksQ31(Testing::testID_t id); BasicMathsBenchmarksQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BasicMathsBenchmarksQ31_decl.h" #include "BasicMathsBenchmarksQ31_decl.h"
Client::Pattern<q31_t> input1; Client::Pattern<q31_t> input1;

@ -4,8 +4,8 @@ class BasicMathsBenchmarksQ7:public Client::Suite
{ {
public: public:
BasicMathsBenchmarksQ7(Testing::testID_t id); BasicMathsBenchmarksQ7(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BasicMathsBenchmarksQ7_decl.h" #include "BasicMathsBenchmarksQ7_decl.h"
Client::Pattern<q7_t> input1; Client::Pattern<q7_t> input1;

@ -4,8 +4,8 @@ class BinaryF32:public Client::Suite
{ {
public: public:
BinaryF32(Testing::testID_t id); BinaryF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BinaryF32_decl.h" #include "BinaryF32_decl.h"
Client::Pattern<float32_t> input1; Client::Pattern<float32_t> input1;

@ -4,8 +4,8 @@ class BinaryQ15:public Client::Suite
{ {
public: public:
BinaryQ15(Testing::testID_t id); BinaryQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BinaryQ15_decl.h" #include "BinaryQ15_decl.h"
Client::Pattern<q15_t> input1; Client::Pattern<q15_t> input1;

@ -4,8 +4,8 @@ class BinaryQ31:public Client::Suite
{ {
public: public:
BinaryQ31(Testing::testID_t id); BinaryQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BinaryQ31_decl.h" #include "BinaryQ31_decl.h"
Client::Pattern<q31_t> input1; Client::Pattern<q31_t> input1;

@ -4,8 +4,8 @@ class ComplexMathsBenchmarksF32:public Client::Suite
{ {
public: public:
ComplexMathsBenchmarksF32(Testing::testID_t id); ComplexMathsBenchmarksF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "ComplexMathsBenchmarksF32_decl.h" #include "ComplexMathsBenchmarksF32_decl.h"
Client::Pattern<float32_t> input1; Client::Pattern<float32_t> input1;

@ -4,8 +4,8 @@ class ComplexMathsBenchmarksQ15:public Client::Suite
{ {
public: public:
ComplexMathsBenchmarksQ15(Testing::testID_t id); ComplexMathsBenchmarksQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "ComplexMathsBenchmarksQ15_decl.h" #include "ComplexMathsBenchmarksQ15_decl.h"
Client::Pattern<q15_t> input1; Client::Pattern<q15_t> input1;

@ -4,8 +4,8 @@ class ComplexMathsBenchmarksQ31:public Client::Suite
{ {
public: public:
ComplexMathsBenchmarksQ31(Testing::testID_t id); ComplexMathsBenchmarksQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "ComplexMathsBenchmarksQ31_decl.h" #include "ComplexMathsBenchmarksQ31_decl.h"
Client::Pattern<q31_t> input1; Client::Pattern<q31_t> input1;

@ -4,8 +4,8 @@ class ControllerF32:public Client::Suite
{ {
public: public:
ControllerF32(Testing::testID_t id); ControllerF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "ControllerF32_decl.h" #include "ControllerF32_decl.h"
Client::Pattern<float32_t> samples; Client::Pattern<float32_t> samples;

@ -4,8 +4,8 @@ class ControllerQ15:public Client::Suite
{ {
public: public:
ControllerQ15(Testing::testID_t id); ControllerQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "ControllerQ15_decl.h" #include "ControllerQ15_decl.h"
Client::Pattern<q15_t> samples; Client::Pattern<q15_t> samples;

@ -4,8 +4,8 @@ class ControllerQ31:public Client::Suite
{ {
public: public:
ControllerQ31(Testing::testID_t id); ControllerQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "ControllerQ31_decl.h" #include "ControllerQ31_decl.h"
Client::Pattern<q31_t> samples; Client::Pattern<q31_t> samples;

@ -4,8 +4,8 @@ class DECIMF32:public Client::Suite
{ {
public: public:
DECIMF32(Testing::testID_t id); DECIMF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "DECIMF32_decl.h" #include "DECIMF32_decl.h"
Client::Pattern<float32_t> coefs; Client::Pattern<float32_t> coefs;

@ -4,8 +4,8 @@ class DECIMQ15:public Client::Suite
{ {
public: public:
DECIMQ15(Testing::testID_t id); DECIMQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "DECIMQ15_decl.h" #include "DECIMQ15_decl.h"
Client::Pattern<q15_t> coefs; Client::Pattern<q15_t> coefs;

@ -4,8 +4,8 @@ class DECIMQ31:public Client::Suite
{ {
public: public:
DECIMQ31(Testing::testID_t id); DECIMQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "DECIMQ31_decl.h" #include "DECIMQ31_decl.h"
Client::Pattern<q31_t> coefs; Client::Pattern<q31_t> coefs;

@ -4,8 +4,8 @@ class FIRF32:public Client::Suite
{ {
public: public:
FIRF32(Testing::testID_t id); FIRF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FIRF32_decl.h" #include "FIRF32_decl.h"
Client::Pattern<float32_t> coefs; Client::Pattern<float32_t> coefs;

@ -4,8 +4,8 @@ class FIRQ15:public Client::Suite
{ {
public: public:
FIRQ15(Testing::testID_t id); FIRQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FIRQ15_decl.h" #include "FIRQ15_decl.h"
Client::Pattern<q15_t> coefs; Client::Pattern<q15_t> coefs;

@ -4,8 +4,8 @@ class FIRQ31:public Client::Suite
{ {
public: public:
FIRQ31(Testing::testID_t id); FIRQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FIRQ31_decl.h" #include "FIRQ31_decl.h"
Client::Pattern<q31_t> coefs; Client::Pattern<q31_t> coefs;

@ -4,8 +4,8 @@ class FastMathF32:public Client::Suite
{ {
public: public:
FastMathF32(Testing::testID_t id); FastMathF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FastMathF32_decl.h" #include "FastMathF32_decl.h"
Client::Pattern<float32_t> samples; Client::Pattern<float32_t> samples;

@ -4,8 +4,8 @@ class FastMathQ15:public Client::Suite
{ {
public: public:
FastMathQ15(Testing::testID_t id); FastMathQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FastMathQ15_decl.h" #include "FastMathQ15_decl.h"
Client::Pattern<q15_t> samples; Client::Pattern<q15_t> samples;

@ -4,8 +4,8 @@ class FastMathQ31:public Client::Suite
{ {
public: public:
FastMathQ31(Testing::testID_t id); FastMathQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FastMathQ31_decl.h" #include "FastMathQ31_decl.h"
Client::Pattern<q31_t> samples; Client::Pattern<q31_t> samples;

@ -4,8 +4,8 @@ class FullyConnectedBench:public Client::Suite
{ {
public: public:
FullyConnectedBench(Testing::testID_t id); FullyConnectedBench(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FullyConnectedBench_decl.h" #include "FullyConnectedBench_decl.h"

@ -4,8 +4,8 @@ class MISCF32:public Client::Suite
{ {
public: public:
MISCF32(Testing::testID_t id); MISCF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "MISCF32_decl.h" #include "MISCF32_decl.h"
Client::Pattern<float32_t> input1; Client::Pattern<float32_t> input1;

@ -4,8 +4,8 @@ class MISCQ15:public Client::Suite
{ {
public: public:
MISCQ15(Testing::testID_t id); MISCQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "MISCQ15_decl.h" #include "MISCQ15_decl.h"
Client::Pattern<q15_t> input1; Client::Pattern<q15_t> input1;

@ -4,8 +4,8 @@ class MISCQ31:public Client::Suite
{ {
public: public:
MISCQ31(Testing::testID_t id); MISCQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "MISCQ31_decl.h" #include "MISCQ31_decl.h"
Client::Pattern<q31_t> input1; Client::Pattern<q31_t> input1;

@ -4,8 +4,8 @@ class MISCQ7:public Client::Suite
{ {
public: public:
MISCQ7(Testing::testID_t id); MISCQ7(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "MISCQ7_decl.h" #include "MISCQ7_decl.h"
Client::Pattern<q7_t> input1; Client::Pattern<q7_t> input1;

@ -4,8 +4,8 @@ class PoolingBench:public Client::Suite
{ {
public: public:
PoolingBench(Testing::testID_t id); PoolingBench(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "PoolingBench_decl.h" #include "PoolingBench_decl.h"

@ -4,8 +4,8 @@ class SupportBarF32:public Client::Suite
{ {
public: public:
SupportBarF32(Testing::testID_t id); SupportBarF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SupportBarF32_decl.h" #include "SupportBarF32_decl.h"
Client::Pattern<float32_t> input; Client::Pattern<float32_t> input;

@ -4,8 +4,8 @@ class SupportF32:public Client::Suite
{ {
public: public:
SupportF32(Testing::testID_t id); SupportF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SupportF32_decl.h" #include "SupportF32_decl.h"
Client::Pattern<float32_t> samples; Client::Pattern<float32_t> samples;

@ -4,8 +4,8 @@ class SupportQ15:public Client::Suite
{ {
public: public:
SupportQ15(Testing::testID_t id); SupportQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SupportQ15_decl.h" #include "SupportQ15_decl.h"
Client::Pattern<q15_t> samples; Client::Pattern<q15_t> samples;

@ -4,8 +4,8 @@ class SupportQ31:public Client::Suite
{ {
public: public:
SupportQ31(Testing::testID_t id); SupportQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SupportQ31_decl.h" #include "SupportQ31_decl.h"
Client::Pattern<q31_t> samples; Client::Pattern<q31_t> samples;

@ -4,8 +4,8 @@ class SupportQ7:public Client::Suite
{ {
public: public:
SupportQ7(Testing::testID_t id); SupportQ7(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SupportQ7_decl.h" #include "SupportQ7_decl.h"
Client::Pattern<q7_t> samples; Client::Pattern<q7_t> samples;

@ -4,8 +4,8 @@ class TransformF32:public Client::Suite
{ {
public: public:
TransformF32(Testing::testID_t id); TransformF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "TransformF32_decl.h" #include "TransformF32_decl.h"
Client::Pattern<float32_t> samples; Client::Pattern<float32_t> samples;

@ -4,8 +4,8 @@ class TransformQ15:public Client::Suite
{ {
public: public:
TransformQ15(Testing::testID_t id); TransformQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "TransformQ15_decl.h" #include "TransformQ15_decl.h"
Client::Pattern<q15_t> samples; Client::Pattern<q15_t> samples;

@ -4,8 +4,8 @@ class TransformQ31:public Client::Suite
{ {
public: public:
TransformQ31(Testing::testID_t id); TransformQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "TransformQ31_decl.h" #include "TransformQ31_decl.h"
Client::Pattern<q31_t> samples; Client::Pattern<q31_t> samples;

@ -4,8 +4,8 @@ class UnaryF32:public Client::Suite
{ {
public: public:
UnaryF32(Testing::testID_t id); UnaryF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "UnaryF32_decl.h" #include "UnaryF32_decl.h"
Client::Pattern<float32_t> input1; Client::Pattern<float32_t> input1;

@ -4,8 +4,8 @@ class UnaryF64:public Client::Suite
{ {
public: public:
UnaryF64(Testing::testID_t id); UnaryF64(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "UnaryF64_decl.h" #include "UnaryF64_decl.h"
Client::Pattern<float64_t> input1; Client::Pattern<float64_t> input1;

@ -4,8 +4,8 @@ class UnaryQ15:public Client::Suite
{ {
public: public:
UnaryQ15(Testing::testID_t id); UnaryQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "UnaryQ15_decl.h" #include "UnaryQ15_decl.h"
Client::Pattern<q15_t> input1; Client::Pattern<q15_t> input1;

@ -4,8 +4,8 @@ class UnaryQ31:public Client::Suite
{ {
public: public:
UnaryQ31(Testing::testID_t id); UnaryQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "UnaryQ31_decl.h" #include "UnaryQ31_decl.h"
Client::Pattern<q31_t> input1; Client::Pattern<q31_t> input1;

@ -4,8 +4,8 @@ class BasicTestsF32:public Client::Suite
{ {
public: public:
BasicTestsF32(Testing::testID_t id); BasicTestsF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BasicTestsF32_decl.h" #include "BasicTestsF32_decl.h"

@ -4,8 +4,8 @@ class BayesF32:public Client::Suite
{ {
public: public:
BayesF32(Testing::testID_t id); BayesF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "BayesF32_decl.h" #include "BayesF32_decl.h"

@ -4,8 +4,8 @@ class DistanceTestsF32:public Client::Suite
{ {
public: public:
DistanceTestsF32(Testing::testID_t id); DistanceTestsF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "DistanceTestsF32_decl.h" #include "DistanceTestsF32_decl.h"

@ -4,8 +4,8 @@ class DistanceTestsU32:public Client::Suite
{ {
public: public:
DistanceTestsU32(Testing::testID_t id); DistanceTestsU32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "DistanceTestsU32_decl.h" #include "DistanceTestsU32_decl.h"

@ -4,8 +4,8 @@ class FullyConnected:public Client::Suite
{ {
public: public:
FullyConnected(Testing::testID_t id); FullyConnected(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "FullyConnected_decl.h" #include "FullyConnected_decl.h"

@ -4,8 +4,8 @@ class NNSupport:public Client::Suite
{ {
public: public:
NNSupport(Testing::testID_t id); NNSupport(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "NNSupport_decl.h" #include "NNSupport_decl.h"

@ -4,8 +4,8 @@ class Pooling:public Client::Suite
{ {
public: public:
Pooling(Testing::testID_t id); Pooling(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "Pooling_decl.h" #include "Pooling_decl.h"

@ -4,8 +4,8 @@ class SVMF32:public Client::Suite
{ {
public: public:
SVMF32(Testing::testID_t id); SVMF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SVMF32_decl.h" #include "SVMF32_decl.h"
Client::Pattern<float32_t> samples; Client::Pattern<float32_t> samples;
@ -21,7 +21,7 @@ class SVMF32:public Client::Suite
arm_svm_sigmoid_instance_f32 sigmoid; arm_svm_sigmoid_instance_f32 sigmoid;
int vecDim,nbSupportVectors,nbTestSamples,degree; int vecDim,nbSupportVectors,nbTestSamples,degree;
int classes[2]={0,0}; int32_t classes[2]={0,0};
float32_t intercept; float32_t intercept;
const float32_t *supportVectors; const float32_t *supportVectors;
const float32_t *dualCoefs; const float32_t *dualCoefs;

@ -4,8 +4,8 @@ class Softmax:public Client::Suite
{ {
public: public:
Softmax(Testing::testID_t id); Softmax(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "Softmax_decl.h" #include "Softmax_decl.h"

@ -4,8 +4,8 @@ class StatsTestsF32:public Client::Suite
{ {
public: public:
StatsTestsF32(Testing::testID_t id); StatsTestsF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "StatsTestsF32_decl.h" #include "StatsTestsF32_decl.h"

@ -4,8 +4,8 @@ class SupportBarTestsF32:public Client::Suite
{ {
public: public:
SupportBarTestsF32(Testing::testID_t id); SupportBarTestsF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SupportBarTestsF32_decl.h" #include "SupportBarTestsF32_decl.h"
Client::Pattern<float32_t> input; Client::Pattern<float32_t> input;

@ -4,8 +4,8 @@ class SupportTestsF32:public Client::Suite
{ {
public: public:
SupportTestsF32(Testing::testID_t id); SupportTestsF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "SupportTestsF32_decl.h" #include "SupportTestsF32_decl.h"

@ -4,8 +4,8 @@ class TransformF32:public Client::Suite
{ {
public: public:
TransformF32(Testing::testID_t id); TransformF32(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "TransformF32_decl.h" #include "TransformF32_decl.h"

@ -4,8 +4,8 @@ class TransformQ15:public Client::Suite
{ {
public: public:
TransformQ15(Testing::testID_t id); TransformQ15(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "TransformQ15_decl.h" #include "TransformQ15_decl.h"

@ -4,8 +4,8 @@ class TransformQ31:public Client::Suite
{ {
public: public:
TransformQ31(Testing::testID_t id); TransformQ31(Testing::testID_t id);
void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr); virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& paramsArgs,Client::PatternMgr *mgr);
void tearDown(Testing::testID_t,Client::PatternMgr *mgr); virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
private: private:
#include "TransformQ31_decl.h" #include "TransformQ31_decl.h"

@ -7,31 +7,22 @@ const arm_cfft_instance_f32 *arm_cfft_get_instance_f32(uint16_t fftLen)
switch (fftLen) { switch (fftLen) {
case 16: case 16:
return(&arm_cfft_sR_f32_len16); return(&arm_cfft_sR_f32_len16);
break;
case 32: case 32:
return(&arm_cfft_sR_f32_len32); return(&arm_cfft_sR_f32_len32);
break;
case 64: case 64:
return(&arm_cfft_sR_f32_len64); return(&arm_cfft_sR_f32_len64);
break;
case 128: case 128:
return(&arm_cfft_sR_f32_len128); return(&arm_cfft_sR_f32_len128);
break;
case 256: case 256:
return(&arm_cfft_sR_f32_len256); return(&arm_cfft_sR_f32_len256);
break;
case 512: case 512:
return(&arm_cfft_sR_f32_len512); return(&arm_cfft_sR_f32_len512);
break;
case 1024: case 1024:
return(&arm_cfft_sR_f32_len1024); return(&arm_cfft_sR_f32_len1024);
break;
case 2048: case 2048:
return(&arm_cfft_sR_f32_len2048); return(&arm_cfft_sR_f32_len2048);
break;
case 4096: case 4096:
return(&arm_cfft_sR_f32_len4096); return(&arm_cfft_sR_f32_len4096);
break;
} }
return(NULL); return(NULL);
} }

@ -2,6 +2,7 @@
#include "Error.h" #include "Error.h"
#include "arm_nnfunctions.h" #include "arm_nnfunctions.h"
#include "Test.h" #include "Test.h"
#include "stdio.h"
#include <cstdio> #include <cstdio>

@ -12,7 +12,6 @@
float32_t *refp = ref.ptr(); float32_t *refp = ref.ptr();
float32_t *outp = output.ptr(); float32_t *outp = output.ptr();
float32_t *result;
for(int i=0;i < this->nbPatterns; i++) for(int i=0;i < this->nbPatterns; i++)
{ {
@ -30,7 +29,6 @@
float32_t *refp = ref.ptr(); float32_t *refp = ref.ptr();
float32_t *outp = output.ptr(); float32_t *outp = output.ptr();
float32_t *result;
for(int i=0;i < this->nbPatterns; i++) for(int i=0;i < this->nbPatterns; i++)
{ {
@ -50,7 +48,6 @@
float32_t *refp = ref.ptr(); float32_t *refp = ref.ptr();
float32_t *outp = output.ptr(); float32_t *outp = output.ptr();
float32_t *result;
for(int i=0;i < this->nbPatterns; i++) for(int i=0;i < this->nbPatterns; i++)
{ {
@ -71,7 +68,6 @@
float32_t *refp = ref.ptr(); float32_t *refp = ref.ptr();
float32_t *outp = output.ptr(); float32_t *outp = output.ptr();
float32_t *tmpp = tmp.ptr(); float32_t *tmpp = tmp.ptr();
float32_t *result;
for(int i=0;i < this->nbPatterns; i++) for(int i=0;i < this->nbPatterns; i++)
{ {

@ -12,7 +12,7 @@ groupCode="""class %s : public Client::Group
%s %s
} }
private: private:
%s; %s
}; };
""" """

@ -0,0 +1,95 @@
#include(CMakePrintHelpers)
include(AddFileDependencies)
function(compilerVersion)
execute_process(COMMAND "${CMAKE_C_COMPILER}" --version_number
OUTPUT_VARIABLE CVERSION
ERROR_VARIABLE CVERSION
)
SET(COMPILERVERSION ${CVERSION} PARENT_SCOPE)
#cmake_print_variables(CVERSION)
#cmake_print_variables(CMAKE_C_COMPILER)
#MESSAGE( STATUS "CMD_OUTPUT:" ${CVERSION})
endfunction()
function(compilerSpecificCompileOptions PROJECTNAME ROOT)
#cmake_print_properties(TARGETS ${PROJECTNAME} PROPERTIES DISABLEOPTIMIZATION)
get_target_property(DISABLEOPTIM ${PROJECTNAME} DISABLEOPTIMIZATION)
if ((OPTIMIZED) AND (NOT DISABLEOPTIM))
#cmake_print_variables(DISABLEOPTIM)
target_compile_options(${PROJECTNAME} PRIVATE "-O2")
endif()
if (FASTMATHCOMPUTATIONS)
target_compile_options(${PROJECTNAME} PUBLIC "-ffast-math")
endif()
#if (HARDFP)
# target_compile_options(${PROJECTNAME} PUBLIC "-mfloat-abi=hard")
#endif()
#if (LITTLEENDIAN)
# target_compile_options(${PROJECTNAME} PUBLIC "-mlittle-endian")
#endif()
if (ARM_CPU STREQUAL "Cortex-M7.fp.dp" )
target_compile_options(${PROJECTNAME} PUBLIC "--fpu=FPv5_D16")
target_compile_options(${PROJECTNAME} PUBLIC "--thumb")
endif()
if(EXPERIMENTAL)
experimentalCompilerSpecificCompileOptions(${PROJECTNAME} ${ROOT})
endif()
endfunction()
function(toolchainSpecificLinkForCortexM PROJECTNAME ROOT CORE PLATFORMFOLDER HASCSTARTUP)
# A specific library is created for ASM file
# since we do not want standard compile flags (for C) to be applied to
# ASM files.
if (HASCSTARTUP)
target_sources(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/Startup/AC5/startup_${CORE}.c)
else()
target_sources(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/Startup/AC5/startup_${CORE}.s)
endif()
target_include_directories(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/LinkScripts/AC5)
set(SCATTERFILE "${PLATFORMFOLDER}/${CORE}/LinkScripts/AC5/lnk.sct")
set_target_properties(${PROJECTNAME} PROPERTIES LINK_DEPENDS "${SCATTERFILE};${PLATFORMFOLDER}/${CORE}/LinkScripts/AC5/mem_${CORE}.h")
#target_link_options(${PROJECTNAME} PRIVATE "--info=sizes")
target_link_options(${PROJECTNAME} PRIVATE "--entry=Reset_Handler;--scatter=${SCATTERFILE}")
endfunction()
function(toolchainSpecificLinkForCortexA PROJECTNAME ROOT CORE PLATFORMFOLDER)
target_sources(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/Startup/AC5/startup_${CORE}.c)
# RTE Components.h
target_include_directories(${PROJECTNAME} PRIVATE ${ROOT}/CMSIS/DSP/Testing)
set(SCATTERFILE "${PLATFORMFOLDER}/${CORE}/LinkScripts/AC5/lnk.sct")
set_target_properties(${PROJECTNAME} PROPERTIES LINK_DEPENDS "${SCATTERFILE};${PLATFORMFOLDER}/${CORE}/LinkScripts/AC5/mem_${CORE}.h")
target_include_directories(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/LinkScripts/AC5)
#target_link_options(${PROJECTNAME} PRIVATE "--info=sizes")
target_link_options(${PROJECTNAME} PRIVATE "--entry=Vectors;--scatter=${SCATTERFILE}")
endfunction()
function(compilerSpecificPlatformConfigLibForM PROJECTNAME ROOT)
endfunction()
function(compilerSpecificPlatformConfigLibForA PROJECTNAME ROOT)
endfunction()
function(compilerSpecificPlatformConfigAppForM PROJECTNAME ROOT)
endfunction()
function(compilerSpecificPlatformConfigAppForA PROJECTNAME ROOT)
endfunction()

@ -98,6 +98,7 @@ function(toolchainSpecificLinkForCortexM PROJECTNAME ROOT CORE PLATFORMFOLDER H
target_include_directories(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/LinkScripts/GCC) target_include_directories(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/LinkScripts/GCC)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tempLink)
set(SCATTERFILE ${CMAKE_CURRENT_BINARY_DIR}/tempLink/lnk.ld) set(SCATTERFILE ${CMAKE_CURRENT_BINARY_DIR}/tempLink/lnk.ld)
preprocessScatter(${CORE} ${PLATFORMFOLDER} ${SCATTERFILE}) preprocessScatter(${CORE} ${PLATFORMFOLDER} ${SCATTERFILE})

@ -1,8 +1,13 @@
SET(COMPILERVERSION "") SET(COMPILERVERSION "")
if (ARMAC6) if (ARMAC6)
include(Toolchain/AC6) include(Toolchain/AC6)
endif() endif()
if (ARMAC5)
include(Toolchain/AC5)
endif()
if (GCC) if (GCC)
include(Toolchain/GCC) include(Toolchain/GCC)
endif() endif()

@ -0,0 +1,68 @@
# Setting Linux is forcing th extension to be .o instead of .obj when building on WIndows.
# It is important because armlink is failing when files have .obj extensions (error with
# scatter file section not found)
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR arm)
#SET(tools "C:/PROGRA~1/ARM/DEVELO~1.0/sw/ARMCOM~1.12")
find_program(CMAKE_C_COMPILER NAMES armcc armcc.exe)
find_program(CMAKE_CXX_COMPILER NAMES armcc armcc.exe)
find_program(CMAKE_ASM_COMPILER NAMES armasm armasm.exe)
#SET(CMAKE_C_COMPILER "${tools}/bin/armclang.exe")
#SET(CMAKE_CXX_COMPILER "${tools}/bin/armclang.exe")
#SET(CMAKE_ASM_COMPILER "${tools}/bin/armclang.exe")
find_program(CMAKE_AR NAMES armar armar.exe)
#SET(CMAKE_AR "${tools}/bin/armar.exe")
find_program(CMAKE_CXX_COMPILER_AR NAMES armar armar.exe)
find_program(CMAKE_C_COMPILER_AR NAMES armar armar.exe)
find_program(CMAKE_LINKER NAMES armlink armlink.exe)
#SET(CMAKE_LINKER "${tools}/bin/armlink.exe")
SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_LINKER> <LINK_FLAGS> -o <TARGET> <LINK_LIBRARIES> <OBJECTS>")
SET(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> <LINK_FLAGS> -o <TARGET> <LINK_LIBRARIES> <OBJECTS>")
SET(CMAKE_C_RESPONSE_FILE_LINK_FLAG "--via ")
SET(CMAKE_C_OUTPUT_EXTENSION .o)
SET(CMAKE_CXX_OUTPUT_EXTENSION .o)
SET(CMAKE_ASM_OUTPUT_EXTENSION .o)
# When library defined as STATIC, this line is needed to describe how the .a file must be
# create. Some changes to the line may be needed.
SET(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> -r -s --create <TARGET> <LINK_FLAGS> <OBJECTS>" )
SET(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> -r -s --create <TARGET> <LINK_FLAGS> <OBJECTS>" )
#SET(CMAKE_ASM_CREATE_STATIC_LIBRARY "${tools}/bin/armar.exe -r -s --create <TARGET> <LINK_FLAGS> <OBJECTS>" )
set(ARMAC5 ON)
if(NOT ARM_CPU)
set(
ARM_CPU "Cortex-A5.neon"
CACHE STRING "Set ARM CPU. Default : cortex-a5"
)
endif(NOT ARM_CPU)
SET(CMAKE_C_FLAGS "--c99 --cpu ${ARM_CPU}" CACHE INTERNAL "C compiler common flags")
SET(CMAKE_CXX_FLAGS "--exceptions --cpp11 --cpp_compat --cpu ${ARM_CPU}" CACHE INTERNAL "C compiler common flags")
SET(CMAKE_ASM_FLAGS " --cpreproc --cpu ${ARM_CPU}" CACHE INTERNAL "ASM compiler common flags")
#SET(CMAKE_ASM_FLAGS "--cpu=${ARM_CPU}" CACHE INTERNAL "ASM compiler common flags")
#SET(CMAKE_EXE_LINKER_FLAGS "-flto" CACHE INTERNAL "linker flags")
# Where is the target environment
#SET(CMAKE_FIND_ROOT_PATH "${tools}")
# Search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# For libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
#include(CMakePrintHelpers)
#cmake_print_variables(${ASM_DIALECT})

@ -60,98 +60,19 @@ function(configboot PROJECT_NAME ROOT PLATFORMFOLDER)
endif() endif()
################### ###################
# #
# Cortex cortex-m7 # Cortex M
# #
if (ARM_CPU STREQUAL "cortex-m7") if (ARM_CPU MATCHES "^[cC]ortex-[Mm].*$")
cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF) cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF)
endif() endif()
###################
#
# Cortex cortex-m4
#
if (ARM_CPU STREQUAL "cortex-m4")
cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF)
endif()
###################
#
# Cortex cortex-m35p
#
if (ARM_CPU STREQUAL "cortex-m35")
cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF)
endif()
###################
#
# Cortex cortex-m33
#
if (ARM_CPU STREQUAL "cortex-m33")
cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF)
endif()
###################
#
# Cortex cortex-m23
#
if (ARM_CPU STREQUAL "cortex-m23")
cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF)
endif()
###################
#
# Cortex cortex-m0+
#
if (ARM_CPU STREQUAL "cortex-m0p")
cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF)
endif()
###################
#
# Cortex cortex-m0
#
if (ARM_CPU STREQUAL "cortex-m0")
cortexm(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER} OFF)
endif()
################### ###################
# #
# Cortex cortex-a5 # Cortex cortex-a5
# #
if (ARM_CPU STREQUAL "cortex-a5") if (ARM_CPU MATCHES "^[cC]ortex-[Aa].*")
cortexa(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER})
endif()
###################
#
# Cortex cortex-a7
#
if (ARM_CPU STREQUAL "cortex-a7")
cortexa(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER})
endif()
###################
#
# Cortex cortex-a9
#
if (ARM_CPU STREQUAL "cortex-a9")
cortexa(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER})
endif()
###################
#
# Cortex cortex-a15
#
if (ARM_CPU STREQUAL "cortex-a15")
cortexa(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER}) cortexa(${CORE} ${PROJECT_NAME} ${ROOT} ${PLATFORMFOLDER})
endif() endif()

@ -29,7 +29,7 @@ function(configcore PROJECTNAME ROOT)
# #
# CORTEX-A15 # CORTEX-A15
if (ARM_CPU STREQUAL "cortex-a15" ) if (ARM_CPU MATCHES "^[cC]ortex-[aA]15([^0-9].*)?$" )
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include")
SET(CORTEXM OFF) SET(CORTEXM OFF)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMv7A) target_compile_definitions(${PROJECTNAME} PRIVATE ARMv7A)
@ -41,7 +41,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-A9 # CORTEX-A9
if (ARM_CPU STREQUAL "cortex-a9" ) if (ARM_CPU MATCHES "^[cC]ortex-[aA]9([^0-9].*)?$" )
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include")
SET(CORTEXM OFF) SET(CORTEXM OFF)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMv7A) target_compile_definitions(${PROJECTNAME} PRIVATE ARMv7A)
@ -54,7 +54,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-A7 # CORTEX-A7
if (ARM_CPU STREQUAL "cortex-a7" ) if (ARM_CPU MATCHES "^[cC]ortex-[aA]7([^0-9].*)?$" )
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include")
SET(CORTEXM OFF) SET(CORTEXM OFF)
@ -68,7 +68,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-A5 # CORTEX-A5
if (ARM_CPU STREQUAL "cortex-a5" ) if (ARM_CPU MATCHES "^[cC]ortex-[aA]5([^0-9].*)?$" )
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core_A/Include")
SET(CORTEXM OFF) SET(CORTEXM OFF)
@ -87,7 +87,7 @@ function(configcore PROJECTNAME ROOT)
# #
# CORTEX-M35 # CORTEX-M35
if (ARM_CPU STREQUAL "cortex-m35") if (ARM_CPU MATCHES "^[cC]ortex-[mM]35([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM35P_DSP_FP) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM35P_DSP_FP)
@ -98,7 +98,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-M33 # CORTEX-M33
if (ARM_CPU STREQUAL "cortex-m33") if (ARM_CPU MATCHES "^[cC]ortex-[mM]33([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM33_DSP_FP) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM33_DSP_FP)
@ -109,7 +109,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-M23 # CORTEX-M23
if (ARM_CPU STREQUAL "cortex-m23") if (ARM_CPU MATCHES "^[cC]ortex-[mM]23([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM23) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM23)
@ -120,7 +120,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-M7 # CORTEX-M7
if (ARM_CPU STREQUAL "cortex-m7") if (ARM_CPU MATCHES "^[cC]ortex-[mM]7([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM7_DP) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM7_DP)
@ -131,7 +131,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-M4 # CORTEX-M4
if (ARM_CPU STREQUAL "cortex-m4") if (ARM_CPU MATCHES "^[cC]ortex-[mM]4([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM4_FP) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM4_FP)
@ -142,7 +142,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-M3 # CORTEX-M3
if (ARM_CPU STREQUAL "cortex-m3") if (ARM_CPU MATCHES "^[cC]ortex-[mM]3([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM3) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM3)
@ -153,7 +153,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-M0plus # CORTEX-M0plus
if (ARM_CPU STREQUAL "cortex-m0p") if (ARM_CPU MATCHES "^[cC]ortex-[mM]0p([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM0P) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM0P)
@ -164,7 +164,7 @@ function(configcore PROJECTNAME ROOT)
endif() endif()
# CORTEX-M0 # CORTEX-M0
if (ARM_CPU STREQUAL "cortex-m0") if (ARM_CPU MATCHES "^[cC]ortex-[mM]0([^0-9].*)?$")
target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include") target_include_directories(${PROJECTNAME} PUBLIC "${ROOT}/CMSIS/Core/Include")
target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM) target_compile_definitions(${PROJECTNAME} PUBLIC CORTEXM)
target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM0) target_compile_definitions(${PROJECTNAME} PRIVATE ARMCM0)

@ -26,7 +26,7 @@ function(set_platform_core)
# #
# Cortex cortex-m7 # Cortex cortex-m7
# #
if (ARM_CPU STREQUAL "cortex-m7") if (ARM_CPU MATCHES "^[cC]ortex-[mM]7([^0-9].*)?$")
SET(CORE ARMCM7 PARENT_SCOPE) SET(CORE ARMCM7 PARENT_SCOPE)
endif() endif()
@ -34,7 +34,7 @@ function(set_platform_core)
# #
# Cortex cortex-m4 # Cortex cortex-m4
# #
if (ARM_CPU STREQUAL "cortex-m4") if (ARM_CPU MATCHES "^[cC]ortex-[mM]4([^0-9].*)?$")
SET(CORE ARMCM4 PARENT_SCOPE) SET(CORE ARMCM4 PARENT_SCOPE)
endif() endif()
@ -42,7 +42,7 @@ function(set_platform_core)
# #
# Cortex cortex-m35p # Cortex cortex-m35p
# #
if (ARM_CPU STREQUAL "cortex-m35") if (ARM_CPU MATCHES "^[cC]ortex-[mM]35([^0-9].*)?$")
SET(CORE ARMCM35P PARENT_SCOPE) SET(CORE ARMCM35P PARENT_SCOPE)
endif() endif()
@ -51,7 +51,7 @@ function(set_platform_core)
# #
# Cortex cortex-m33 # Cortex cortex-m33
# #
if (ARM_CPU STREQUAL "cortex-m33") if (ARM_CPU MATCHES "^[cC]ortex-[mM]33([^0-9].*)?$")
SET(CORE ARMCM33 PARENT_SCOPE) SET(CORE ARMCM33 PARENT_SCOPE)
endif() endif()
@ -60,7 +60,7 @@ function(set_platform_core)
# #
# Cortex cortex-m23 # Cortex cortex-m23
# #
if (ARM_CPU STREQUAL "cortex-m23") if (ARM_CPU MATCHES "^[cC]ortex-[mM]23([^0-9].*)?$")
SET(CORE ARMCM23 PARENT_SCOPE) SET(CORE ARMCM23 PARENT_SCOPE)
endif() endif()
@ -69,7 +69,7 @@ function(set_platform_core)
# #
# Cortex cortex-m0+ # Cortex cortex-m0+
# #
if (ARM_CPU STREQUAL "cortex-m0p") if (ARM_CPU MATCHES "^[cC]ortex-[mM]0p([^0-9].*)?$")
SET(CORE ARMCM0plus PARENT_SCOPE) SET(CORE ARMCM0plus PARENT_SCOPE)
endif() endif()
@ -78,7 +78,7 @@ function(set_platform_core)
# #
# Cortex cortex-m0 # Cortex cortex-m0
# #
if (ARM_CPU STREQUAL "cortex-m0") if (ARM_CPU MATCHES "^[cC]ortex-[mM]0([^0-9].*)?$")
SET(CORE ARMCM0 PARENT_SCOPE) SET(CORE ARMCM0 PARENT_SCOPE)
endif() endif()
@ -87,7 +87,7 @@ function(set_platform_core)
# #
# Cortex cortex-a5 # Cortex cortex-a5
# #
if (ARM_CPU STREQUAL "cortex-a5") if (ARM_CPU MATCHES "^[cC]ortex-[aA]5([^0-9].*)?$")
SET(CORE ARMCA5 PARENT_SCOPE) SET(CORE ARMCA5 PARENT_SCOPE)
endif() endif()
@ -96,7 +96,7 @@ function(set_platform_core)
# #
# Cortex cortex-a7 # Cortex cortex-a7
# #
if (ARM_CPU STREQUAL "cortex-a7") if (ARM_CPU MATCHES "^[cC]ortex-[aA]7([^0-9].*)?$")
SET(CORE ARMCA7 PARENT_SCOPE) SET(CORE ARMCA7 PARENT_SCOPE)
endif() endif()
@ -105,7 +105,7 @@ function(set_platform_core)
# #
# Cortex cortex-a9 # Cortex cortex-a9
# #
if (ARM_CPU STREQUAL "cortex-a9") if (ARM_CPU MATCHES "^[cC]ortex-[aA]9([^0-9].*)?$")
SET(CORE ARMCA9 PARENT_SCOPE) SET(CORE ARMCA9 PARENT_SCOPE)
endif() endif()
@ -114,7 +114,7 @@ function(set_platform_core)
# #
# Cortex cortex-a15 # Cortex cortex-a15
# #
if (ARM_CPU STREQUAL "cortex-a15") if (ARM_CPU MATCHES "^[cC]ortex-[aA]15([^0-9].*)?$")
SET(CORE ARMCA15 PARENT_SCOPE) SET(CORE ARMCA15 PARENT_SCOPE)
endif() endif()
endfunction() endfunction()

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save