vinceab commented on a change in pull request #7537:
URL: https://github.com/apache/tvm/pull/7537#discussion_r596981362



##########
File path: python/tvm/target/target.py
##########
@@ -324,6 +324,31 @@ def arm_cpu(model="unknown", options=None):
     return Target(" ".join(["llvm"] + opts))
 
 
+def stm32mp1(options=None):
+    """Return stm32mp1 target and the associated cross compiler based on the 
SDK.
+
+    Parameters
+    ----------
+    options : str or list of str
+        Additional options
+    """
+
+    from tvm.contrib import cc
+
+    if "TVM_STM32MP_SDK_PATH" not in os.environ or  
os.getenv("TVM_STM32MP_SDK_PATH") == "":
+        raise RuntimeError("Require environment variable TVM_STM32MP_SDK_PATH 
providing the SDK path directory\n"
+                           "example: export TVM_STM32MP_SDK_PATH=<your 
path>/STM32MP15-Ecosystem-v2.1.0/Developer-Package/SDK")
+
+    sdk_path = os.environ["TVM_STM32MP_SDK_PATH"]
+    cc = cc.cross_compiler(sdk_path + 
'/sysroots/x86_64-ostl_sdk-linux/usr/bin/arm-ostl-linux-gnueabi/arm-ostl-linux-gnueabi-g++',
+                           options=['-mthumb',
+                                    '-mfpu=neon-vfpv4',
+                                    '-mfloat-abi=hard',
+                                    '-mcpu=cortex-a7',
+                                    '--sysroot=' + sdk_path + 
'/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi'])
+
+    return arm_cpu("stm32mp1", options), cc

Review comment:
       @areusch following different documentation on tvm.apache.org/docs it was 
not describe how to execute a relay object on a target that dos not have the 
toolchain embedded in its rootfs (most of device with small memory footprint 
does not embed its gcc toolchain).
   I have to dig to understand that a shared library is sufficient.
   The existing doc is focus on device like Rpi or desktop but for other kind 
of device, it is not straight forward as it should be.
   
   I guess that the extension of the documentation could be sufficient to 
explain how to do with device like STM32MP1.
   Maybe having also a python script example integrated into the TVM git could 
be the solution has it is for the other target like RPi.
   
   Vincent
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to