Bläddra i källkod

Improved documentation

Christophe Favergeon 3 år sedan
förälder
incheckning
e0bb1407f7
36 ändrade filer med 299 tillägg och 50 borttagningar
  1. 1 1
      README.md
  2. 9 7
      Source/FilteringFunctions/arm_conv_f32.c
  3. 11 7
      Source/FilteringFunctions/arm_correlate_f32.c
  4. 3 0
      Source/FilteringFunctions/arm_fir_lattice_f32.c
  5. 3 0
      Source/FilteringFunctions/arm_fir_sparse_f32.c
  6. 21 1
      Source/MatrixFunctions/arm_mat_add_f32.c
  7. 17 1
      Source/MatrixFunctions/arm_mat_cmplx_trans_f32.c
  8. 16 1
      Source/MatrixFunctions/arm_mat_inverse_f32.c
  9. 16 1
      Source/MatrixFunctions/arm_mat_scale_f32.c
  10. 21 2
      Source/MatrixFunctions/arm_mat_sub_f32.c
  11. 17 1
      Source/MatrixFunctions/arm_mat_trans_f32.c
  12. 15 2
      Source/TransformFunctions/arm_cfft_radix4_q15.c
  13. 15 2
      Source/TransformFunctions/arm_cfft_radix4_q31.c
  14. 6 2
      Source/TransformFunctions/arm_dct4_f32.c
  15. 7 1
      Source/TransformFunctions/arm_dct4_init_f32.c
  16. 6 1
      Source/TransformFunctions/arm_dct4_init_q15.c
  17. 6 1
      Source/TransformFunctions/arm_dct4_init_q31.c
  18. 7 1
      Source/TransformFunctions/arm_dct4_q15.c
  19. 6 1
      Source/TransformFunctions/arm_dct4_q31.c
  20. 80 0
      Testing/README.md
  21. 1 1
      Testing/cmsis_build/buildsolution.sh
  22. 1 1
      Testing/cmsis_build/test.Release+FVP_A5Neon.cprj
  23. 1 1
      Testing/cmsis_build/test.Release+FVP_A7Neon.cprj
  24. 1 1
      Testing/cmsis_build/test.Release+FVP_A9Neon.cprj
  25. 1 1
      Testing/cmsis_build/test.Release+FVP_M55.cprj
  26. 1 1
      Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj
  27. 1 1
      Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj
  28. 1 1
      Testing/cmsis_build/test.Release+VHT_M0P.cprj
  29. 1 1
      Testing/cmsis_build/test.Release+VHT_M23.cprj
  30. 1 1
      Testing/cmsis_build/test.Release+VHT_M3.cprj
  31. 1 1
      Testing/cmsis_build/test.Release+VHT_M33.cprj
  32. 1 1
      Testing/cmsis_build/test.Release+VHT_M4.cprj
  33. 1 1
      Testing/cmsis_build/test.Release+VHT_M7.cprj
  34. 1 1
      Testing/cmsis_build/test.csolution_ac6.yml
  35. 1 1
      Testing/cmsis_build/test.csolution_gcc.yml
  36. 1 2
      Testing/cmsis_build/test_packlist.txt

+ 1 - 1
README.md

