There are several tickets from users trying to get the combination of Zephyr and Segger Embedded Studio (SES) to work on Mac OS including Catalina, but some are unresolved and others don't help me. Also, some of Nordic's responses are confusing.
My case is as follows. I have for a longer time successfully used Zephyr and SES on PC:s running Windows 10 and on a Mac running Mojave. Note that I have not yet migrated our project to ncs v1.1.0. We are running commit 771be817c9aff6df161118de6c30871bf4d05253 which is based on ncs v1.0.0.
Now I have a new Mac that runs Catalina and I try to set up Zephyr and SES as identically as possible with my working Mojave installation. I follow the latest Getting Started Assistant (GSA) v1.0.5 in the latest nRF Connect v3.3.0. My system contains other software, including XCode 11.3.
One detail is that GSA is not 100% compatible with the tutorial here, that, e.g., ticket 241940 refers to: whereas GSA specifies “pip3 install --user west”, the Zephyr tutorial specifies “pip3 install west”. It would be nice to have a single description or multiple consistent ones.
Another detail is the need for installation of libgit2 which seems vital as documented by several tickets but missing from GSA. This should be fixed.
Then there is the issue with the GNU ARM Embedded toolchain, which according to the latest GSA should be version 8-2019-q3-update whereas for ncs v1.0.0 it seems version 7-2018-q2-update is needed.
Fiunally, I get some probvlems when installing the Python requirements that I try to resolve as best as I can. I force the installation of PyYAML version 4.2b4 since later versions don't seem to work at all despite some compatibility issue with pyocd-0.21.0.
My real problem is that I cannot get SES for ARM version 4.30c for Nordic to work.
I have also installed the nRF command Line Tools version 10.5.0 and building from the terminal works fine (i.e., 1. “source /path-to-ncs/zephyr/zephyr-env.sh” followed by 2. “cmake .. -DBOARD=nrf9160_pca10090ns -DBOARD_ROOT= /path-to-ncs/zephyr/boards/arm/nrf9160_pca10090/ -GNinja” followed by 3. “ninja flash”).
When I run SES “Open nRF Connect SDK Project…”, I get the following error messages:
Zephyr version: 1.14.99 nrf9160_pca10090ns.dts.pre.tmp:265.19-271.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@40000000/clock@5000: duplicate unit-address (also used in node /soc/peripheral@40000000/power@5000) /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:26: warning: attempt to assign the value 'y' to the undefined symbol BSD_LIBRARY /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:27: warning: attempt to assign the value 'n' to the undefined symbol BSD_LIBRARY_TRACE_ENABLED /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:31: warning: attempt to assign the value 'y' to the undefined symbol LTE_LINK_CONTROL /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:32: warning: attempt to assign the value 'y' to the undefined symbol LTE_LINK_CONTROL_LOG_LEVEL_WRN /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:34: warning: attempt to assign the value '100' to the undefined symbol LTE_CONNECT_TIMEOUT /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:36: warning: attempt to assign the value 'n' to the undefined symbol LTE_AUTO_INIT_AND_CONNECT /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:39: warning: attempt to assign the value '"00101010"' to the undefined symbol LTE_PSM_REQ_RPTAU /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:42: warning: attempt to assign the value '"00000000"' to the undefined symbol LTE_PSM_REQ_RAT /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:43: warning: attempt to assign the value 'y' to the undefined symbol LTE_NETWORK_MODE_NBIOT /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:44: warning: attempt to assign the value 'y' to the undefined symbol LTE_LEGACY_PCO_MODE /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:46: warning: attempt to assign the value 'y' to the undefined symbol LTE_LOCK_BANDS /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:48: warning: attempt to assign the value '"10000000000000000000"' to the undefined symbol LTE_LOCK_BAND_MASK /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:51: warning: attempt to assign the value 'y' to the undefined symbol AT_HOST_LIBRARY /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:52: warning: attempt to assign the value 'y' to the undefined symbol AT_CMD_LOG_LEVEL_WRN /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:113: warning: attempt to assign the value 'y' to the undefined symbol DOWNLOAD_CLIENT_LOG_LEVEL_INF /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:116: warning: attempt to assign the value '5000' to the undefined symbol DOWNLOAD_CLIENT_SOCK_TIMEOUT_MS /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:118: warning: attempt to assign the value '2500' to the undefined symbol DOWNLOAD_CLIENT_STACK_SIZE /Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:141: warning: attempt to assign the value '2000' to the undefined symbol AT_CMD_THREAD_STACK_SIZE Error: Aborting due to non-whitelisted Kconfig warning '/Volumes/MacData/Nordic/Projects/Chaak/iot/prj.conf:26: warning: attempt to assign the value 'y' to the undefined symbol BSD_LIBRARY'. Note: If this warning doesn't point to an actual problem, you can add it to the whitelist at the top of /Volumes/MacData/Nordic/ncs/zephyr/scripts/kconfig/kconfig.py. CMake Error at /Volumes/MacData/Nordic/ncs/zephyr/cmake/kconfig.cmake:217 (message): command failed with return code: 1 Call Stack (most recent call first): /Volumes/MacData/Nordic/ncs/zephyr/cmake/app/boilerplate.cmake:533 (include) CMakeLists.txt:9 (include)
i.e., a lot of warnings about undefined symbols leading to an abort due to non-whitelisted warning. Since cmake from terminal works fine, something beyond my comprehension must cause the issue.
I would greatly appreciate help resolving this issue. Since my previous installation on Mac OS Mojave has worked fine even after multiple updates, there could be somehing with a fresh install on a fresh Catalina that behaves differently.
Best regards, Per