diff options
author | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2021-05-07 16:08:14 +0100 |
---|---|---|
committer | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2021-05-07 17:28:51 +0100 |
commit | f9c19eaa9ab11e4409679fc6d2862c89410493a7 (patch) | |
tree | b791a4c03f1fe986a2ac32593a3dc817ae3f247a /source/use_case/asr | |
parent | 2181d0ac35f30202985a877950c88325ff665f6b (diff) | |
download | ml-embedded-evaluation-kit-f9c19eaa9ab11e4409679fc6d2862c89410493a7.tar.gz |
MLECO-1860: Support for Arm GNU Embedded Toolchain
This patch enables compilation of ML use cases bare-metal applications
using Arm GNU Embedded Toolchain. The GNU toolchain can be used instead
of the Arm Compiler that was already supported.
The GNU toolchain is also set as the default toolchain when building
applications for the MPS3 target.
Note: The version of GNU toolchain must be 10.2.1 or higher.
Change-Id: I5fff242f0f52d2db6c75d292f9fa990df1aec978
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Diffstat (limited to 'source/use_case/asr')
-rw-r--r-- | source/use_case/asr/src/AsrClassifier.cc | 2 | ||||
-rw-r--r-- | source/use_case/asr/src/MainLoop.cc | 2 | ||||
-rw-r--r-- | source/use_case/asr/src/UseCaseHandler.cc | 9 | ||||
-rw-r--r-- | source/use_case/asr/src/Wav2LetterPostprocess.cc | 4 |
4 files changed, 9 insertions, 8 deletions
diff --git a/source/use_case/asr/src/AsrClassifier.cc b/source/use_case/asr/src/AsrClassifier.cc index df26a7f..c18bd88 100644 --- a/source/use_case/asr/src/AsrClassifier.cc +++ b/source/use_case/asr/src/AsrClassifier.cc @@ -91,7 +91,7 @@ bool arm::app::AsrClassifier::GetClassificationResults( printf_err("Output tensor expected to be %dD\n", minTensorDims); return false; } else if (static_cast<uint32_t>(outputTensor->dims->data[outColsIdx]) < topNCount) { - printf_err("Output vectors are smaller than %u\n", topNCount); + printf_err("Output vectors are smaller than %" PRIu32 "\n", topNCount); return false; } else if (static_cast<uint32_t>(outputTensor->dims->data[outColsIdx]) != labels.size()) { printf("Output size doesn't match the labels' size\n"); diff --git a/source/use_case/asr/src/MainLoop.cc b/source/use_case/asr/src/MainLoop.cc index c5a26a4..9950541 100644 --- a/source/use_case/asr/src/MainLoop.cc +++ b/source/use_case/asr/src/MainLoop.cc @@ -208,7 +208,7 @@ static uint32_t GetOutputContextLen(const arm::app::Model& model, const uint32_t /* Check to make sure that the input tensor supports the above * context and inner lengths. */ if (inputRows <= 2 * inputCtxLen || inputRows <= inputInnerLen) { - printf_err("Input rows not compatible with ctx of %u\n", + printf_err("Input rows not compatible with ctx of %" PRIu32 "\n", inputCtxLen); return 0; } diff --git a/source/use_case/asr/src/UseCaseHandler.cc b/source/use_case/asr/src/UseCaseHandler.cc index 7199785..43b17dc 100644 --- a/source/use_case/asr/src/UseCaseHandler.cc +++ b/source/use_case/asr/src/UseCaseHandler.cc @@ -131,7 +131,8 @@ namespace app { /* Audio clip must have enough samples to produce 1 MFCC feature. */ if (audioArrSize < mfccParamsWinLen) { - printf_err("Not enough audio samples, minimum needed is %u\n", mfccParamsWinLen); + printf_err("Not enough audio samples, minimum needed is %" PRIu32 "\n", + mfccParamsWinLen); return false; } @@ -151,7 +152,7 @@ namespace app { str_inf.c_str(), str_inf.size(), dataPsnTxtInfStartX, dataPsnTxtInfStartY, 0); - info("Running inference on audio clip %u => %s\n", currentIndex, + info("Running inference on audio clip %" PRIu32 " => %s\n", currentIndex, get_filename(currentIndex)); size_t inferenceWindowLen = audioParamsWinLen; @@ -237,7 +238,7 @@ namespace app { static bool SetAppCtxClipIdx(ApplicationContext& ctx, uint32_t idx) { if (idx >= NUMBER_OF_FILES) { - printf_err("Invalid idx %u (expected less than %u)\n", + printf_err("Invalid idx %" PRIu32 " (expected less than %u)\n", idx, NUMBER_OF_FILES); return false; } @@ -269,7 +270,7 @@ namespace app { for (const auto & result : results) { std::string infResultStr = audio::asr::DecodeOutput(result.m_resultVec); - info("For timestamp: %f (inference #: %u); label: %s\n", + info("For timestamp: %f (inference #: %" PRIu32 "); label: %s\n", result.m_timeStamp, result.m_inferenceNumber, infResultStr.c_str()); } diff --git a/source/use_case/asr/src/Wav2LetterPostprocess.cc b/source/use_case/asr/src/Wav2LetterPostprocess.cc index 9157a6f..b1bcdc8 100644 --- a/source/use_case/asr/src/Wav2LetterPostprocess.cc +++ b/source/use_case/asr/src/Wav2LetterPostprocess.cc @@ -69,7 +69,7 @@ namespace asr { tensor->dims->data[arm::app::Wav2LetterModel::ms_outputRowsIdx], lastIteration); default: - printf_err("Unsupported axis index: %u\n", axisIdx); + printf_err("Unsupported axis index: %" PRIu32 "\n", axisIdx); } return false; @@ -83,7 +83,7 @@ namespace asr { } if (static_cast<int>(axisIdx) >= tensor->dims->size) { - printf_err("Invalid axis index: %u; Max: %d\n", + printf_err("Invalid axis index: %" PRIu32 "; Max: %d\n", axisIdx, tensor->dims->size); return false; } |