Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[microTVM][Zephyr] Add MIMXRT1050 board support #9068

Merged
merged 3 commits into from
Sep 28, 2021

Conversation

mehrdadh
Copy link
Member

This PR:

  • Add support for MIMXRT1050 in Zephyr platform
  • Rename imxrt1060 micro target to imxrt10xx which used for imxrt10 family.

This should merge after #9026

Copy link
Contributor

@areusch areusch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @mehrdadh one question

@@ -180,6 +184,9 @@ def _get_device_args(options):
if flash_runner == "openocd":
return _get_openocd_device_args(options)

if flash_runner == "jlink":
return []
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there no arg to specify serial?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it works without specifying the --serial assuming there's only once device. We should have the serial though, I'll add it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realized that _get_device_args is only used with NRF board. So we don't need to have Jlink support in this function.

@gromero
Copy link
Contributor

gromero commented Sep 23, 2021

@mehrdadh Hi. Please change the PR title from microtvm to microTVM so it matches what we've been using after we moved away from the name variant with mu char. Otherwise you know it will land in the tree as microtvm. Otherwise looks good considering Andrew's comments, although I'm not yet able to test microTVM on that NXP board.

@mehrdadh mehrdadh changed the title [microtvm][Zephyr] Add MIMXRT1050 board support [microTVM][Zephyr] Add MIMXRT1050 board support Sep 23, 2021
@mehrdadh
Copy link
Member Author

@gromero thanks, done!

@gromero
Copy link
Contributor

gromero commented Sep 26, 2021

@mehrdadh Hi. I took a second look at this change and tested it on a RT 1050 EVK board. It looks good. I just have a few additional comments besides Andrew's comment.

I'd like to get rid of the following annoying warning that happens afaics only currently on that NXP board:

