-
Notifications
You must be signed in to change notification settings - Fork 1k
arm-none-eabi-gcc 9.3.1-1.1 was released, with Raspberry Pi support #1111
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 @ilg-ul |
Ok, please let me know how it goes. |
@ilg-ul @fpistm Thank you for being on top of this :) |
Glad to hear a stm32duino release for arm hosts is planned. To have a complete development environment, you can also run stm32cubemx on raspberry pi: STM32CubeMX on Raspberry Pi Download and install Oracle java 1.8.0, arm32 hard float
Download and unzip STM32CubeMX
Start installer
Execute STM32CubeMX from install directory
Uninstaller:
At startup stm32cubemx says a 64-bit java is preferable, but I have had no problems generating code with 32-bit java on raspberries with 4 or 8gb ram. |
@fpistm we look forward to a update |
As for the toolchain, I confirm it works fine on RPI 4 with 4GB of RAM, both 32/64-bit OSes. However a Pi Zero, with only 512 K of RAM, might be too tight to run builds. |
@ubidefeo, all, ARM support will be a beta and I could not provide any date on this. |
@ilg-ul @fpistm thank you for letting us know. |
Indeed! For those interested in performance figures, the dedicated machine I use for building the Arm xPacks is a ROCK Pi 4, which, in December, appeared to be the most performant Arm SBC, mainly because it provides a M.2 SSD interface. The M.2 SSD transfer rate is about 500 MB/s by default, and can reach 1000 MB/s with an advanced setting in the boot rom. Later on I experimented with Raspberry Pi 4 with a Sandisk Extreme Portable USB 3.1 and I got about 300 MB/s, out of the 500 advertised, the limitation being the USB speed on the Raspberry Pi. However, the builds are generally limited by the CPU speed, and disk speeds above 200-300 MB/s do not bring much gain, so M.2 is probably an overkill. Building the arm-none-eabi toolchain for Arm takes 407 minutes for the 64-bit, and 371 minutes for the 32-bit. Overall, this is about 4-5 times slower than the Intel NUC used to build the similar Intel GNU/Linux xPacks. The difference is explained by the clock increase from 1.5 to 4 GHz, and the double number of cores (even with hyperthreads). Interestingly enough, the Raspberry Pi supports without problems parallel builds with -j4, and the memory usage generally stays below 1 GB. If I'd have to order now a new machine for the xPack builds, I'd choose a Raspberry Pi 4 with 8 GB and a Sandisk Extreme Portable Pro USB 3.1, which should be able to sustain even a write speed of 300 GB/s, the USB limit on the Raspberry. If you have further questions on the build environment, please write me on private. |
Great! I don't know the specifics of the Arduino IDE, but, if possible, please consider both variants, with 32/64-bit. The 32-bit is currently mainstream, but the Raspberry Pi OS 64-bit beta is quite functional, and I expect it to reach the stable status in a few months, so better prepare for it from the very beginning. The toolchain at least is available in both variants, so this shouldn't be a limitation. |
hey @fpistm |
Any progress on the arm/arm64 stm32duino? |
Unfortunately not. I have to take some time for this. I've personally purchased a RPI4 for this (and also because I want one for other personal project 😉) so I will be able to work on this. |
Close this one as duplicate of #708 |
BTW, I recently released v9.3.1-1.3, which I hope will remain stable until next Arm release, so this is the recommended version for your next release. https://xpack.github.io/blog/2020/10/12/arm-none-eabi-gcc-v9-3-1-1-3-released/ |
Following Arm release 9-2020-q2-update from June 1st, the xPack GNU Arm Embedded GCC v9.3.1-1.1 was released:
https://xpack.github.io/blog/2020/07/03/arm-none-eabi-gcc-v9-3-1-1-1-released/
Please give it a try in your environment and, if everything is ok, possibly use it in your next release.
To be noted that this version also provides
armhf
andaarch64
binaries, which means they run on Raspberry Pi in both 32/64-bit variants.So the major hurdle for releasing the Arduino environment for Raspberry Pi (the toolchain) was overcome, you need only to provide the other tools.
@koendv already has some solutions for this (https://github.com/koendv/stm32duino-raspberrypi).
The text was updated successfully, but these errors were encountered: