diff options
Diffstat (limited to 'DSP/DSP_Lib_TestSuite/runTest.bat')
-rw-r--r-- | DSP/DSP_Lib_TestSuite/runTest.bat | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/DSP/DSP_Lib_TestSuite/runTest.bat b/DSP/DSP_Lib_TestSuite/runTest.bat new file mode 100644 index 0000000..1d8d4b7 --- /dev/null +++ b/DSP/DSP_Lib_TestSuite/runTest.bat @@ -0,0 +1,141 @@ +@echo off + +set UVEXE=C:\Keil_v5\UV4\UV4.EXE + +if .%1==. goto help +for %%a in (ARM GCC ARMCLANG) do if %1==%%a goto checkParam2 +echo parameter %1 not supported. +goto help + +:checkParam2 +if .%2==. goto help +for %%a in ( ^ + cortexM0l ^ + cortexM3l ^ + cortexM4l ^ + cortexM4lf ^ + cortexM7l ^ + cortexM7lfsp ^ + cortexM7lfdp ^ + ARMv8MBLl ^ + ARMv8MMLl ^ + ARMv8MMLlfsp ^ + ARMv8MMLlfdp ^ + ARMv8MMLld ^ + ARMv8MMLldfsp ^ + ARMv8MMLldfdp ^ + ) do if %2==%%a goto checkParam3 +echo parameter %2 not supported. +goto help + +:checkParam3 +if .%3==. goto help +for %%a in (MPS2 FVP Simulator) do if %3==%%a goto CheckLibraries +echo parameter %3 not supported. +goto help + +:CheckLibraries +if %1==ARM goto CheckLibrariesARM +if %1==ARMCLANG goto CheckLibrariesARMCLANG +if %1==GCC goto CheckLibrariesGCC +goto end + +:CheckLibrariesARM +if not exist ".\RefLibs\%1\Lib\arm_%2_ref.lib" (echo ".\RefLibs\%1\Lib\arm_%2_ref.lib" not found. & goto end) +if not exist "..\Lib\%1\arm_%2_math.lib" (echo "..\Lib\%1\arm_%2_ref.lib" not found. & goto end) +goto CopyLibrariesARM + +:CheckLibrariesARMCLANG +if not exist ".\RefLibs\%1\Lib\arm_%2_ref.lib" (echo ".\RefLibs\%1\Lib\arm_%2_ref.lib" not found. & goto end) +if not exist "..\Lib\%1\arm_%2_math.lib" (echo "..\Lib\%1\arm_%2_ref.lib" not found. & goto end) +goto CopyLibrariesARMCLANG + +:CheckLibrariesGCC +if not exist ".\RefLibs\%1\Lib\libarm_%2_ref.a" (echo ".\RefLibs\%1\Lib\libarm_%2_ref.a" not found. & goto end) +if not exist "..\Lib\%1\libarm_%2_math.a" (echo "..\Lib\%1\libarm_%2_math.a" not found. & goto end) +goto CopyLibrariesGCC + +:CopyLibrariesARM +copy /B ".\RefLibs\%1\Lib\arm_%2_ref.lib" .\DspLibTest_%3\%1\Lib\arm_ref.lib /B /Y +copy /B "..\Lib\%1\arm_%2_math.lib" .\DspLibTest_%3\%1\Lib\arm_math.lib /B /Y +goto buildProject + +:CopyLibrariesARMCLANG +copy /B ".\RefLibs\%1\Lib\arm_%2_ref.lib" .\DspLibTest_%3\%1\Lib\arm_ref.lib /B /Y +copy /B "..\Lib\%1\arm_%2_math.lib" .\DspLibTest_%3\%1\Lib\arm_math.lib /B /Y +goto buildProject + +:CopyLibrariesGCC +copy /B ".\RefLibs\%1\Lib\libarm_%2_ref.a" .\DspLibTest_%3\%1\Lib\libarm_ref.a /B /Y +copy /B "..\Lib\%1\libarm_%2_math.a" .\DspLibTest_%3\%1\Lib\libarm_math.a /B /Y +goto buildProject + +:buildProject + echo Build Test Project ... +%UVEXE% -r -j0 .\DspLibTest_%3\%1\DspLibTest_%3.uvprojx -t "%2" -o ".\Logs\DspLibTest_%3_%2_build.log" + + echo Run Test ... +del /Q ".\DspLibTest_%3\%1\Logs\DspLibTest_%3.log" 2>NUL +del /Q ".\DspLibTest_%3\%1\Logs\DspLibTest_%3_%2.log" 2>NUL + +rem get start time (The format of %TIME% is HH:MM:SS,CS for example 23:59:59,99) +set STARTTIME=%TIME% + +rem run the test +%UVEXE% -d .\DspLibTest_%3\%1\DspLibTest_%3.uvprojx -t "%2" + +rem get end time +set ENDTIME=%TIME% + +rem calculate duration +rem Change formatting for the start and end times +for /F "tokens=1-4 delims=:.," %%a in ("%STARTTIME%") do ( + set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100" +) + +for /F "tokens=1-4 delims=:.," %%a in ("%ENDTIME%") do ( + set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100" +) + +rem Test midnight rollover. If so, add 1 day=8640000 1/100ths secs +if %end% lss %start% set /a end+=8640000 + +rem Calculate the elapsed time by subtracting values +set /A elapsed=end-start + +rem Format the results for output +set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100 +if %hh% lss 10 set hh=0%hh% +if %mm% lss 10 set mm=0%mm% +if %ss% lss 10 set ss=0%ss% +if %cc% lss 10 set cc=0%cc% + +set DURATION=%hh%:%mm%:%ss%,%cc% + +rem write time to file +echo Test %1 %2 : > ".\DspLibTest_%3\%1\Logs\DspLibTest_%3_%2_time.log" +echo Start time: %STARTTIME% >> ".\DspLibTest_%3\%1\Logs\DspLibTest_%3_%2_time.log" +echo End time: %ENDTIME% >> ".\DspLibTest_%3\%1\Logs\DspLibTest_%3_%2_time.log" +echo Duration: %DURATION% >> ".\DspLibTest_%3\%1\Logs\DspLibTest_%3_%2_time.log" + + echo Copy Logfile ... +copy /B ".\DspLibTest_%3\%1\Logs\DspLibTest_%3.log" ".\DspLibTest_%3\%1\Logs\DspLibTest_%3_%2.log" + +goto end + + +:help +echo. +echo Syntax: runTest toolchain core test +echo. +echo toolchain: ARM ^| GCC +echo core: cortexM0l ^| cortexM3l ^| cortexM4l ^| cortexM4lf ^| cortexM7l ^| cortexM7lfsp ^| cortexM7lfdp +echo ARMv8MBLl +echo ARMv8MMLl ^| ARMv8MMLlfsp ^| ARMv8MMLlfdp +echo ARMv8MMLld ^| ARMv8MMLldfsp ^| ARMv8MMLldfdp +echo test: MPS2 ^| FVP ^| Simulator +echo. +echo e.g.: runTest ARM cortexM3l Simulator + +:end +@echo on |