vinceab commented on a change in pull request #7537:
URL: https://github.com/apache/tvm/pull/7537#discussion_r596852365
##########
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:
Hi @areusch @zxybazh,
I understand your point.
What I can propose at least is to provide an example on how to use STM32MP1
with current TVM API by adding the SDK cross compiler function into this
example (It was my first though but I wanted to go one step further by
integrating this mechanism inside the TVM python code because I spent some week
to understand how I can generate a .so library compatible with my target).
Then I can open a discussion on how cross compiler for ad hoc settings could
easily supported.
BR
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]