@@ -154,7 +154,7 @@ project (testcmsisdsp VERSION 0.1)
 add_subdirectory(${CMSISDSP}/Source bin_dsp)
 ```
 
-CMSIS-DSP is dependent on the CMSIS Core includes. So, you should define `CMSISCORE` on the cmake command line. The path used will be `${CMSISCORE}/Include`.
+CMSIS-DSP is dependent on the CMSIS Core includes. So, you should define `CMSISCORE` on the cmake command line. The path used by CMSIS-DSP will be `${CMSISCORE}/Include`.
 
 You should also set the compilation options to use to build the library.
 

+ 9 - 7
Source/FilteringFunctions/arm_conv_f32.c

@@ -43,12 +43,14 @@
  @par            Algorithm
                    Let <code>a[n]</code> and <code>b[n]</code> be sequences of length <code>srcALen</code> and
                    <code>srcBLen</code> samples respectively. Then the convolution
-  <pre>
-     c[n] = a[n] * b[n]
-  </pre>
+                   \f[
+                      c[n] = a[n] * b[n]
+                   \f]
   @par
                    is defined as
-                   \image html ConvolutionEquation.gif
+                   \f[
+                   c[n] = \sum_{k=0}^{srcALen} a[k] b[n-k]
+                   \f]
   @par
                    Note that <code>c[n]</code> is of length <code>srcALen + srcBLen - 1</code> and is defined over the interval <code>n=0, 1, 2, ..., srcALen + srcBLen - 2</code>.
                    <code>pSrcA</code> points to the first input vector of length <code>srcALen</code> and
@@ -60,9 +62,9 @@
                    For each offset \c n, the overlapping portions of a[n] and b[n] are multiplied and summed together.
   @par
                    Note that convolution is a commutative operation:
-  <pre>
-     a[n] * b[n] = b[n] * a[n].
-  </pre>
+                   \f[
+                      a[n] * b[n] = b[n] * a[n].
+                   \f]
   @par
                    This means that switching the A and B arguments to the convolution functions has no effect.
 

+ 11 - 7
Source/FilteringFunctions/arm_correlate_f32.c

@@ -46,16 +46,20 @@
   @par           Algorithm
                    Let <code>a[n]</code> and <code>b[n]</code> be sequences of length <code>srcALen</code> and <code>srcBLen</code> samples respectively.
                    The convolution of the two signals is denoted by
-  <pre>
-      c[n] = a[n] * b[n]
-  </pre>
+                   \f[
+                   c[n] = a[n] * b[n]
+                   \f]
+
                    In correlation, one of the signals is flipped in time
-  <pre>
-       c[n] = a[n] * b[-n]
-  </pre>
+ 
+                   \f[
+                   c[n] = a[n] * b[-n]
+                   \f]
   @par
                    and this is mathematically defined as
-                   \image html CorrelateEquation.gif
+                   \f[
+                   c[n] = \sum_{k=0}^{srcALen} a[k] b[k-n]
+                   \f]
   @par
                    The <code>pSrcA</code> points to the first input vector of length <code>srcALen</code> and <code>pSrcB</code> points to the second input vector of length <code>srcBLen</code>.
                    The result <code>c[n]</code> is of length <code>2 * max(srcALen, srcBLen) - 1</code> and is defined over the interval <code>n=0, 1, 2, ..., (2 * max(srcALen, srcBLen) - 2)</code>.

+ 3 - 0
Source/FilteringFunctions/arm_fir_lattice_f32.c

@@ -35,6 +35,9 @@
 /**
   @defgroup FIR_Lattice Finite Impulse Response (FIR) Lattice Filters
 
+  @deprecated Those functions are no more tested nor maintained and will be removed in
+              a future version.
+              
   This set of functions implements Finite Impulse Response (FIR) lattice filters
   for Q15, Q31 and floating-point data types.  Lattice filters are used in a
   variety of adaptive filter applications. The filter structure is feedforward and

+ 3 - 0
Source/FilteringFunctions/arm_fir_sparse_f32.c

@@ -35,6 +35,9 @@
 /**
   @defgroup FIR_Sparse Finite Impulse Response (FIR) Sparse Filters
 
+  @deprecated Those functions are no more tested nor maintained and will be removed in
+              a future version.
+
   This group of functions implements sparse FIR filters.
   Sparse FIR filters are equivalent to standard FIR filters except that most of the coefficients are equal to zero.
   Sparse filters are used for simulating reflections in communications and audio applications.

+ 21 - 1
Source/MatrixFunctions/arm_mat_add_f32.c

@@ -36,7 +36,27 @@
   @defgroup MatrixAdd Matrix Addition
 
   Adds two matrices.
-  \image html MatrixAddition.gif "Addition of two 3 x 3 matrices"
+  @par Addition of two 3 x 3 matrices
+
+  \f[
+  \begin{pmatrix}
+   a_{1,1} & a_{1,2} & a_{1,3} \\
+   a_{2,1} & a_{2,2} & a_{2,3} \\
+   a_{3,1} & a_{3,2} & a_{3,3} \\
+  \end{pmatrix}
+  +
+  \begin{pmatrix}
+   b_{1,1} & b_{1,2} & b_{1,3} \\
+   b_{2,1} & b_{2,2} & b_{2,3} \\
+   b_{3,1} & b_{3,2} & b_{3,3} \\
+  \end{pmatrix}
+  =
+  \begin{pmatrix}
+   a_{1,1}+b_{1,1} & a_{1,2}+b_{1,2} & a_{1,3}+b_{1,3} \\
+   a_{2,1}+b_{2,1} & a_{2,2}+b_{2,2} & a_{2,3}+b_{2,3} \\
+   a_{3,1}+b_{3,1} & a_{3,2}+b_{3,2} & a_{3,3}+b_{3,3} \\
+  \end{pmatrix}
+  \f]
 
   The functions check to make sure that
   <code>pSrcA</code>, <code>pSrcB</code>, and <code>pDst</code> have the same

+ 17 - 1
Source/MatrixFunctions/arm_mat_cmplx_trans_f32.c

@@ -38,7 +38,23 @@
   Tranposes a complex matrix.
 
   Transposing an <code>M x N</code> matrix flips it around the center diagonal and results in an <code>N x M</code> matrix.
-  \image html MatrixTranspose.gif "Transpose of a 3 x 3 matrix"
+ 
+  @par Transpose of a 3 x 3 matrix
+  
+  \f[
+  \begin{pmatrix}
+   a_{1,1} & a_{1,2} & a_{1,3} \\
+   a_{2,1} & a_{2,2} & a_{2,3} \\
+   a_{3,1} & a_{3,2} & a_{3,3} \\
+  \end{pmatrix}^T
+   =
+  \begin{pmatrix}
+   a_{1,1} & a_{2,1} & a_{3,1} \\
+   a_{1,2} & a_{2,2} & a_{3,2} \\
+   a_{1,3} & a_{2,3} & a_{3,3} \\
+  \end{pmatrix}
+  \f]
+
  */
 
 /**

+ 16 - 1
Source/MatrixFunctions/arm_mat_inverse_f32.c

@@ -52,7 +52,22 @@
   of elementary row-operations to an identity matrix yields the inverse matrix.
   If the input matrix is singular, then the algorithm terminates and returns error status
   <code>ARM_MATH_SINGULAR</code>.
-  \image html MatrixInverse.gif "Matrix Inverse of a 3 x 3 matrix using Gauss-Jordan Method"
+ 
+  @par Matrix Inverse of a 3 x 3 matrix using Gauss-Jordan Method 
+
+  \f[
+  \begin{pmatrix}
+   a_{1,1} & a_{1,2} & a_{1,3} & | & 1 & 0 & 0\\
+   a_{2,1} & a_{2,2} & a_{2,3} & | & 0 & 1 & 0\\
+   a_{3,1} & a_{3,2} & a_{3,3} & | & 0 & 0 & 1\\
+  \end{pmatrix}
+  \rightarrow
+  \begin{pmatrix}
+   1 & 0 & 0 & | & x_{1,1} & x_{2,1} & x_{3,1} \\
+   0 & 1 & 0 & | & x_{1,2} & x_{2,2} & x_{3,2} \\
+   0 & 0 & 1 & | & x_{1,3} & x_{2,3} & x_{3,3} \\
+  \end{pmatrix}
+  \f]
  */
 
 /**

+ 16 - 1
Source/MatrixFunctions/arm_mat_scale_f32.c

@@ -37,7 +37,22 @@
 
   Multiplies a matrix by a scalar.  This is accomplished by multiplying each element in the
   matrix by the scalar.  For example:
-  \image html MatrixScale.gif "Matrix Scaling of a 3 x 3 matrix"
+
+  @par Matrix Scaling of a 3 x 3 matrix 
+
+  \f[
+  \begin{pmatrix}
+  a_{1,1} & a_{1,2} & a_{1,3} \\
+  a_{2,1} & a_{2,2} & a_{2,3} \\
+  a_{3,1} & a_{3,2} & a_{3,3} \\
+  \end{pmatrix}
+  * K = 
+  \begin{pmatrix}
+   K a_{1,1} & K a_{1,2} & K a_{1,3} \\
+   K a_{2,1} & K a_{2,2} & K a_{2,3} \\
+   K a_{3,1} & K a_{3,2} & K a_{3,3} \\
+  \end{pmatrix}
+  \f]
 
   The function checks to make sure that the input and output matrices are of the same size.
 

+ 21 - 2
Source/MatrixFunctions/arm_mat_sub_f32.c

@@ -36,8 +36,27 @@
   @defgroup MatrixSub Matrix Subtraction
 
   Subtract two matrices.
-  \image html MatrixSubtraction.gif "Subraction of two 3 x 3 matrices"
-
+  @par Subraction of two 3 x 3 matrices
+  
+  \f[
+  \begin{pmatrix}
+   a_{1,1} & a_{1,2} & a_{1,3} \\
+   a_{2,1} & a_{2,2} & a_{2,3} \\
+   a_{3,1} & a_{3,2} & a_{3,3} \\
+  \end{pmatrix}
+  -
+  \begin{pmatrix}
+   b_{1,1} & b_{1,2} & b_{1,3} \\
+   b_{2,1} & b_{2,2} & b_{2,3} \\
+   b_{3,1} & b_{3,2} & b_{3,3} \\
+  \end{pmatrix}
+  =
+  \begin{pmatrix}
+   a_{1,1}-b_{1,1} & a_{1,2}-b_{1,2} & a_{1,3}-b_{1,3} \\
+   a_{2,1}-b_{2,1} & a_{2,2}-b_{2,2} & a_{2,3}-b_{2,3} \\
+   a_{3,1}-b_{3,1} & a_{3,2}-b_{3,2} & a_{3,3}-b_{3,3} \\
+  \end{pmatrix}
+  \f]
   The functions check to make sure that
   <code>pSrcA</code>, <code>pSrcB</code>, and <code>pDst</code> have the same
   number of rows and columns.

+ 17 - 1
Source/MatrixFunctions/arm_mat_trans_f32.c

@@ -38,7 +38,23 @@
   Tranposes a matrix.
 
   Transposing an <code>M x N</code> matrix flips it around the center diagonal and results in an <code>N x M</code> matrix.
-  \image html MatrixTranspose.gif "Transpose of a 3 x 3 matrix"
+
+  @par Transpose of a 3 x 3 matrix
+  
+  \f[
+  \begin{pmatrix}
+   a_{1,1} & a_{1,2} & a_{1,3} \\
+   a_{2,1} & a_{2,2} & a_{2,3} \\
+   a_{3,1} & a_{3,2} & a_{3,3} \\
+  \end{pmatrix}^T
+   =
+  \begin{pmatrix}
+   a_{1,1} & a_{2,1} & a_{3,1} \\
+   a_{1,2} & a_{2,2} & a_{3,2} \\
+   a_{1,3} & a_{2,3} & a_{3,3} \\
+  \end{pmatrix}
+  \f]
+  
  */
 
 /**

+ 15 - 2
Source/TransformFunctions/arm_cfft_radix4_q15.c

@@ -70,8 +70,21 @@ void arm_bitreversal_q15(
                  Hence the output format is different for different FFT sizes.
                  The input and output formats for different FFT sizes and number of bits to upscale are mentioned in the tables below for CFFT and CIFFT:
   @par
-                 \image html CFFTQ15.gif "Input and Output Formats for Q15 CFFT"
-                 \image html CIFFTQ15.gif "Input and Output Formats for Q15 CIFFT"
+                
+| CFFT Size | Input format  | Output format | Number of bits to upscale |
+| --------: | ------------: | ------------: | ------------------------: |
+| 16        | 1.15          | 5.11          | 4                         |
+| 64        | 1.15          | 7.9           | 6                         |
+| 256       | 1.15          | 9.7           | 8                         |
+| 1024      | 1.15          | 11.5          | 10                        |
+
+| CIFFT Size | Input format  | Output format | Number of bits to upscale |
+| ---------: | ------------: | ------------: | ------------------------: |
+| 16         | 1.15          | 5.11          | 0                         |
+| 64         | 1.15          | 7.9           | 0                         |
+| 256        | 1.15          | 9.7           | 0                         |
+| 1024       | 1.15          | 11.5          | 0                         |
+
  */
 
 void arm_cfft_radix4_q15(

+ 15 - 2
Source/TransformFunctions/arm_cfft_radix4_q31.c

@@ -68,8 +68,21 @@ void arm_bitreversal_q31(
                  Hence the output format is different for different FFT sizes.
                  The input and output formats for different FFT sizes and number of bits to upscale are mentioned in the tables below for CFFT and CIFFT:
   @par
-                 \image html CFFTQ31.gif "Input and Output Formats for Q31 CFFT"
-                 \image html CIFFTQ31.gif "Input and Output Formats for Q31 CIFFT"
+
+| CFFT Size | Input format  | Output format | Number of bits to upscale |
+| --------: | ------------: | ------------: | ------------------------: |
+| 16        | 1.31          | 5.27          | 4                         |
+| 64        | 1.31          | 7.25          | 6                         |
+| 256       | 1.31          | 9.23          | 8                         |
+| 1024      | 1.31          | 11.21         | 10                        |
+
+| CIFFT Size | Input format  | Output format | Number of bits to upscale |
+| ---------: | ------------: | ------------: | ------------------------: |
+| 16         | 1.31          | 5.27          | 0                         |
+| 64         | 1.31          | 7.25          | 0                         |
+| 256        | 1.31          | 9.23          | 0                         |
+| 1024       | 1.31          | 11.21         | 0                         |
+
  */
 
 void arm_cfft_radix4_q31(

+ 6 - 2
Source/TransformFunctions/arm_dct4_f32.c

@@ -60,11 +60,15 @@
  
   @par           Algorithm
                    The N-point type-IV DCT is defined as a real, linear transformation by the formula:
-                   \image html DCT4Equation.gif
+                   \f[
+                   X_c(k) = \sqrt{\frac{2}{N}}\sum_{n=0}^{N-1} x(n)cos\Big[\Big(n+\frac{1}{2}\Big)\Big(k+\frac{1}{2}\Big)\frac{\pi}{N}\Big]
+                   \f]
                    where <code>k = 0, 1, 2, ..., N-1</code>
   @par
                    Its inverse is defined as follows:
-                   \image html IDCT4Equation.gif
+                   \f[
+                   x(n) = \sqrt{\frac{2}{N}}\sum_{k=0}^{N-1} X_c(k)cos\Big[\Big(n+\frac{1}{2}\Big)\Big(k+\frac{1}{2}\Big)\frac{\pi}{N}\Big]
+                   \f]
                    where <code>n = 0, 1, 2, ..., N-1</code>
   @par
                    The DCT4 matrices become involutory (i.e. they are self-inverse) by multiplying with an overall scale factor of sqrt(2/N).

+ 7 - 1
Source/TransformFunctions/arm_dct4_init_f32.c

@@ -54,7 +54,13 @@
                    The normalizing factor is <code>sqrt(2/N)</code>, which depends on the size of transform <code>N</code>.
                    Floating-point normalizing factors are mentioned in the table below for different DCT sizes:
 
-                   \image html dct4NormalizingF32Table.gif
+ 
+| DCT Size  | Normalizing factor value  | 
+| --------: | ------------------------: | 
+| 2048      | 0.03125                   | 
+| 512       | 0.0625                    | 
+| 128       | 0.125                     | 
+
  */
 
 arm_status arm_dct4_init_f32(

+ 6 - 1
Source/TransformFunctions/arm_dct4_init_q15.c

@@ -54,7 +54,12 @@
                    The normalizing factor is <code>sqrt(2/N)</code>, which depends on the size of transform <code>N</code>.
                    Normalizing factors in 1.15 format are mentioned in the table below for different DCT sizes:
 
-                   \image html dct4NormalizingQ15Table.gif
+| DCT Size  | Normalizing factor value (hexadecimal)  | 
+| --------: | ---------------------------------------:| 
+| 2048      | 0x400                                   | 
+| 512       | 0x800                                   | 
+| 128       | 0x1000                                  | 
+
  */
 
 arm_status arm_dct4_init_q15(

+ 6 - 1
Source/TransformFunctions/arm_dct4_init_q31.c

@@ -53,8 +53,13 @@
   @par           Normalizing factor:
                    The normalizing factor is <code>sqrt(2/N)</code>, which depends on the size of transform <code>N</code>.
                    Normalizing factors in 1.31 format are mentioned in the table below for different DCT sizes:
+ 
+| DCT Size  | Normalizing factor value (hexadecimal)  | 
+| --------: | ---------------------------------------:| 
+| 2048      | 0x4000000                               | 
+| 512       | 0x8000000                               | 
+| 128       | 0x10000000                              | 
 
-                   \image html dct4NormalizingQ31Table.gif
  */
 
 arm_status arm_dct4_init_q31(

+ 7 - 1
Source/TransformFunctions/arm_dct4_q15.c

@@ -44,8 +44,14 @@
                    Internally inputs are downscaled in the RFFT process function to avoid overflows.
                    Number of bits downscaled, depends on the size of the transform. The input and output
                    formats for different DCT sizes and number of bits to upscale are mentioned in the table below:
+ 
+| DCT Size  | Input format  | Output format | Number of bits to upscale |
+| --------: | ------------: | ------------: | ------------------------: |
+| 2048      | 1.15          | 11.5          | 10                        |
+| 512       | 1.15          | 9.7           | 8                         |
+| 128       | 1.15          | 7.9           | 6                         |
+
 
-                   \image html dct4FormatsQ15Table.gif
  */
 
 void arm_dct4_q15(

+ 6 - 1
Source/TransformFunctions/arm_dct4_q31.c

@@ -48,7 +48,12 @@
                    The input and output formats for different DCT sizes and number of bits to upscale are
                    mentioned in the table below:
 
-                   \image html dct4FormatsQ31Table.gif
+| DCT Size  | Input format  | Output format | Number of bits to upscale |
+| --------: | ------------: | ------------: | ------------------------: |
+| 2048      | 2.30          | 12.20         | 11                        |
+| 512       | 2.30          | 10.22         | 9                         |
+| 128       | 2.30          | 8.24          | 7                         |
+
  */
 
 void arm_dct4_q31(

+ 80 - 0
Testing/README.md

@@ -2,8 +2,88 @@
 
 This framework is for our own internal use. We decided to release it but, at least in short term, we won't give any help or support about it.
 
+## Summary
+
+Here is a quick summary of how to get started with the framework the first time the repository is cloned. 
+
+First, you must use the same tag than the one for your CMSIS Pack. Otherwise, the cloned source may contain tests for functions which are not yet available in the official pack.
+
+You can also look at the artifact for the commit : it is containing a CMSIS Pack for this commit.
+
+You need `Python 3` and the following Python packages:
+
+```
+pip install pyparsing
+pip install Colorama
+```
+
+Once you have cloned the right version and installed the Python packages, you need to generate some files.
+
+**Generation of all C files needed to build the tests.** 
+
+The commands must be run from Testing folder:
+
+`createDefaultFolder.sh`
+
+`python preprocess.py -f desc.txt`
+
+`python preprocess.py -f desc_f16.txt -o Output_f16.pickle`
+
+`python processTests.py -e`
+
+`python processTests.py -e -f Output_f16.pickle`
+
+**Now the test suite you want to run can be selected:**
+
+`python processTests.py -e BasicTestsF32`
+
+Each time you want to change the test suite to run, you need to execute this function. No need to redo all the previous steps to generate all the missing files.
+
+Note that if the test suite is part of the half float tests, then you'll need to do instead:
+
+`python processTests.py -f Output_f16.pickle -e BasicTestsF16`
+
+**Building the test framework:**
+
+In `Testing\cmsis_build` you can find some scripts:
+
+* `buildsolution.sh` is converting the solution file, using `csolution`,  to generate the `.cprj` files for each target
+* `build.sh` is building all the targets using `cbuild` tool
+
+The CMSIS build tools must be installed and configured. You may need to run the CMSIS build tools setup script before the previous steps:
+
+`source /cmsistools/etc/setup`
+
+and you may need to add the path to the `csolution` tool:
+
+`export PATH=$PATH:/cmsistools/bin/linux64`
+
+(If you are on Windows, use the `bin/windows64` folder)
+
+You may need to initialize the pack repository and install the needed packs:
+
+`cpackget init`
+
+`cpackget add -f test_packlist.txt`
+
+The `test_packlist.txt` is in the `Testing\cmsis_build` folder.
+
+**You can then run the executable on Virtual Hardware.** 
+
+For instance, to run the test on the virtual hardware for Corstone 300, if you have the Arm MDK installed on Windows :
+
+`C:\Keil_v5\ARM\FVP\MPS2_Cortex-M\FVP_MPS2_Cortex-M55_MDK.exe ^
+   -f configs/ARM_VHT_MPS2_M55_config.txt ^
+   Objects\test.Release+FVP_M55.axf > results.txt`
+
+**Parsing the results:**
+
+`python processResult.py -f Output.pickle -e -r result.txt`
+
 ## REQUIREMENTS
 
+Requirements for the test framework. 
+
 ### Test descriptions
 
 #### R1 : The tests shall be described in a file

+ 1 - 1
Testing/cmsis_build/buildsolution.sh

@@ -1,3 +1,3 @@
 csolution convert -s test.csolution_ac6.yml
 
-#csolution convert -s test.csolution_gcc.yml
+csolution convert -s test.csolution_gcc.yml

+ 1 - 1
Testing/cmsis_build/test.Release+FVP_A5Neon.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+FVP_A7Neon.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+FVP_A9Neon.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+FVP_M55.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT_M0P.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT_M23.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT_M3.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT_M33.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT_M4.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.Release+VHT_M7.cprj

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-07-12T07:48:29" tool="csolution 0.9.6"/>
+  <created timestamp="2022-08-03T05:14:08" tool="csolution 0.9.6"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>

+ 1 - 1
Testing/cmsis_build/test.csolution_ac6.yml

@@ -27,7 +27,7 @@ solution:
       - NORMALFVP
 
   packs:
-    - pack: ARM::CMSIS-DSP@1.10.1
+    - pack: ARM::CMSIS-DSP@1.11.0
     - pack: ARM::CMSIS@5.9.0
     - pack: ARM::V2M_MPS3_SSE_300_BSP@1.3.0
     - pack: ARM::V2M_MPS3_SSE_310_BSP@1.0.0

+ 1 - 1
Testing/cmsis_build/test.csolution_gcc.yml

@@ -22,7 +22,7 @@ solution:
       - NORMALFVP
 
   packs:
-    - pack: ARM::CMSIS-DSP@1.10.1
+    - pack: ARM::CMSIS-DSP@1.11.0
     - pack: ARM::CMSIS@5.9.1
     - pack: ARM::V2M_MPS3_SSE_300_BSP@1.3.0
     - pack: ARM::V2M_MPS3_SSE_310_BSP@1.0.0

+ 1 - 2
Testing/cmsis_build/test_packlist.txt

@@ -1,5 +1,4 @@
-https://github.com/ARM-software/CMSIS-DSP/releases/download/v1.10.1/ARM.CMSIS-DSP.1.10.1.pack
-ARM::CMSIS-DSP@1.10.1
+https://github.com/ARM-software/CMSIS-DSP/releases/download/v1.11.0/ARM.CMSIS-DSP.1.11.0.pack
 ARM::CMSIS@5.9.0
 ARM::V2M_MPS3_SSE_300_BSP@1.3.0
 ARM::V2M_MPS3_SSE_310_BSP@1.0.0