[  7%] Building C object CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj
/tmp/x16/crt/src/runtime/crt/common/crt_runtime_api.c:108:13: warning: 'IsContiguous' defined but not used [-Wunused-function]
  108 | static bool IsContiguous(const DLTensor* arr) {
      |    

This is caused because NXP code in Zephyr seems to honor more the -DNDEBUG and since isContiguous() used inside an assert() it ends up being unused because the assert will be removed if -DNDEBUG is set (as it happens on microTVM cmake/make files).

I think it's possible to avoid it (in src/runtime/crt/common/crt_runtime_api.c:108):

  1. by wrapping isContiguous inside a #ifndef NDEBUG ...
  2. by using the C attribute unused for isContiguous, like:
    __attribute__ ((unused)) static bool IsContiguous(const DLTensor* arr) { ...
  3. by using C++ attribute [[maybe_unused]], like:
static bool IsContiguous(const DLTensor* arr) { ...

The one I prefer is 3. and I think it's ok because it's present in GCC 7.5 packaged by Ubuntu 18.04 (our reference environment, used for the RVM, right?). @areusch wdyt?

Speaking of RVM, should you add the new board to RVM Zephyr's test-config.json file in this patch?

You'll need to tweak it a bit to add the board property to boards.json now that #9049 is merged :)

Finally, that board also fails test_autotune_conv2d so I added it to issue #9049

Cheers.

@mehrdadh
Copy link
Member Author

@gromero I just ran this PR on RVM with log-level=DEBUG and I didn't see IsContiguous warning. Maybe you're using a different zephyr branch?

as far as the test-config.json I recommend that we reuse board.json file and add extra information such as vid/pid to board.json file to have a single source. We could do that in a separate PR.

@areusch
Copy link
Contributor

areusch commented Sep 27, 2021

@gromero i don't think we can use the C++ attribute since we are in C. I'm okay with solution 1 you proposed, since NDEBUG's relation is documented in the standard C lib docs.

@areusch
Copy link
Contributor

areusch commented Sep 27, 2021

@gromero since it wasn't seen in the RVM, perhaps we can make this change in a follow-on PR?

@gromero
Copy link
Contributor

gromero commented Sep 28, 2021

@gromero I just ran this PR on RVM with log-level=DEBUG and I didn't see IsContiguous warning. Maybe you're using a different zephyr branch?

hmr I got that warning on my local environment, however I'm also able to reproduce it in the RVM, look:

(microtvm-Y3ym_Klm-py3.6) vagrant@microtvm:/home/gromero/git/tvm$ ./tests/scripts/task_python_microtvm.sh
+ source tests/scripts/setup-pytest-env.sh
++ set +u
++ [[ ! -z '' ]]
++ export 'PYTEST_ADDOPTS=-s -v '
++ PYTEST_ADDOPTS='-s -v '
++ set -u
+++ pwd
++ export TVM_PATH=/home/gromero/git/tvm
++ TVM_PATH=/home/gromero/git/tvm
++ export PYTHONPATH=/home/gromero/git/tvm/python
++ PYTHONPATH=/home/gromero/git/tvm/python
++ export TVM_PYTEST_RESULT_DIR=/home/gromero/git/tvm/build/pytest-results
++ TVM_PYTEST_RESULT_DIR=/home/gromero/git/tvm/build/pytest-results
++ mkdir -p /home/gromero/git/tvm/build/pytest-results
+ make cython3
cd python; python3 setup.py build_ext --inplace
WARNING: Cython is not installed, will compile without cython module
running build_ext
+ run_pytest ctypes python-microtvm-zephyr tests/micro/zephyr --zephyr-board=mimxrt1050_evk
+ local ffi_type=ctypes
+ shift
+ local test_suite_name=python-microtvm-zephyr
+ shift
+ '[' -z ctypes -o -z python-microtvm-zephyr ']'
+ TVM_FFI=ctypes
+ python3 -m pytest -o junit_suite_name=python-microtvm-zephyr-ctypes --junit-xml=/home/gromero/git/tvm/build/pytest-results/python-microtvm-zephyr-ctypes.xml --junit-prefix=ctypes tests/micro/zephyr --zephyr-board=mimxrt1050_evk
enabled targets: llvm; llvm -device=arm_cpu
pytest marker: 
============================================================================ test session starts ============================================================================
platform linux -- Python 3.6.9, pytest-5.4.3, py-1.10.0, pluggy-0.13.1 -- /home/vagrant/.cache/pypoetry/virtualenvs/microtvm-Y3ym_Klm-py3.6/bin/python3
cachedir: .pytest_cache
rootdir: /home/gromero/git/tvm
collected 12 items                                                                                                                                                          

tests/micro/zephyr/test_zephyr.py::test_add_uint[mimxrt1050_evk] INFO:__main__:run (in cwd: /home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build): cmake .. -DWEST=west -DBOARD:STRING=mimxrt1050_evk
Including boilerplate (Zephyr base): /home/vagrant/zephyr/zephyr/cmake/app/boilerplate.cmake
-- Application: /home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project
-- Zephyr version: 2.5.0 (/home/vagrant/zephyr/zephyr)
-- Found Python3: /home/vagrant/.cache/pypoetry/virtualenvs/microtvm-Y3ym_Klm-py3.6/bin/python3.6 (found suitable exact version "3.6.9") found components: Interpreter 
-- Found west (found suitable version "0.11.1", minimum required is "0.7.1")
-- Board: mimxrt1050_evk
-- Cache files will be written to: /home/vagrant/.cache/zephyr
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Using toolchain: zephyr 0.12.3 (/home/vagrant/zephyr-sdk)
-- Found dtc: /home/vagrant/zephyr-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/vagrant/zephyr/zephyr/boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts
-- Generated zephyr.dts: /home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build/zephyr/include/generated/device_extern.h
Parsing /home/vagrant/zephyr/zephyr/Kconfig
Loaded configuration '/home/vagrant/zephyr/zephyr/boards/arm/mimxrt1050_evk/mimxrt1050_evk_defconfig'
Merged configuration '/home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/prj.conf'
Configuration saved to '/home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build/zephyr/.config'
Kconfig header saved to '/home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/vagrant/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
CMake Warning at /home/vagrant/zephyr/zephyr/subsys/random/CMakeLists.txt:11 (message):
  

      Warning: CONFIG_TEST_RANDOM_GENERATOR is not a truly random generator.
      This capability is not secure and it is provided for testing purposes only.
      Use it carefully.


-- Configuring done
-- Generating done
-- Build files have been written to: /home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build
INFO:__main__:run (in cwd: /home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/build): make -j2
make: Warning: File 'Makefile' has modification time 49 s in the future
make[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 51 s in the future
make[2]: Warning: File 'zephyr/CMakeFiles/parse_syscalls_target.dir/progress.make' has modification time 51 s in the future
Scanning dependencies of target parse_syscalls_target
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'zephyr/CMakeFiles/parse_syscalls_target.dir/progress.make' has modification time 51 s in the future
[  1%] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
[  2%] Built target parse_syscalls_target
make[2]: Warning: File 'zephyr/CMakeFiles/kobj_types_h_target.dir/progress.make' has modification time 51 s in the future
make[2]: Warning: File 'zephyr/CMakeFiles/syscall_list_h_target.dir/progress.make' has modification time 51 s in the future
Scanning dependencies of target syscall_list_h_target
Scanning dependencies of target kobj_types_h_target
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'zephyr/CMakeFiles/syscall_list_h_target.dir/progress.make' has modification time 51 s in the future
make[2]: Warning: File 'zephyr/CMakeFiles/kobj_types_h_target.dir/progress.make' has modification time 50 s in the future
[  3%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
[  4%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h, include/generated/otype-to-size.h
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
[  4%] Built target kobj_types_h_target
make[2]: Warning: File 'zephyr/CMakeFiles/driver_validation_h_target.dir/progress.make' has modification time 50 s in the future
Scanning dependencies of target driver_validation_h_target
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'zephyr/CMakeFiles/driver_validation_h_target.dir/progress.make' has modification time 50 s in the future
[  5%] Generating include/generated/driver-validation.h
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
[  5%] Built target driver_validation_h_target
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
[  5%] Built target syscall_list_h_target
make[2]: Warning: File 'CMakeFiles/tvm_model.dir/flags.make' has modification time 48 s in the future
make[2]: Warning: File 'CMakeFiles/common.dir/flags.make' has modification time 48 s in the future
Scanning dependencies of target common
Scanning dependencies of target tvm_model
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'CMakeFiles/tvm_model.dir/flags.make' has modification time 48 s in the future
[  5%] Building C object CMakeFiles/tvm_model.dir/model/codegen/host/src/lib0.c.obj
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'CMakeFiles/common.dir/flags.make' has modification time 48 s in the future
[  6%] Building C object CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_backend_api.c.obj
[  7%] Building C object CMakeFiles/tvm_model.dir/model/codegen/host/src/lib1.c.obj
[  7%] Building C object CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj
[  8%] Linking C static library libtvm_model.a
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
[  8%] Built target tvm_model
make[2]: Warning: File 'CMakeFiles/microtvm_rpc_common.dir/flags.make' has modification time 48 s in the future
Scanning dependencies of target microtvm_rpc_common
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Warning: File 'CMakeFiles/microtvm_rpc_common.dir/flags.make' has modification time 48 s in the future
[  8%] Building C object CMakeFiles/microtvm_rpc_common.dir/crt/src/runtime/crt/microtvm_rpc_common/crcccitt.c.obj
[  9%] Building CXX object CMakeFiles/microtvm_rpc_common.dir/crt/src/runtime/crt/microtvm_rpc_common/frame_buffer.cc.obj
/home/gromero/git/tvm/tests/micro/zephyr/workspace_conftest_mimxrt1050_evk/2021-09-27T21-54-04/project/crt/src/runtime/crt/common/crt_runtime_api.c:108:13: warning: 'IsContiguous' defined but not used [-Wunused-function]
  108 | static bool IsContiguous(const DLTensor* arr) {
      |             ^~~~~~~~~~~~
[...]

I'm of course passing --zephyr-board=mimxrt1050_evk to test the RT1050 board here.

as far as the test-config.json I recommend that we reuse board.json file and add extra information such as vid/pid to board.json file to have a single source. We could do that in a separate PR.

All right. I was just concerned about not having a way to test the board with the RVM - I had to take care of it myself to test that PR in the RVM.

@gromero
Copy link
Contributor

gromero commented Sep 28, 2021

@gromero i don't think we can use the C++ attribute since we are in C. I'm okay with solution 1 you proposed, since NDEBUG's relation is documented in the standard C lib docs.

It just happens that we can use [[maybe_unused]] in crt_runtime_api.c yep, I've tested it, but I confess I wasn't expecting it to work either, look:

gromero@amd:/tmp/x17/build$ fgrep IsConti  /tmp/x17/crt/src/runtime/crt/common/crt_runtime_api.c 
static bool IsContiguous(const DLTensor* arr) {
  assert(IsContiguous(from) && IsContiguous(to));
gromero@amd:/tmp/x17/build$ ccache /home/gromero/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DBOARD_FLASH_SIZE="CONFIG_FLASH_SIZE*1024" -DBUILD_VERSION=zephyr-v2.5.0-65-g79d575bf3552 -DCPU_MIMXRT1052DVL6B -DKERNEL -DNDEBUG -DXIP_BOOT_HEADER_DCD_ENABLE=1 -DXIP_BOOT_HEADER_ENABLE=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I/tmp/x17/common -I/tmp/x17/crt_config -I/tmp/x17/crt/include -I/home/gromero/zephyrproject/zephyr/include -I/tmp/x17/build/zephyr/include/generated -I/home/gromero/zephyrproject/zephyr/soc/arm/nxp_imx/rt -I/home/gromero/zephyrproject/zephyr/lib/libc/newlib/include -I/home/gromero/zephyrproject/modules/hal/cmsis/CMSIS/Core/Include -I/home/gromero/zephyrproject/modules/hal/nxp/mcux/devices/MIMXRT1052 -I/home/gromero/zephyrproject/modules/hal/nxp/mcux/drivers/imx/. -Os -imacros /tmp/x17/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mcpu=cortex-m7 -mthumb -mabi=aapcs -mfpu=fpv5-d16 -mfloat-abi=hard -imacros /home/gromero/zephyrproject/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-address-of-packed-member -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/tmp/x17=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/gromero/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/gromero/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=c99 -MD -MT CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj -MF CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj.d -o CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj -c /tmp/x17/crt/src/runtime/crt/common/crt_runtime_api.c
/tmp/x17/crt/src/runtime/crt/common/crt_runtime_api.c:108:13: warning: 'IsContiguous' defined but not used [-Wunused-function]
  108 | static bool IsContiguous(const DLTensor* arr) {
      |             ^~~~~~~~~~~~
gromero@amd:/tmp/x17/build$ vim /tmp/x17/crt/src/runtime/crt/common/crt_runtime_api.c +108
gromero@amd:/tmp/x17/build$ fgrep IsConti  /tmp/x17/crt/src/runtime/crt/common/crt_runtime_api.c 
[[maybe_unused]] static bool IsContiguous(const DLTensor* arr) {
  assert(IsContiguous(from) && IsContiguous(to));
gromero@amd:/tmp/x17/build$ ccache /home/gromero/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DBOARD_FLASH_SIZE="CONFIG_FLASH_SIZE*1024" -DBUILD_VERSION=zephyr-v2.5.0-65-g79d575bf3552 -DCPU_MIMXRT1052DVL6B -DKERNEL -DNDEBUG -DXIP_BOOT_HEADER_DCD_ENABLE=1 -DXIP_BOOT_HEADER_ENABLE=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I/tmp/x17/common -I/tmp/x17/crt_config -I/tmp/x17/crt/include -I/home/gromero/zephyrproject/zephyr/include -I/tmp/x17/build/zephyr/include/generated -I/home/gromero/zephyrproject/zephyr/soc/arm/nxp_imx/rt -I/home/gromero/zephyrproject/zephyr/lib/libc/newlib/include -I/home/gromero/zephyrproject/modules/hal/cmsis/CMSIS/Core/Include -I/home/gromero/zephyrproject/modules/hal/nxp/mcux/devices/MIMXRT1052 -I/home/gromero/zephyrproject/modules/hal/nxp/mcux/drivers/imx/. -Os -imacros /tmp/x17/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mcpu=cortex-m7 -mthumb -mabi=aapcs -mfpu=fpv5-d16 -mfloat-abi=hard -imacros /home/gromero/zephyrproject/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-address-of-packed-member -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/tmp/x17=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/gromero/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/gromero/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=c99 -MD -MT CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj -MF CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj.d -o CMakeFiles/common.dir/crt/src/runtime/crt/common/crt_runtime_api.c.obj -c /tmp/x17/crt/src/runtime/crt/common/crt_runtime_api.c
gromero@amd:/tmp/x17/build$ 

:)

But I agree that 1. will be a better fit since I can't explain why [[maybe_unused]] works here. 👍

@gromero
Copy link
Contributor

gromero commented Sep 28, 2021

@gromero since it wasn't seen in the RVM, perhaps we can make this change in a follow-on PR?

@areusch Well, as I pointed out to @mehrdadh I do see it happening in the RVM. Of course the warning is not observed in the upstream CI and it will affect mostly the folks experimenting microTVM on that specific NXP board - and us. So since we have even already discussed a solution for it (solution 1) and we understand well what's going on I'm ok to fix it in a follow-on PR.

Copy link
Contributor

@gromero gromero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mehrdadh Hi. I have just one concern -- please see my comment inline. Otherwise looks good!

@@ -545,6 +546,10 @@ def _find_openocd_serial_port(cls, options):

return ports[0].device

@classmethod
def _find_jlink_serial_port(cls, options):
return cls._find_openocd_serial_port(options)
Copy link
Contributor

@gromero gromero Sep 28, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mehrdadh I think that ideally _find_jlink_serial_port() should not be made merely a wrapper for _find_openocd_serial_port(). I understand that the code for the later works well for finding a serial for Jlink too, but openocd is not really involved on detecting the serial port in the end. It looks in Zephyr's CMake configs and goes for a detection using usb module. Hence I think that _find_openocd_serial_port() should be made a generic code (and renamed to something like _find_serial_port()) and then be used for both "openocd" and "jlink" flash runners.

_find_openocd_serial_port() even contains debug message which cites openocd which is confusing because under the hood for the board in question JLinkExe will be used to flash the fw, not openocd.

The ProjectOption openocd_serial with also contains "openocd" also becomes incorrect since that option also applies now to jlink flash runner, so ideally it should be adapted too I think.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for extra investigation on this. I agree that this is a bit confusing. We could do a refactor here in a follow on PR.

Copy link
Contributor

@areusch areusch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok let us merge this since it passed the CI, we can make the minor refactor in a follow-on if needed.

@areusch areusch merged commit 5506472 into apache:main Sep 28, 2021
@mehrdadh mehrdadh deleted the add_mimxrt1050_evk branch September 28, 2021 18:08
AndrewZhaoLuo added a commit to AndrewZhaoLuo/tvm that referenced this pull request Sep 29, 2021
* main:
  Fix flaky NMS test by making sure scores are unique (apache#9140)
  [Relay] Merge analysis/context_analysis.cc and transforms/device_annotation.cc (apache#9038)
  [LLVM] Make changes needed for opaque pointers (apache#9138)
  Arm(R) Ethos(TM)-U NPU codegen integration (apache#8849)
  [CI] Split Integration tests out of first phase of pipeline (apache#9128)
  [Meta Schedule][M3b] Runner (apache#9111)
  Fix Google Mock differences between Ubuntu 18.04 and 16.04 (apache#9141)
  [TIR] add loop partition hint pragma (apache#9121)
  fix things (apache#9146)
  [Meta Schedule][M3a] SearchStrategy (apache#9132)
  [Frontend][PyTorch] support for quantized conv_transpose2d op (apache#9133)
  [UnitTest] Parametrized test_conv2d_int8_intrinsics (apache#9143)
  [OpenCL] Remove redundant visit statement in CodeGen. (apache#9144)
  [BYOC] support arbitrary input dims for add/mul/relu of dnnl c_src codegen (apache#9127)
  [Relay][ConvertLayout] Support for qnn.conv2d_transpose (apache#9139)
  add nn.global_avgpool to fq2i (apache#9137)
  [UnitTests] Enable minimum testing on Vulkan target in CI (apache#9093)
  [Torch] Support returning quantized weights and bias for BYOC use cases (apache#9135)
  [Relay] Prepare for new plan_devices.cc (part II) (apache#9130)
  [microTVM][Zephyr] Add MIMXRT1050 board support (apache#9068)
ylc pushed a commit to ylc/tvm that referenced this pull request Sep 29, 2021
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants