feat: add support for ARM64 architecture and include necessary binaries#111
feat: add support for ARM64 architecture and include necessary binaries#111fpistm merged 2 commits intostm32duino:mainfrom
Conversation
fpistm
left a comment
There was a problem hiding this comment.
Hi @Bucknalla
Thanks for this PR.
I don't want duplicate files. As the primary OS is linux I would like to kept only one directory linux/ then inside create 2 directory:
x86_64
aarch64
And update script to call binaries from the correct directory.
Ex:
case "${UNAME_ARCH}" in
x86_64)
DFU_UTIL=${DIR}/linux/x86_64/dfu-util
;;
aarch64|arm64)
DFU_UTIL=${DIR}/linux-arm64/aarch64/dfu-util
;;
*)
echo "Unsupported Linux architecture: ${UNAME_ARCH}."
exit 1
;;
esacThis will ease packaging as Arduino only consider windows, macosx and linux as differentiatior.
Then move script/ folder in the src/ directory, this will avoid to release them and the src/ directory goal is to contains all related stuff to generate the binaries.
Ex: src/linux-arm64/
And accordingly update the script to properly out in the correct folder if needed.
fpistm
left a comment
There was a problem hiding this comment.
Thanks for the quick update.
LGTM.
Not tested as I don't have such arch.
|
This is exciting! @fpistm do you have a release date scheduled for 2.4.0? |
|
The release is planned soon but linked to the STM32 core 2.12.0 which is also planned soon. 😉 |
Summary
This PR adds comprehensive ARM64 (aarch64) Linux support to Arduino_Tools, enabling STM32duino development on ARM64 systems such as Raspberry Pi 5, Linux Docker under MacOS (ARM64) etc.
ARM64 Linux systems are increasingly common in embedded development and IoT applications (Raspberry Pi 4+, cloud ARM instances, Apple Silicon via Linux VMs, etc.), but Arduino_Tools currently only provides x86_64 Linux binaries.
Adds ARM64 build script to use Docker to generate Linux ARM64 executables for:
Implements Arch/OS selecter for Linux ARM64 into maple_upload.sh and dfu-util.sh
Validation
Code formatting
Closing issues
Fixes #103