You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by me...@apache.org on 2023/01/07 00:43:01 UTC

[tvm] branch micro/fix_nrf_flash created (now 4370c4c0df)

This is an automated email from the ASF dual-hosted git repository.

mehrdadh pushed a change to branch micro/fix_nrf_flash
in repository https://gitbox.apache.org/repos/asf/tvm.git


      at 4370c4c0df Fix

This branch includes the following new commits:

     new 16ebf61c1e cleanup
     new 4370c4c0df Fix

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[tvm] 02/02: Fix

Posted by me...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mehrdadh pushed a commit to branch micro/fix_nrf_flash
in repository https://gitbox.apache.org/repos/asf/tvm.git

commit 4370c4c0df205b4177bfedce60a0fce75eef95be
Author: Mehrdad Hessar <mh...@octoml.ai>
AuthorDate: Fri Jan 6 16:42:51 2023 -0800

    Fix
---
 .../zephyr/template_project/microtvm_api_server.py | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/apps/microtvm/zephyr/template_project/microtvm_api_server.py b/apps/microtvm/zephyr/template_project/microtvm_api_server.py
index b0cd21e4ad..40768a2fd4 100644
--- a/apps/microtvm/zephyr/template_project/microtvm_api_server.py
+++ b/apps/microtvm/zephyr/template_project/microtvm_api_server.py
@@ -263,6 +263,10 @@ def _get_openocd_device_args(serial_number: str = None):
 
 
 def _get_nrf_device_args(serial_number: str = None):
+    # iSerial has string type which could mistmatch with
+    # the output of `nrfjprog --ids`. Example: 001050007848 vs 1050007848
+    serial_number = str(int(serial_number))
+
     nrfjprog_args = ["nrfjprog", "--ids"]
     nrfjprog_ids = subprocess.check_output(nrfjprog_args, encoding="utf-8")
     if not nrfjprog_ids.strip("\n"):
@@ -277,7 +281,7 @@ def _get_nrf_device_args(serial_number: str = None):
 
         if serial_number not in boards:
             raise BoardError(
-                f"serial number ({serial_number}) not found in {nrfjprog_args}: {boards}"
+                f"serial number ({serial_number}) not found in {boards}"
             )
 
         return ["--snr", serial_number]
@@ -714,23 +718,27 @@ class Handler(server.ProjectAPIHandler):
         if _find_platform_from_cmake_file(API_SERVER_DIR / CMAKELIST_FILENAME):
             return  # NOTE: qemu requires no flash step--it is launched from open_transport.
 
+        flash_runner = _get_flash_runner()
         # The nRF5340DK requires an additional `nrfjprog --recover` before each flash cycle.
         # This is because readback protection is enabled by default when this device is flashed.
         # Otherwise, flashing may fail with an error such as the following:
         #  ERROR: The operation attempted is unavailable due to readback protection in
         #  ERROR: your device. Please use --recover to unlock the device.
         zephyr_board = _find_board_from_cmake_file(API_SERVER_DIR / CMAKELIST_FILENAME)
-        if zephyr_board.startswith("nrf5340dk") and _get_flash_runner() == "nrfjprog":
-            recover_args = ["nrfjprog", "--recover"]
-            recover_args.extend(_get_nrf_device_args(serial_number))
-            check_call(recover_args, cwd=API_SERVER_DIR / "build")
+        # if zephyr_board.startswith("nrf5340dk") and flash_runner == "nrfjprog":
+        #     recover_args = ["nrfjprog", "--recover"]
+        #     recover_args.extend(_get_nrf_device_args(serial_number))
+        #     check_call(recover_args, cwd=API_SERVER_DIR / "build")
 
         flash_extra_args = []
-        if _get_flash_runner() == "openocd" and serial_number:
+        if flash_runner == "openocd" and serial_number:
             flash_extra_args = ["--cmd-pre-init", f"""hla_serial {serial_number}"""]
 
+        if flash_runner == "nrfjprog":
+            flash_extra_args = _get_nrf_device_args(serial_number)
+
         check_call(
-            west_cmd_list + ["flash", "-r", _get_flash_runner()] + flash_extra_args,
+            west_cmd_list + ["flash", "-r", flash_runner] + flash_extra_args,
             cwd=API_SERVER_DIR / "build",
         )
 


[tvm] 01/02: cleanup

Posted by me...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mehrdadh pushed a commit to branch micro/fix_nrf_flash
in repository https://gitbox.apache.org/repos/asf/tvm.git

commit 16ebf61c1e619861292c6d842f8b41a34d726c98
Author: Mehrdad Hessar <mh...@octoml.ai>
AuthorDate: Fri Jan 6 15:06:20 2023 -0800

    cleanup
---
 docker/install/ubuntu2004_install_llvm.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docker/install/ubuntu2004_install_llvm.sh b/docker/install/ubuntu2004_install_llvm.sh
index 4743f9e87d..a255c51d6d 100755
--- a/docker/install/ubuntu2004_install_llvm.sh
+++ b/docker/install/ubuntu2004_install_llvm.sh
@@ -26,3 +26,5 @@ chmod +x llvm.sh
 ./llvm.sh 11
 ./llvm.sh 12
 ./llvm.sh 13
+
+rm llvm.sh