Skip to content

Support for macOS Big Sur on arm64 #10836

Open
@neilpa-inv

Description

@neilpa-inv

With the "Apple Silicon" announcement earlier this year, are there any plans for macOS/arm64 support? As I understand it this at least requires updates to the avr-toolchain and avrdude along with other stuff I may not be aware of.

My primary interest is in getting avrdude working on an arm64 Mac. I've got access to one of the dev kit machines and have managed to compile a version on it. However, I've yet to successfully flash an Arduino from with the same parameters I've used from an Intel Mac.

I realize that some of the above may be better suited to the arduino/avrdude-build-script repo (which I just discovered), but I'm also generally interested in the Arduino IDE on this upcoming platform.

Activity

added
Component: ToolchainThe tools used for compilation and uploading to Arduino boards
feature requestA request to make an enhancement (not a bug fix)
OS: OSXSpecific to the Mac OS X (macOS) version of the Arduino IDE
on Oct 6, 2020
ubidefeo

ubidefeo commented on Oct 21, 2020

@ubidefeo

hi @neilpa-inv

we have of course considered this, and got our hands on a dev kit.
In the initial phase of the transition everything should keep working thanks to Rosetta 2, but in the future we should have native versions of every bit of software we release.
Of course we cannot account for 3rd party tools which are simply installed via our Boards Manager, but when it comes to binaries we build internally we'll make sure they are running properly on every major platform.

brandwe

brandwe commented on Nov 24, 2020

@brandwe

I have tried this and want to report that using the opensdk build by Azul using these instructions I still get an error after successful compile. I'll post back as I find more, but I'm sure it has to do with some x86 binaries in the keychain.

portable-false:

generate-hourly-build-txt:

start:

macosx-start:
     [exec] 2020-11-23 22:24:44.730 Arduino[24610:896895] Loading Application 'Arduino'
     [exec] 2020-11-23 22:24:44.731 Arduino[24610:896895] JVMRuntime=zulu-8.jdk
     [exec] 2020-11-23 22:24:44.731 Arduino[24610:896895] CFBundleName=Arduino
     [exec] 2020-11-23 22:24:44.731 Arduino[24610:896895] WorkingDirectory=(null)
     [exec] 2020-11-23 22:24:44.731 Arduino[24610:896895] JVMMainClassName=processing.app.Base
     [exec] 2020-11-23 22:24:44.731 Arduino[24610:896895] JVMOptions=(
     [exec]     "-Dapple.awt.application.name=Arduino",
     [exec]     "-Dcom.apple.macos.use-file-dialog-packages=true",
     [exec]     "-Dcom.apple.smallTabs=true",
     [exec]     "-DAPP_DIR=$APP_ROOT/Contents/Java",
     [exec]     "-Djava.ext.dirs=$JVM_RUNTIME/Contents/Home/lib/ext/:$JVM_RUNTIME/Contents/Home/jre/lib/ext/",
     [exec]     "-Djava.net.preferIPv4Stack=true",
     [exec]     "-Xdock:name=Arduino",
     [exec]     "-Dcom.apple.mrj.application.apple.menu.about.name=Arduino",
     [exec]     "-Dfile.encoding=UTF-8",
     [exec]     "-Xms128M",
     [exec]     "-Xmx512M",
     [exec]     "-splash:$APP_ROOT/Contents/Java/lib/splash.png"
     [exec] )
     [exec] 2020-11-23 22:24:44.731 Arduino[24610:896895] JVMArguments=(
     [exec] )
     [exec] 2020-11-23 22:24:44.732 Arduino[24610:896895] JVMClasspath=(null)
     [exec] 2020-11-23 22:24:44.732 Arduino[24610:896895] JVMDefaultOptions={
     [exec] }
     [exec] 2020-11-23 22:24:44.732 Arduino[24610:896895] SearchSystemJVM=false
     [exec] 2020-11-23 22:24:44.732 Arduino[24610:896895] -> Bundle path: /Volumes/Development/Electronics/Arduino/build/macosx/work/Arduino.app
     [exec] 2020-11-23 22:24:44.732 Arduino[24610:896895] -> Working Directory: '/Volumes/Development/Electronics/Arduino/build'
     [exec] 2020-11-23 22:24:44.732 Arduino[24610:896895] -> JVM Runtime path: /Volumes/Development/Electronics/Arduino/build/macosx/work/Arduino.app/Contents/PlugIns/zulu-8.jdk
     [exec] 2020-11-23 22:24:44.732 Arduino[24610:896895] -> Java Runtime Dylib Path: '/Volumes/Development/Electronics/Arduino/build/macosx/work/Arduino.app/Contents/PlugIns/zulu-8.jdk/Contents/Home/jre/lib/jli/libjli.dylib'

