Modifications to linker scripts

* Change reference to all ops resolver
* Added our own 'all ops resolver'
* Move Labels objects out of BRAM for simple_platform
* Minor fixes to documentation

Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I8b0d66ce83287f2bc027cfc36a1f378c97755481
diff --git a/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp b/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp
index 96ac28d..67a7c9e 100644
--- a/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp
+++ b/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp
@@ -14,122 +14,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#ifndef INF_RUNNER_MICRO_MUTABLE_ALLOPS_RESOLVER_HPP
-#define INF_RUNNER_MICRO_MUTABLE_ALLOPS_RESOLVER_HPP
+#ifndef INF_RUNNER_MICRO_MUTABLE_ALL_OPS_RESOLVER_HPP
+#define INF_RUNNER_MICRO_MUTABLE_ALL_OPS_RESOLVER_HPP
 
 #include <tensorflow/lite/micro/micro_mutable_op_resolver.h>
 
-constexpr int kNumberOperators = 97;
-
 namespace arm {
 namespace app {
 
-    /* Create our own AllOpsResolver by adding all Ops to MicroMutableOpResolver. */
-    inline tflite::MicroMutableOpResolver<kNumberOperators> CreateAllOpsResolver() {
-        tflite::MicroMutableOpResolver<kNumberOperators> mutableAllOpResolver;
+    /* Maximum number of individual operations that can be enlisted. */
+    constexpr int kNumberOperators = 97;
 
-        mutableAllOpResolver.AddAbs();
-        mutableAllOpResolver.AddAdd();
-        mutableAllOpResolver.AddAddN();
-        mutableAllOpResolver.AddArgMax();
-        mutableAllOpResolver.AddArgMin();
-        mutableAllOpResolver.AddAssignVariable();
-        mutableAllOpResolver.AddAveragePool2D();
-        mutableAllOpResolver.AddBatchToSpaceNd();
-        mutableAllOpResolver.AddBroadcastArgs();
-        mutableAllOpResolver.AddBroadcastTo();
-        mutableAllOpResolver.AddCallOnce();
-        mutableAllOpResolver.AddCast();
-        mutableAllOpResolver.AddCeil();
-        mutableAllOpResolver.AddCircularBuffer();
-        mutableAllOpResolver.AddConcatenation();
-        mutableAllOpResolver.AddConv2D();
-        mutableAllOpResolver.AddCos();
-        mutableAllOpResolver.AddCumSum();
-        mutableAllOpResolver.AddDepthToSpace();
-        mutableAllOpResolver.AddDepthwiseConv2D();
-        mutableAllOpResolver.AddDequantize();
-        mutableAllOpResolver.AddDetectionPostprocess();
-        mutableAllOpResolver.AddDiv();
-        mutableAllOpResolver.AddElu();
-        mutableAllOpResolver.AddEqual();
-        mutableAllOpResolver.AddEthosU();
-        mutableAllOpResolver.AddExp();
-        mutableAllOpResolver.AddExpandDims();
-        mutableAllOpResolver.AddFill();
-        mutableAllOpResolver.AddFloor();
-        mutableAllOpResolver.AddFloorDiv();
-        mutableAllOpResolver.AddFloorMod();
-        mutableAllOpResolver.AddFullyConnected();
-        mutableAllOpResolver.AddGather();
-        mutableAllOpResolver.AddGatherNd();
-        mutableAllOpResolver.AddGreater();
-        mutableAllOpResolver.AddGreaterEqual();
-        mutableAllOpResolver.AddHardSwish();
-        mutableAllOpResolver.AddIf();
-        mutableAllOpResolver.AddL2Normalization();
-        mutableAllOpResolver.AddL2Pool2D();
-        mutableAllOpResolver.AddLeakyRelu();
-        mutableAllOpResolver.AddLess();
-        mutableAllOpResolver.AddLessEqual();
-        mutableAllOpResolver.AddLog();
-        mutableAllOpResolver.AddLogicalAnd();
-        mutableAllOpResolver.AddLogicalNot();
-        mutableAllOpResolver.AddLogicalOr();
-        mutableAllOpResolver.AddLogistic();
-        mutableAllOpResolver.AddLogSoftmax();
-        mutableAllOpResolver.AddMaxPool2D();
-        mutableAllOpResolver.AddMaximum();
-        mutableAllOpResolver.AddMean();
-        mutableAllOpResolver.AddMinimum();
-        mutableAllOpResolver.AddMirrorPad();
-        mutableAllOpResolver.AddMul();
-        mutableAllOpResolver.AddNeg();
-        mutableAllOpResolver.AddNotEqual();
-        mutableAllOpResolver.AddPack();
-        mutableAllOpResolver.AddPad();
-        mutableAllOpResolver.AddPadV2();
-        mutableAllOpResolver.AddPrelu();
-        mutableAllOpResolver.AddQuantize();
-        mutableAllOpResolver.AddReadVariable();
-        mutableAllOpResolver.AddReduceMax();
-        mutableAllOpResolver.AddRelu();
-        mutableAllOpResolver.AddRelu6();
-        mutableAllOpResolver.AddReshape();
-        mutableAllOpResolver.AddResizeBilinear();
-        mutableAllOpResolver.AddResizeNearestNeighbor();
-        mutableAllOpResolver.AddRound();
-        mutableAllOpResolver.AddRsqrt();
-        mutableAllOpResolver.AddSelectV2();
-        mutableAllOpResolver.AddShape();
-        mutableAllOpResolver.AddSin();
-        mutableAllOpResolver.AddSlice();
-        mutableAllOpResolver.AddSoftmax();
-        mutableAllOpResolver.AddSpaceToBatchNd();
-        mutableAllOpResolver.AddSpaceToDepth();
-        mutableAllOpResolver.AddSplit();
-        mutableAllOpResolver.AddSplitV();
-        mutableAllOpResolver.AddSqrt();
-        mutableAllOpResolver.AddSquare();
-        mutableAllOpResolver.AddSquaredDifference();
-        mutableAllOpResolver.AddSqueeze();
-        mutableAllOpResolver.AddStridedSlice();
-        mutableAllOpResolver.AddSub();
-        mutableAllOpResolver.AddSum();
-        mutableAllOpResolver.AddSvdf();
-        mutableAllOpResolver.AddTanh();
-        mutableAllOpResolver.AddTranspose();
-        mutableAllOpResolver.AddTransposeConv();
-        mutableAllOpResolver.AddUnidirectionalSequenceLSTM();
-        mutableAllOpResolver.AddUnpack();
-        mutableAllOpResolver.AddVarHandle();
-        mutableAllOpResolver.AddWhile();
-        mutableAllOpResolver.AddZerosLike();
-
-        return mutableAllOpResolver;
-    }
+    /**  An Op resolver containing all ops is no longer supplied with TFLite Micro
+     *   so we create our own instead for the generic inference runner.
+     *
+     * @return MicroMutableOpResolver containing all TFLite Micro Ops registered.
+     */
+    tflite::MicroMutableOpResolver<kNumberOperators> CreateAllOpsResolver();
 
 } /* namespace app */
 } /* namespace arm */
 
-#endif /* INF_RUNNER_MICRO_MUTABLE_ALLOPS_RESOLVER_HPP */
+#endif /* INF_RUNNER_MICRO_MUTABLE_ALL_OPS_RESOLVER_HPP */