Documenting macOS support across the project #33327
Replies: 5 comments 6 replies
-
West works on M1 (I have one, and I test). |
Beta Was this translation helpful? Give feedback.
-
Manual build with GNU Arm Embedded on M1 also worked for me (I tested this last week). I had to install Rosetta 2, and I downloaded the 10-2020-q4-major release from the usual place, and then updated the permissions to allow Terminal to run the binaries from my developer settings as documented. |
Beta Was this translation helpful? Give feedback.
-
FWIW, zephyrproject-rtos/crosstool-ng-old#25 should eventually address the SDK and QEMU support (+more) on macOS. In fact, I already have a working prototype featuring Homebrew packages for them. Hopefully, I can get some traction on this in light of #36194. |
Beta Was this translation helpful? Give feedback.
-
SDK notes on macOS 11.4 / M1:
|
Beta Was this translation helpful? Give feedback.
-
Just thought I would link back here - #37123 provides a summary for TL;DR - it's entirely possible (both on x86_64 and Aarch64 / M1). Things main things needed to be done to make it work:
W.r.t. weak symbols, we basically need to enforce some kind of singleton pattern. There are a few different ways to do that. One way is in #37435 where the singleton is enforced at link-time. I feel that Kconfig would be a good solution here because it offers the security of deciding the singleton at build-time but a with a level of convenience & control close to a runtime singleton. W.r.t. section names, we currently define them mainly with the C Preprocessor. One proposal is to make that happen in CMake, which is discussed in #36140. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Linux is the premiere development OS for Zephyr (for end users), with varying degrees of compatibility with macOS. I've been piecing together the gaps with the hope that it will help close those gaps in the future. Feedback and suggestions welcome!
Note: I only have an Intel machine to test; there's probably some things that may not work on Apple Silicon (ex. Qemu.)
Development
Build
Targets
Tools
1 See #15738
2 Arm is well-supported by
brew
but other ARCHs may not be supported3 Requires Rosetta
4 See #10945, #37123, #36140
5 Not all system working (x86 failed in recent tests); networking not supported via net-tools
6 Primary support via BlueZ; posix & QEMU support untested
Beta Was this translation helpful? Give feedback.
All reactions