CMSIS-DSP: Test framework improvement

Added gcc support for M55 FVP.
pull/19/head
Christophe Favergeon 6 years ago
parent 11b7758815
commit cb125bba76

@ -29,6 +29,8 @@
#error device not specified! #error device not specified!
#endif #endif
#include <stdio.h>
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
Exception / Interrupt Handler Function Prototype Exception / Interrupt Handler Function Prototype
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
@ -120,6 +122,48 @@ extern const pFunc __VECTOR_TABLE[240];
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif #endif
#define SERIAL_BASE_ADDRESS (0xA8000000ul)
#define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS)
int stdout_putchar(char txchar)
{
SERIAL_DATA = txchar;
return(txchar);
}
int stderr_putchar(char txchar)
{
return stdout_putchar(txchar);
}
__attribute__((constructor(255)))
void platform_init(void)
{
printf("\n_[TEST START]____________________________________________________\n");
}
#define log_str(...) \
do { \
const char *pchSrc = __VA_ARGS__; \
uint_fast16_t hwSize = sizeof(__VA_ARGS__); \
do { \
stdout_putchar(*pchSrc++); \
} while(--hwSize); \
} while(0)
void _exit(int return_code)
{
(void)return_code;
log_str("\n");
log_str("_[TEST COMPLETE]_________________________________________________\n");
log_str("\n\n");
stdout_putchar(4);
while(1);
}
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
@ -153,3 +197,16 @@ void Default_Handler(void)
} }
int _write(int file,
char *ptr,
int len)
{
int i;
(void)file;
for(i=0; i < len;i++)
{
stdout_putchar(*ptr++);
}
return len;
}

@ -141,4 +141,10 @@ In addition to that, ARM_DSP_CONFIG_TABLES must be enabled and finally ARM_FFT_A
This last symbol is required because if no transform functions are included in the build, then by default all flags related to FFT tables are ignored. This last symbol is required because if no transform functions are included in the build, then by default all flags related to FFT tables are ignored.
## Bit Reverse Tables CMSIS DSP
It is a question coming often.
It is now detailed [in this github issue](https://github.com/ARM-software/CMSIS_5/issues/858)
Someone from the community has written a [Python script to help](https://gist.github.com/rosek86/d0d709852fddf36193071d7f61987bae)

@ -82,6 +82,7 @@ option(EMBEDDED "Embedded Mode" ON)
option(FLOAT16TESTS "Float16 tests" OFF) option(FLOAT16TESTS "Float16 tests" OFF)
option(MICROBENCH "Micro benchmarks" OFF) option(MICROBENCH "Micro benchmarks" OFF)
option(EIGEIN "Eigen benchmarks" OFF)
project(Testing) project(Testing)
@ -110,6 +111,8 @@ add_library(FrameworkLib STATIC)
if (BENCHMARK) if (BENCHMARK)
set(STANDARDBENCH ON)
if (MICROBENCH) if (MICROBENCH)
set (MICROSRC set (MICROSRC
Source/Benchmarks/MicroBenchmarksF32.cpp Source/Benchmarks/MicroBenchmarksF32.cpp
@ -117,6 +120,15 @@ if (MICROBENCH)
Source/Benchmarks/MicroBenchmarksQ15.cpp Source/Benchmarks/MicroBenchmarksQ15.cpp
Source/Benchmarks/MicroBenchmarksQ7.cpp Source/Benchmarks/MicroBenchmarksQ7.cpp
) )
set(STANDARDBENCH OFF)
endif()
if (EIGEN)
set (EIGENSRC
${EIGENBENCH}/VectorBenchmarksF32.cpp
)
set(STANDARDBENCH OFF)
endif() endif()
set (NNSRC set (NNSRC
@ -124,7 +136,8 @@ set (NNSRC
Source/Benchmarks/PoolingBench.cpp Source/Benchmarks/PoolingBench.cpp
) )
set(TESTSRC if (STANDARDBENCH)
set(TESTSRC
Source/Benchmarks/BasicMathsBenchmarksF32.cpp Source/Benchmarks/BasicMathsBenchmarksF32.cpp
Source/Benchmarks/BasicMathsBenchmarksQ31.cpp Source/Benchmarks/BasicMathsBenchmarksQ31.cpp
Source/Benchmarks/BasicMathsBenchmarksQ15.cpp Source/Benchmarks/BasicMathsBenchmarksQ15.cpp
@ -166,7 +179,9 @@ set(TESTSRC
Source/Benchmarks/TransformQ31.cpp Source/Benchmarks/TransformQ31.cpp
Source/Benchmarks/TransformQ15.cpp Source/Benchmarks/TransformQ15.cpp
) )
target_include_directories(TestingLib PRIVATE Include/Benchmarks) target_include_directories(TestingLib PRIVATE Include/Benchmarks)
endif()
else() else()
set(NNSRC set(NNSRC
@ -298,6 +313,13 @@ if (BENCHMARK)
if (MICROBENCH) if (MICROBENCH)
target_sources(TestingLib PRIVATE ${MICROSRC}) target_sources(TestingLib PRIVATE ${MICROSRC})
endif() endif()
if (EIGEN)
target_sources(TestingLib PRIVATE ${EIGENSRC})
target_include_directories(TestingLib PUBLIC "${EIGENBENCH}/Include")
target_include_directories(TestingLib PUBLIC "${EIGENDIR}")
endif()
endif() endif()

@ -0,0 +1,42 @@
import os.path
import numpy as np
import itertools
import Tools
# Those patterns are used for tests and benchmarks.
# For tests, there is the need to add tests for saturation
def writeTests(config,format):
NBSAMPLES=256
data1=np.random.randn(NBSAMPLES)
data2=np.random.randn(NBSAMPLES)
data3=np.random.randn(1)
data1 = Tools.normalize(data1)
data2 = Tools.normalize(data2)
# temp for debug of f16
config.writeInput(1, data1)
config.writeInput(2, data2)
ref = data1 + data2
config.writeReference(1, ref)
#nb = Tools.loopnb(format,Tools.TAILONLY)
#nb = Tools.loopnb(format,Tools.BODYONLY)
#nb = Tools.loopnb(format,Tools.BODYANDTAIL)
def generatePatterns():
PATTERNDIR = os.path.join("Patterns","EigenBenchmarks","VectorBenchmarks","VectorBenchmarks")
PARAMDIR = os.path.join("Parameters","EigenBenchmarks","VectorBenchmarks","VectorBenchmarks")
configf32=Tools.Config(PATTERNDIR,PARAMDIR,"f32")
writeTests(configf32,0)
if __name__ == '__main__':
generatePatterns()

@ -0,0 +1,514 @@
W
256
// 0.344260
0x3eb042dd
// 0.216977
0x3e5e2f35
// 0.701575
0x3f339a67
// -0.274448
0xbe8c847d
// -0.153288
0xbe1cf791
// 0.312017
0x3e9fc0bb
// 0.547499
0x3f0c28ea
// 0.231762
0x3e6d5320
// -0.070936
0xbd9146f2
// -0.034421
0xbd0cfcc2
// -0.060913
0xbd797f89
// -0.175888
0xbe341c08
// -0.547832
0xbf0c3ebb
// -0.500285
0xbf0012ae
// 0.145488
0x3e14fab8
// -0.351225
0xbeb3d3c1
// 0.653280
0x3f273d62
// 0.284676
0x3e91c101
// 0.236506
0x3e722ebe
// -0.464373
0xbeedc25d
// -0.218742
0xbe5ffddc
// 0.083309
0x3daa9db3
// -0.054270
0xbd5e4aa7
// 0.045006
0x3d385837
// 0.184335
0x3e3cc262
// -0.335996
0xbeac07b2
// 0.160630
0x3e247c3e
// -0.007457
0xbbf457d5
// -0.289020
0xbe93fa76
// 0.247130
0x3e7d0fb2
// -0.145158
0xbe14a449
// -0.078841
0xbda17793
// -0.220477
0xbe61c4b5
// 0.550158
0x3f0cd72d
// 0.346652
0x3eb17c63
// 0.314947
0x3ea140c9
// 0.326173
0x3ea70019
// -0.330829
0xbea96269
// -0.027217
0xbcdef551
// 0.132792
0x3e07fab9
// -0.092076
0xbdbc923b
// 0.287784
0x3e935872
// 0.107870
0x3ddceabc
// -0.128443
0xbe0386a6
// -0.108622
0xbdde756c
// 0.242993
0x3e78d318
// -0.014099
0xbc66fe88
// 0.145819
0x3e1551a5
// 0.239599
0x3e755980
// -0.502160
0xbf008d8d
// 0.242730
0x3e788e29
// -0.346946
0xbeb1a2db
// 0.212811
0x3e59eb00
// -0.396812
0xbecb2af1
// 0.180991
0x3e3955b2
// -0.096707
0xbdc60e53
// 0.234095
0x3e6fb69e
// 0.057367
0x3d6af937
// 0.289552
0x3e944031
// 0.077712
0x3d9f273f
// 0.002018
0x3b043e60
// 0.245311
0x3e7b32dd
// -0.062176
0xbd7eabbf
// -0.219864
0xbe6123f3
// 0.424673
0x3ed96ebc
// -0.054423
0xbd5eea32
// -0.225940
0xbe675cde
// -0.226669
0xbe681bcc
// 0.620484
0x3f1ed808
// 0.102465
0x3dd1d8f5
// -0.203664
0xbe508d5b
// -0.230087
0xbe6b9bd9
// 0.419972
0x3ed7069d
// 0.312979
0x3ea03ed4
// 0.452894
0x3ee7e1bc
// -0.146499
0xbe1603bc
// 0.408251
0x3ed1064b
// -0.070785
0xbd90f7ea
// 0.251134
0x3e8094b3
// -0.027624
0xbce24b47
// 0.537568
0x3f099e09
// -0.303778
0xbe9b88c3
// -0.605831
0xbf1b17bc
// -0.097511
0xbdc7b3ba
// 0.088898
0x3db61064
// -0.045774
0xbd3b7d71
// 0.169351
0x3e2d6a3f
// -0.072080
0xbd939ec4
// -0.137132
0xbe0c6c5e
// -0.365910
0xbebb589d
// 0.301191
0x3e9a35bc
// -0.315095
0xbea15413
// 0.142340
0x3e11c198
// 0.204251
0x3e51273f
// 0.309885
0x3e9ea945
// 0.177406
0x3e35a9f7
// -0.243355
0xbe793214
// -0.219630
0xbe60e69b
// -0.144933
0xbe14693a
// -0.135644
0xbe0ae650
// -0.055451
0xbd6320a7
// -0.163408
0xbe275463
// 0.620769
0x3f1eeabe
// 0.078984
0x3da1c21b
// -0.155300
0xbe1f06f7
// 0.335820
0x3eabf08c
// -0.189160
0xbe41b318
// 0.415815
0x3ed4e5a4
// -0.366075
0xbebb6e27
// 0.769914
0x3f451917
// -0.390905
0xbec824aa
// -0.021731
0xbcb204e0
// -0.096704
0xbdc60cc2
// -0.303366
0xbe9b52c2
// -0.434682
0xbede8eaf
// -0.262158
0xbe863994
// -0.109278
0xbddfcd29
// -0.172143
0xbe30465d
// 0.183076
0x3e3b7861
// 0.446784
0x3ee4c0d9
// -0.390311
0xbec7d6cc
// -0.008610
0xbc0d0f6c
// 0.358829
0x3eb7b865
// -0.150437
0xbe1a0c19
// 0.368183
0x3ebc826d
// 0.058833
0x3d70fb1e
// 0.367402
0x3ebc1c1b
// -0.257558
0xbe83deb0
// -0.300412
0xbe99cf8f
// 0.140626
0x3e100026
// 0.406396
0x3ed0131a
// -0.076645
0xbd9cf7e4
// -0.362168
0xbeb96e18
// 0.073985
0x3d978584
// 0.463253
0x3eed2f75
// 0.588447
0x3f16a47c
// -0.002093
0xbb092274
// -0.087263
0xbdb2b6d9
// 0.042088
0x3d2c63fb
// -0.220115
0xbe6165cf
// -0.832860
0xbf55364c
// -0.439227
0xbee0e265
// 0.452512
0x3ee7af9c
// -0.001284
0xbaa855e0
// 0.001153
0x3a971527
// -0.213468
0xbe5a975f
// 0.033903
0x3d0addbc
// 0.036001
0x3d137626
// 0.141799
0x3e1133de
// 0.139228
0x3e0e91bd
// 0.121263
0x3df8587b
// -0.086090
0xbdb0500a
// 0.111177
0x3de3b0e9
// -0.398697
0xbecc2201
// -0.846493
0xbf58b3c0
// -0.394283
0xbec9df82
// 0.254980
0x3e828cb7
// 0.332764
0x3eaa6015
// 0.095733
0x3dc40f9c
// 0.354296
0x3eb56640
// 0.232592
0x3e6e2c85
// 0.020795
0x3caa5b34
// 0.005664
0x3bb99509
// 0.015387
0x3c7c18df
// -0.140506
0xbe0fe0ad
// -0.085201
0xbdae7dce
// 0.730542
0x3f3b04ce
// -0.475549
0xbef37b28
// 0.405000
0x3ecf5c38
// 0.477968
0x3ef4b833
// 0.071743
0x3d92ee3a
// 0.190427
0x3e42ff3a
// -0.199604
0xbe4c64fa
// -0.155970
0xbe1fb69c
// -0.526183
0xbf06b3f2
// -0.221521
0xbe62d65e
// -0.234103
0xbe6fb8c5
// -0.283123
0xbe90f57a
// -0.210075
0xbe571df6
// -0.261336
0xbe85cdd6
// 0.248029
0x3e7dfb6d
// 0.599670
0x3f1983f4
// 0.220368
0x3e61a82c
// 0.160053
0x3e23e4eb
// 0.146403
0x3e15ea92
// -0.306386
0xbe9cde9e
// 0.117957
0x3df19337
// -0.225993
0xbe676aad
// -0.242947
0xbe78c71b
// 0.235351
0x3e70ffdc
// 0.411999
0x3ed2f17b
// -0.142671
0xbe121855
// -0.580421
0xbf14967c
// 0.141241
0x3e10a171
// -0.338249
0xbead2f03
// -0.394875
0xbeca2d05
// -0.095196
0xbdc2f632
// -0.026498
0xbcd911c7
// 0.321753
0x3ea4bccd
// -0.282863
0xbe90d364
// 0.060947
0x3d79a3a7
// 0.337503
0x3eaccd21
// -0.469463
0xbef05d6e
// -0.315035
0xbea14c39
// 1.000000
0x3f800000
// -0.337499
0xbeacccbb
// -0.172702
0xbe30d8b2
// -0.442753
0xbee2b093
// -0.102026
0xbdd0f324
// -0.239829
0xbe75959d
// -0.268321
0xbe896153
// 0.302641
0x3e9af3ca
// -0.255109
0xbe829d95
// 0.069925
0x3d8f34aa
// 0.067365
0x3d89f6b8
// 0.233870
0x3e6f7b8b
// -0.073808
0xbd9728c6
// 0.641234
0x3f2427e4
// 0.391305
0x3ec85913
// -0.079334
0xbda279ff
// -0.015431
0xbc7cd24a
// 0.215485
0x3e5ca82f
// -0.291121
0xbe950dd8
// 0.966270
0x3f775d7c
// -0.189661
0xbe423693
// -0.469764
0xbef084f1
// -0.137391
0xbe0cb04b
// 0.111061
0x3de373e1
// -0.066381
0xbd87f286
// 0.127807
0x3e02dfe7
// -0.185434
0xbe3de26f
// 0.075527
0x3d9aadaf
// 0.015394
0x3c7c38de
// 0.517599
0x3f048161
// 0.649067
0x3f26293d
// 0.103351
0x3dd3a9f3
// -0.280768
0xbe8fc0cd
// 0.602634
0x3f1a4637
// -0.543623
0xbf0b2ae5
// -0.248191
0xbe7e25ca
// 0.200799
0x3e4d9e33
// -0.383915
0xbec4907b
// 0.091922
0x3dbc4196
// -0.157264
0xbe2109c9
// 0.079701
0x3da33a39
// 0.352660
0x3eb48fe3
// 0.424658
0x3ed96cb6
// 0.227121
0x3e689258
// 0.243494
0x3e79569c
// -0.111648
0xbde4a7a0
// 0.010129
0x3c25f526
// 0.006690
0x3bdb3638
// -0.071187
0xbd91ca79
// 0.561726
0x3f0fcd3f
// -0.272001
0xbe8b43b0
// -0.370929
0xbebdea71

@ -0,0 +1,514 @@
W
256
// -0.608883
0xbf1bdfca
// -0.182389
0xbe3ac427
// -0.526289
0xbf06bae3
// -0.357412
0xbeb6fec3
// -0.421216
0xbed7a9a0
// 0.035615
0x3d11e18c
// -0.144657
0xbe1420ff
// -0.254592
0xbe8259d1
// -0.079110
0xbda204a8
// -0.370365
0xbebda074
// 0.081252
0x3da66794
// -0.065525
0xbd8631cc
// -0.254482
0xbe824b7d
// -0.069698
0xbd8ebe10
// 0.474519
0x3ef2f425
// 0.063953
0x3d82f996
// 0.282007
0x3e906343
// 0.438598
0x3ee08fed
// -0.289484
0xbe943743
// -0.016971
0xbc8b0633
// -0.668683
0xbf2b2ecc
// 0.163997
0x3e27eed3
// 0.323271
0x3ea583ca
// -0.121527
0xbdf8e32f
// -0.402560
0xbece1c5e
// -0.037856
0xbd1b0f08
// 0.113986
0x3de97166
// -0.069150
0xbd8d9eae
// -0.280926
0xbe8fd598
// 0.220136
0x3e616b63
// -0.827154
0xbf53c05f
// 0.521275
0x3f057243
// -1.000000
0xbf800000
// -0.299488
0xbe995682
// 0.503483
0x3f00e43c
// 0.538171
0x3f09c597
// -0.069818
0xbd8efcf2
// 0.345872
0x3eb1161b
// -0.041450
0xbd29c71f
// -0.410932
0xbed265b3
// -0.743161
0xbf3e3fd4
// 0.941343
0x3f70fbdf
// -0.076698
0xbd9d13c2
// 0.356589
0x3eb692e1
// -0.040338
0xbd2538f2
// 0.233907
0x3e6f8532
// 0.428952
0x3edb9f8e
// 0.043308
0x3d316376
// 0.390221
0x3ec7cafb
// 0.438043
0x3ee04721
// -0.158814
0xbe22a038
// 0.051356
0x3d525ad1
// 0.329910
0x3ea8e9fd
// -0.181693
0xbe3a0db8
// 0.777608
0x3f471155
// -0.510156
0xbf029990
// 0.357730
0x3eb7286a
// 0.052386
0x3d569276
// 0.156348
0x3e201997
// 0.072619
0x3d94b937
// 0.216307
0x3e5d7f8b
// -0.680470
0xbf2e3350
// -0.013208
0xbc58684f
// 0.658505
0x3f2893c9
// 0.037227
0x3d187b44
// -0.083704
0xbdab6cd9
// 0.065769
0x3d86b1c0
// 0.216670
0x3e5dded2
// 0.276278
0x3e8d7446
// -0.047467
0xbd426ce3
// -0.168162
0xbe2c32a4
// 0.033429
0x3d08ecae
// 0.346382
0x3eb15909
// -0.078748
0xbda14679
// -0.404817
0xbecf441f
// -0.090564
0xbdb97992
// -0.044906
0xbd37eedf
// 0.498744
0x3eff5b56
// 0.041723
0x3d2ae5dd
// -0.850726
0xbf59c935
// 0.170360
0x3e2e72cc
// 0.375967
0x3ec07ebb
// 0.114046
0x3de990f9
// 0.416028
0x3ed5018f
// 0.214924
0x3e5c150e
// 0.219644
0x3e60ea4a
// 0.116906
0x3def6c3f
// -0.207159
0xbe54216c
// -0.075714
0xbd9b0ff8
// -0.146192
0xbe15b37c
// 0.074059
0x3d97ac11
// -0.301796
0xbe9a84fd
// -0.489313
0xbefa872c
// 0.002323
0x3b1840e6
// -0.520492
0xbf053efb
// 0.020082
0x3ca482d1
// -0.163455
0xbe2760c7
// 0.294314
0x3e96b046
// 0.256324
0x3e833ced
// -0.452644
0xbee7c0f4
// -0.775722
0xbf4695b4
// 0.078839
0x3da17675
// -0.369170
0xbebd03e0
// 0.226404
0x3e67d655
// 0.050769
0x3d4ff2fd
// -0.204872
0xbe51ca01
// -0.063212
0xbd817531
// 0.746003
0x3f3efa0d
// 0.080537
0x3da4f0a4
// -0.885687
0xbf62bc64
// 0.277304
0x3e8dfad7
// 0.135888
0x3e0b262a
// 0.909442
0x3f68d139
// -0.039330
0xbd21184e
// -0.287226
0xbe930f44
// -0.341751
0xbeaef9f0
// 0.092260
0x3dbcf30c
// 0.034191
0x3d0c0bfc
// 0.056666
0x3d681b0e
// -0.605077
0xbf1ae654
// -0.232184
0xbe6dc1c3
// -0.351488
0xbeb3f64b
// -0.189694
0xbe423f05
// -0.325801
0xbea6cf56
// 0.151875
0x3e1b8510
// -0.209927
0xbe56f700
// -0.129947
0xbe0510f0
// 0.004767
0x3b9c3862
// 0.112359
0x3de61cb8
// -0.647147
0xbf25ab6c
// -0.061236
0xbd7ad30b
// -0.163876
0xbe27cf03
// 0.208468
0x3e5578a0
// 0.359782
0x3eb8355c
// -0.300022
0xbe999c71
// -0.845498
0xbf587297
// -0.057182
0xbd6a37fa
// 0.227689
0x3e692742
// 0.344527
0x3eb065d1
// 0.118523
0x3df2bbfd
// -0.330549
0xbea93db9
// 0.281055
0x3e8fe671
// -0.250464
0xbe803cd7
// -0.170157
0xbe2e3dba
// -0.408447
0xbed11ff4
// -0.007132
0xbbe9b301
// 0.048704
0x3d477d8f
// -0.082620
0xbda934bd
// -0.173176
0xbe31550c
// -0.206236
0xbe532f9d
// -0.220250
0xbe618951
// -0.254806
0xbe8275e5
// 0.350425
0x3eb36ade
// -0.744001
0xbf3e76d9
// 0.182456
0x3e3ad5a9
// -0.744736
0xbf3ea704
// -0.160505
0xbe245b85
// 0.425375
0x3ed9cabb
// -0.243841
0xbe79b18f
// 0.321420
0x3ea49131
// -0.394316
0xbec9e3c0
// 0.284938
0x3e91e35e
// 0.066512
0x3d88373b
// -0.079249
0xbda24d6c
// -0.253727
0xbe81e876
// 0.014094
0x3c66eb01
// -0.145098
0xbe149478
// -0.050092
0xbd4d2d51
// -0.164295
0xbe283cf6
// 0.291247
0x3e951e56
// 0.123316
0x3dfc8cfc
// -0.476307
0xbef3de7f
// -0.034201
0xbd0c15f5
// -0.315061
0xbea14fb1
// -0.817911
0xbf51629b
// 0.045772
0x3d3b7bbb
// 0.104146
0x3dd54abc
// 0.532568
0x3f085665
// 0.127817
0x3e02e286
// -0.214581
0xbe5bbb34
// -0.241791
0xbe779815
// 0.042322
0x3d2d5a59
// 0.562544
0x3f1002e3
// -0.084882
0xbdadd683
// -0.330405
0xbea92ad5
// -0.119527
0xbdf4cac4
// 0.536931
0x3f09744e
// 0.229798
0x3e6b502f
// 0.440562
0x3ee19150
// -0.176197
0xbe346d02
// -0.147654
0xbe173286
// -0.274271
0xbe8c6d30
// -0.052682
0xbd57c8d9
// -0.147147
0xbe16ada8
// 0.178817
0x3e371be1
// 0.131281
0x3e066e92
// 0.243007
0x3e78d6e1
// -0.075271
0xbd9a27d9
// 0.332280
0x3eaa20a4
// -0.103490
0xbdd3f2ca
// 0.176557
0x3e34cb72
// 0.058402
0x3d6f3743
// 0.138308
0x3e0da07b
// -0.273335
0xbe8bf287
// 0.092822
0x3dbe1976
// 0.357487
0x3eb70896
// -0.207439
0xbe546ae1
// 0.436838
0x3edfa937
// 0.559709
0x3f0f4917
// -0.119478
0xbdf4b0f7
// 0.906080
0x3f67f4e1
// -0.099323
0xbdcb69da
// 0.280256
0x3e8f7dbb
// -0.139291
0xbe0ea243
// -0.441371
0xbee1fb64
// 0.091688
0x3dbbc6f0
// 0.143020
0x3e1273f4
// -0.394631
0xbeca0d0d
// 0.509247
0x3f025e01
// -0.226764
0xbe6834e2
// -0.089462
0xbdb737a0
// 0.456388
0x3ee9aba2
// 0.082301
0x3da88d6e
// -0.350518
0xbeb37720
// -0.501817
0xbf007715
// -0.558678
0xbf0f0588
// 0.131853
0x3e070459
// -0.480083
0xbef5cd62
// -0.162002
0xbe25e3c0
// -0.299893
0xbe998b9e
// -0.145527
0xbe1504e9
// 0.058109
0x3d6e0350
// 0.351770
0x3eb41b26
// 0.136681
0x3e0bf615
// -0.024059
0xbcc517db
// 0.396028
0x3ecac421
// 0.311976
0x3e9fbb45
// 0.142975
0x3e12680d
// 0.004849
0x3b9ee433
// 0.164602
0x3e288d4f
// 0.489011
0x3efa5f9d
// 0.319806
0x3ea3bd8e
// -0.243944
0xbe79cc72
// -0.354768
0xbeb5a42c
// -0.660901
0xbf2930cc
// -0.697272
0xbf32806a
// 0.185101
0x3e3d8b01
// -0.586564
0xbf162911
// 0.349033
0x3eb2b46c
// 0.155366
0x3e1f1844
// 0.581884
0x3f14f654
// -0.633862
0xbf2244c6
// 0.332930
0x3eaa75c7
// -0.177721
0xbe35fc62
// -0.236936
0xbe729f49
// -0.120847
0xbdf77ea9

@ -0,0 +1,514 @@
W
256
// -0.264623
0xbe877cb7
// 0.034588
0x3d0dac39
// 0.175286
0x3e337e12
// -0.631861
0xbf21c1a0
// -0.574504
0xbf1312b5
// 0.347633
0x3eb1fced
// 0.402842
0x3ece4154
// -0.022829
0xbcbb0414
// -0.150047
0xbe19a5cd
// -0.404786
0xbecf400c
// 0.020340
0x3ca69f40
// -0.241413
0xbe7734ee
// -0.802314
0xbf4d647a
// -0.569983
0xbf11ea70
// 0.620007
0x3f1eb8c0
// -0.287272
0xbe93155c
// 0.935288
0x3f6f6f03
// 0.723274
0x3f392877
// -0.052978
0xbd58ff1f
// -0.481344
0xbef672c0
// -0.887425
0xbf632e43
// 0.247306
0x3e7d3dad
// 0.269001
0x3e89ba75
// -0.076521
0xbd9cb714
// -0.218225
0xbe5f765a
// -0.373852
0xbebf6993
// 0.274616
0x3e8c9a79
// -0.076607
0xbd9ce42b
// -0.569947
0xbf11e807
// 0.467266
0x3eef3d8b
// -0.972312
0xbf78e971
// 0.442433
0x3ee286a0
// -1.220477
0xbf9c3897
// 0.250670
0x3e8057d8
// 0.850135
0x3f59a26d
// 0.853119
0x3f5a65fc
// 0.256354
0x3e8340dd
// 0.015043
0x3c767621
// -0.068666
0xbd8ca0e4
// -0.278140
0xbe8e6857
// -0.835237
0xbf55d21b
// 1.229127
0x3f9d540c
// 0.031172
0x3cff5be9
// 0.228146
0x3e699f1c
// -0.148960
0xbe1888f3
// 0.476899
0x3ef42c25
// 0.414853
0x3ed4679a
// 0.189127
0x3e41aa83
// 0.629820
0x3f213bde
// -0.064117
0xbd834fe2
// 0.083915
0x3dabdbe1
// -0.295589
0xbe975781
// 0.542721
0x3f0aefbe
// -0.578505
0xbf1418e6
// 0.958599
0x3f7566c1
// -0.606863
0xbf1b5b5a
// 0.591825
0x3f1781dc
// 0.109752
0x3de0c5d7
// 0.445900
0x3ee44cfd
// 0.150330
0x3e19f03b
// 0.218325
0x3e5f9085
// -0.435159
0xbedecd32
// -0.075384
0xbd9a62e9
// 0.438641
0x3ee0959a
// 0.461900
0x3eec7e25
// -0.138126
0xbe0d70f9
// -0.160171
0xbe2403fe
// -0.009998
0xbc23cf9c
// 0.896762
0x3f65922a
// 0.054997
0x3d614507
// -0.371826
0xbebe5fff
// -0.196658
0xbe4960ad
// 0.766355
0x3f442fd3
// 0.234232
0x3e6fda6c
// 0.048077
0x3d44ece4
// -0.237063
0xbe72c085
// 0.363346
0x3eba086f
// 0.427958
0x3edb1d5c
// 0.292858
0x3e95f16f
// -0.878350
0xbf60db8f
// 0.707927
0x3f353abc
// 0.072189
0x3d93d7e0
// -0.491785
0xbefbcb3b
// 0.318517
0x3ea314a0
// 0.303823
0x3e9b8ea0
// 0.173870
0x3e320aee
// 0.286256
0x3e92902f
// -0.279239
0xbe8ef867
// -0.212846
0xbe59f45a
// -0.512103
0xbf03192e
// 0.375250
0x3ec020c0
// -0.616890
0xbf1dec88
// -0.346972
0xbeb1a660
// 0.206574
0x3e538843
// -0.210607
0xbe57a960
// 0.197488
0x3e4a3a51
// -0.406810
0xbed0496d
// 0.074684
0x3d98f3e2
// 0.111392
0x3de42142
// -0.588288
0xbf169a0e
// -0.831173
0xbf54c7be
// -0.084569
0xbdad3250
// 0.251599
0x3e80d19c
// 0.305387
0x3e9c5bb1
// -0.104531
0xbdd61470
// 0.130947
0x3e061716
// -0.252372
0xbe8136d8
// 1.161818
0x3f94b670
// -0.285538
0xbe9231fe
// -0.115773
0xbded1a68
// -0.113600
0xbde8a74d
// 0.114157
0x3de9cb1b
// 0.812738
0x3f500fa0
// -0.342696
0xbeaf75cc
// -0.721908
0xbf38cef9
// -0.603909
0xbf1a99c2
// -0.017018
0xbc8b6877
// -0.137952
0xbe0d435e
// 0.239743
0x3e757f24
// -0.158293
0xbe2217a0
// -0.622495
0xbf1f5bd7
// -0.360098
0xbeb85ec7
// 0.169135
0x3e2d31c5
// -0.476237
0xbef3d562
// 0.520057
0x3f05227b
// -0.151093
0xbe1ab838
// 0.237455
0x3e732746
// -0.252791
0xbe816dce
// -0.188052
0xbe4090c3
// -0.506521
0xbf01ab62
// 0.345159
0x3eb0b8b8
// -0.240520
0xbe764af5
// -0.153700
0xbe1d6390
// 0.433767
0x3ede16bd
// 0.163231
0x3e272607
// -0.257051
0xbe839c36
// -0.059275
0xbd72ca22
// 0.140426
0x3e0fcbd5
// 0.386614
0x3ec5f250
// -0.101592
0xbdd00fa2
// -1.163409
0xbf94ea94
// -0.158172
0xbe21f7e8
// 0.202047
0x3e4ee589
// -0.171442
0xbe2f8e66
// -0.407294
0xbed088df
// -0.220600
0xbe61e4f7
// 0.082607
0x3da92da6
// -0.046619
0xbd3ef353
// -0.031377
0xbd0084ba
// -0.067008
0xbd893bc0
// -0.098988
0xbdcaba28
// -0.340896
0xbeae89e7
// 0.461602
0x3eec5718
// -1.142698
0xbf9243ed
// -0.664037
0xbf29fe56
// -1.139019
0xbf91cb62
// 0.094474
0x3dc17bd2
// 0.758139
0x3f421568
// -0.148109
0xbe17a9c1
// 0.675716
0x3f2cfbb8
// -0.161724
0xbe259afc
// 0.305733
0x3e9c8911
// 0.072175
0x3d93d08c
// -0.063862
0xbd82ca50
// -0.394232
0xbec9d8cc
// -0.071107
0xbd91a06e
// 0.585444
0x3f15dfb0
// -0.525641
0xbf069069
// 0.240705
0x3e767b7b
// 0.769215
0x3f44eb45
// 0.195059
0x3e47bd9b
// -0.285880
0xbe925ee2
// -0.233805
0xbe6f6a78
// -0.471031
0xbef12b00
// -1.344094
0xbfac0b46
// -0.175749
0xbe33f76f
// -0.129957
0xbe051367
// 0.249445
0x3e7f6e9e
// -0.082258
0xbda876e1
// -0.475917
0xbef3ab70
// 0.006238
0x3bcc6af3
// 0.641992
0x3f24599a
// 0.782912
0x3f486cee
// 0.075171
0x3d99f353
// -0.184002
0xbe3c6b19
// -0.425913
0xbeda114f
// 0.654888
0x3f27a6b5
// 0.003805
0x3b796072
// 0.197615
0x3e4a5b86
// 0.059154
0x3d724b68
// 0.264345
0x3e875838
// -0.416941
0xbed5795a
// -0.633103
0xbf22130a
// -0.005906
0xbbc186e8
// -0.159432
0xbe234225
// -0.263594
0xbe86f5bc
// 0.147811
0x3e175bc8
// -0.101769
0xbdd06c4b
// 0.654033
0x3f276eb9
// -0.386353
0xbec5d017
// 0.237504
0x3e73345b
// 0.395905
0x3ecab409
// -0.331155
0xbea98d30
// -0.588369
0xbf169f60
// 1.092822
0x3f8be197
// 0.019988
0x3ca3bdaf
// -0.380141
0xbec2a1ca
// -0.005916
0xbbc1d6e0
// 0.457683
0x3eea5565
// -0.359307
0xbeb7f70c
// 0.637760
0x3f234438
// 0.203318
0x3e5032a6
// 0.025148
0x3cce0261
// -0.069366
0xbd8e0fdb
// -0.374006
0xbebf7db6
// 0.325558
0x3ea6af82
// 0.069212
0x3d8dbf23
// 0.246603
0x3e7c8575
// 0.900551
0x3f668a8b
// -0.306098
0xbe9cb8f1
// -0.104893
0xbdd6d1e9
// 0.671873
0x3f2bffdd
// -0.208820
0xbe55d4f8
// 0.615752
0x3f1da1ec
// -0.691478
0xbf3104ba
// -1.028442
0xbf83a400
// -0.005539
0xbbb57e39
// -0.369022
0xbebcf069
// -0.228382
0xbe69dd03
// -0.172086
0xbe303755
// -0.330961
0xbea973ac
// 0.133635
0x3e08d7ab
// 0.367164
0x3ebbfced
// 0.654280
0x3f277ee6
// 0.625008
0x3f20007e
// 0.499379
0x3effae9e
// 0.031208
0x3cffa780
// 0.745609
0x3f3ee03a
// -0.538774
0xbf09ed1c
// -0.083589
0xbdab30f6
// 0.689810
0x3f30975b
// -0.064109
0xbd834bb8
// -0.152022
0xbe1baba7
// -0.512032
0xbf031488
// -0.581200
0xbf14c985
// -0.344612
0xbeb070f1
// 0.609758
0x3f1c191b
// -0.359443
0xbeb808f6
// 0.592527
0x3f17afdd
// 0.043718
0x3d3311ce
// 0.592013
0x3f178e29
// -0.627172
0xbf208e59
// 0.261743
0x3e860329
// 0.384005
0x3ec49c4d
// -0.508937
0xbf0249aa
// -0.491776
0xbefbca1b

@ -55,6 +55,7 @@ int testmain(const char *patterns)
// by a server running on a host. // by a server running on a host.
#if defined(EMBEDDED) #if defined(EMBEDDED)
Client::IORunner runner(&io,&mgr,Testing::kTestOnly); Client::IORunner runner(&io,&mgr,Testing::kTestOnly);
//Client::IORunner runner(&io,&mgr,Testing::kTestAndDump);
#else #else
// Works also in embedded but slower since data is dumped // Works also in embedded but slower since data is dumped
Client::IORunner runner(&io,&mgr,Testing::kTestAndDump); Client::IORunner runner(&io,&mgr,Testing::kTestAndDump);

@ -39,7 +39,13 @@ function(compilerSpecificCompileOptions PROJECTNAME ROOT)
target_compile_options(${PROJECTNAME} PUBLIC "-mthumb") target_compile_options(${PROJECTNAME} PUBLIC "-mthumb")
endif() endif()
target_link_options(${PROJECTNAME} PUBLIC "-mcpu=${ARM_CPU}")
# Need to add other gcc config for other cortex-m cores # Need to add other gcc config for other cortex-m cores
if (ARM_CPU STREQUAL "cortex-m55" )
target_compile_options(${PROJECTNAME} PUBLIC "-mfpu=fpv5-d16")
target_link_options(${PROJECTNAME} PUBLIC "-mfpu=fpv5-d16")
endif()
if (ARM_CPU STREQUAL "cortex-m33" ) if (ARM_CPU STREQUAL "cortex-m33" )
target_compile_options(${PROJECTNAME} PUBLIC "-mfpu=fpv5-sp-d16") target_compile_options(${PROJECTNAME} PUBLIC "-mfpu=fpv5-sp-d16")

@ -59,6 +59,7 @@ if(IS_IN_TRY_COMPILE)
endif() endif()
add_link_options("-Wl,--start-group") add_link_options("-Wl,--start-group")
#add_link_options("-mcpu=${ARM_CPU}")
# Where is the target environment # Where is the target environment
#SET(CMAKE_FIND_ROOT_PATH "${tools}") #SET(CMAKE_FIND_ROOT_PATH "${tools}")

Loading…
Cancel
Save