BUILD FAILED
/Volumes/Development/Electronics/Arduino/build/build.xml:146: The following error occurred while executing this line:
/Volumes/Development/Electronics/Arduino/build/build.xml:543: exec returned: 1
Grippy98

Grippy98 commented on Feb 4, 2021

@Grippy98

@brandwe Well I got it to build just fine on first try, but alas "Error loading Java on startup"

Screen Shot 2021-02-03 at 10 10 27 PM

Edit: Looks like the same you were experiencing. Not sure if GCC or some other x86 but yeah I suspect that's the case. Will look into it as well.

Looks like the lines it gets stuck on at the end there are:

   <antcall target="${platform}-run" />

 <antcall target="${platform}-start"

and

<exec executable="macosx/work/Arduino.app/Contents/MacOS/Arduino" spawn="false" failonerror="true"/>

I managed to get arm-binutils compiled but still fail on avr-gcc proper because "toplev::main(int, char**) in libbackend.a(toplev.o)ld: symbol(s) not found for architecture arm64"

parreirat

parreirat commented on Feb 18, 2021

@parreirat

I've been scouring the internet for the past couple hours trying to get M1 to detect my Mega2560 R3. Does not show up in serial ports at all. Have rebooted repeatedly, replugged, tried different cables, usb hubs.
OSX is not even recognizing an "Unknown device" or similar: cannot detect any trace of board from PC.
Tried from Arduino IDE Pro, Arduino IDE, arduino-cli with arduino-cli board list

Tried installing drivers listed here, but did not help (and figures: it's listed for 10.9 up, so my hopes were low)
https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/all#mac

Grippy98

Grippy98 commented on Feb 18, 2021

@Grippy98

Very curious, just tried with both a genuine and a clone Mega 2560 R3 just now and both uploaded fine. What version of Arduino are you running?

Screen Shot 2021-02-18 at 6 11 13 PM

I should add it shows up as a "Communications Device" as you can see on the bottom right.

parreirat

parreirat commented on Feb 18, 2021

@parreirat

Very curious, just tried with both a genuine and a clone Mega 2560 R3 just now and both uploaded fine. What version of Arduino are you running?

Screen Shot 2021-02-18 at 6 11 13 PM

I should add it shows up as a "Communications Device" as you can see on the bottom right.

Godammit, can't believe it works for you on the "same setup"

I'm also on 11.2.1, and arduino 1.8.13 as well... I just don't get it showing up as a port.
USV shows nothing either.

How are you running the board? I have the USB-B cable that came with it hooked onto my external USB C/A hub.

Currently trying to set up GO + build this PR from arduino-user-agent that claims to add M1 support (experimental, not really a lot of info, but I found it):
arduino/arduino-create-agent#617

And not being able to build it. Compiling it on M1 terminal blows up with "Too many errors", didn't realy bother digging into it properly yet, and with a Rosetta terminal I get a segmentation fault just installing Go.

image

I just get this "composite device" which I don't think is it, since it's there even if I unplug the board.

Grippy98

Grippy98 commented on Feb 18, 2021

@Grippy98

I assume that "scarlet" is a USB Audio interface? Try that port?

parreirat

parreirat commented on Feb 19, 2021

@parreirat

I assume that "scarlet" is a USB Audio interface? Try that port?

I had already tried the board on all 3 ports of my hub with everything else disconnected - did not help
(yes, it's an audio interface)

neilpa-inv

neilpa-inv commented on Feb 19, 2021

@neilpa-inv
Author

I had already tried the board on all 3 ports of my hub with everything else disconnected

@parreirat this sounds like a hardware problem with the Arduino or the cable/hub. Especially since it's not showing up in the USB device tree.

I just get this "composite device" which I don't think is it, since it's there even if I unplug the board.

Correct. You can see in the screenshot that @Grippy98 shared it's listed as "Communications Device" with different vendor and product IDs. You can also see Arduino under the manufacturer field.

9 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Component: IDEThe Arduino IDEComponent: ToolchainThe tools used for compilation and uploading to Arduino boardsOS: OSXSpecific to the Mac OS X (macOS) version of the Arduino IDEfeature requestA request to make an enhancement (not a bug fix)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @dinolupo@PaulStoffregen@brandwe@ubidefeo@parreirat

        Issue actions

          Support for macOS Big Sur on arm64 · Issue #10836 · arduino/Arduino