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

feat: bump CrossGCC & openOCD versions to enable Apple Silicon support #31

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

ahiuchingau
Copy link
Contributor

Changelog:

  • Use the xPack to install GCC (we already use it for openOCD so we might as well)
  • Bump GCC version to 11.3.1-1.1 and add Apple Silicon MacOS support
  • Bump openOCD version to 0.12.0-1 and add Apple Silicon support

Any concerns with the version choices?

@ahiuchingau ahiuchingau requested a review from a team May 30, 2023 16:38
Copy link
Contributor

@fsinapi fsinapi left a comment

Choose a reason for hiding this comment

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

I looked into doing a version bump a while ago, and it presents some issues with opentrons-modules; we're using a motor-controlled library for the BLDC motor and it uses some undefined behavior that won't compile in GCC11, so we'd really need a way to support both GCC10 and GCC11 before this could get pulled into the modules repo.

That aside, I'm pretty sure this version of gcc drops support for the arm-none-eabi-gdb-py debugging executable we were using, replacing it with arm-none-eabi-gdb-py3, so we'd need to rewrite the debugging tooling. I remember there being some small incompatibility with the new executable and some other parts of our debugging toolchain but I don't remember specifics off the top of my head.

Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

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

Okay, sure. IMO we should use whatever the most up to date quarterly release it is. We should also make sure to give a system a flash of a dev build, to test

  • bootloader on old compiler boots app on new compiler
  • bootloader on new compiler boots app on new compiler (aka full-flash)
  • bootloader on new compiler accepts update of new app
    And some basic functionality tests.

I've been burned by updating compilers in the past (mostly exposing bad things I did) so I'm nervous but that's a bad excuse to not to do it, so let's.

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