-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Mbed board packages for Nano 33 BLE are conflicting and out of date #11141
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
Comments
Hi @petewarden. Some background on the history of the Arduino Mbed OS boards packages: The first Arduino board using Mbed OS was the Nano 33 BLE. The "Arduino nRF528x Boards (Mbed OS)" boards package (or Some time later, the second Arduino board using Mbed OS was created: the Portenta H7. Some significant changes were required to add support for the Portenta to the existing boards platform. In order to provide support for the users of the Portenta while avoiding subjecting the Nano 33 BLE users to any possible breakage for that board that was introduced with the changes needed for the Portenta, a beta phase boards package was released: "Arduino mbed-enabled Boards" (or After some time, the So you should be using
Both are correct.
It's deprecated.
That's the FQBN you should use and the correct behavior from Arduino CLI.
From what I've seen while providing support and maintaining the issue trackers since the transition of the Mbed OS boards packages, I don't think that is the typical user experience. Although some have had problems, I think most users have been able to install |
Thanks so much for the suggestion, I believe that's it! The machine I'm using for testing the desktop IDE is the same one I had when I was testing an early version of the Nano 33 BLE, and I'd forgotten that one of the setup steps at that point was adding https://downloads.arduino.cc/packages/package_mbed_index.json to the preferences as a URL. I'd been deleting and reinstalling the application itself, but that still carried over in the preferences. I've just confirmed that a search for "mbed" now only brings up the expected two packages, both named "Arduino mbed-enabled boards", with the second one deprecated. I'm able to install 1.3.1, and this does contain the Mbed fix I need. Thanks again for your help, this will let us ship a new version of TFL Micro without requiring a patch. I'm closing this issue. |
I'm trying to track down an issue with TensorFlow Lite Micro that's occurring for users of the Arduino IDE, but doesn't show up with the CLI that we use for continuous integration testing. I've narrowed the cause of the disparity to there being two different board packages for the Nano 33 BLE, but it's unclear which one is the correct one to use. I'm filing this bug to try to answer that question, so we can unblock our CI system and ship a new version of the TFL Micro library.
In the Arduino IDE, typing "mbed" into the board manager search brings up two different options:

The second one is marked as deprecated, so I (and I assume most users) install the first one titled "Arduino nRF528x Boards (Mbed OS)". When that library has been installed, the title actually changes to "Arduino mbed-enabled boards":
From inspection of the downloaded files (for example platform.txt, etc), this is actually based on the repository here:
https://github.com/arduino/ArduinoCore-nRF528x-mbedos
Surprisingly, this repository's README indicates that it's deprecated in favor of another repo:
https://github.com/arduino/ArduinoCore-mbed
It also includes an out-dated version of the Mbed OS, which doesn't include a fix TFL Micro needs for a CMSIS bug (ARMmbed/mbed-os#12568).
So the first big question is if the repo's README or the board manager index are correct - should the "nRF528x" board package be used or is it deprecated?
The second cause of confusion is that using the Arduino CLI with an FBQN of arduino:mbed:nano33ble specified appears to install the second package shown in the board manager screenshot, which seems to be based on https://github.com/arduino/ArduinoCore-mbed and includes a newer version of Mbed OS. This means when we're running our CI tests, we don't hit the Mbed/CMSIS bug, even though users of the IDE will. If the second board package is deprecated, I'd expect the first package to be chosen instead. This would cause our build to break, but at least it would reflect the typical user experience.
We'll go ahead and try to get a new release of the TFL Micro library out that includes a work-around patch for the CMSIS issue, but it would be very helpful if you could offer us some advice on what board package we should be using in the IDE, and what the expected behavior of the CLI is.
The text was updated successfully, but these errors were encountered: