Skip to content

treewide: Merge tag '0.55.0' into next#193

Open
soburi wants to merge 919 commits into
zephyrproject-rtos:nextfrom
soburi:merge-0.55.0
Open

treewide: Merge tag '0.55.0' into next#193
soburi wants to merge 919 commits into
zephyrproject-rtos:nextfrom
soburi:merge-0.55.0

Conversation

@soburi

@soburi soburi commented Jun 23, 2026

Copy link
Copy Markdown
Member

I would like to move this PR forward while acknowledging the concerns raised in #163.

When integrating repositories, merging the full history is unavoidable. Because we have already made a series of small incremental merges, this PR can now be structured almost as a simple file addition, with only a few exceptions, and without significantly changing behavior.
If we miss this opportunity to merge, the two trees are likely to diverge again, making future integration more difficult.

As shown by the contents of this PR, the actual change is mostly a single file addition. I believe it is now in a reviewable state. The added file has not yet been referenced from CMakeLists.txt; it is only placed in the tree for now.

I have also prepared documentation and records for the differences that have not yet been integrated.

Therefore, I expect the main remaining concern to be DCO-related. I think we should discuss that point separately, and I would appreciate your thoughts on it.

For now, let’s first organize the concerns and then address them one by one.

pillo79 and others added 30 commits February 10, 2026 12:15
Extract the summary information from a CI run and post it as a comment
on the corresponding PR.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The memory usage report in the Zephyr build is not always accurate when
it comes to the available memory for the application. Try to get the
same information from the partition sizes defined in the device tree or
the build configuration and display it in the report.

Write this more accurate information in the boards.txt files at
packaging time, so that the Arduino IDE and other tools can enforce the
maximum sketch size correctly.

Also check that the load address configured in boards.txt matches the
one used in the build, to avoid silent failures when uploading sketches.
Note other places in the variants (e.g. flash scripts) also rely on this
address, so it's important to keep it consistent.
Use suggested naming and provide native ARM64 builds for macOS.
ci: refactor with per-board test suite
Provide long-call trampolines for the LLEXT extension.
Precompiled toolchain libraries emit R_ARM_THM_JUMP24 / R_ARM_THM_CALL
relocations for the export libc functions. These have a +/-16 MB range
limit which is exceeded when the LLEXT is loaded in a different memory
region than the kernel.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
Create a concurrency group for the workflow to ensure that only one run of the
workflow is active for a given branch and actor at a time.

Make the retention for the build environment and API snapshot artifacts
only 1 day, as they are only needed for the duration of the workflow run
and do not need to be kept for longer.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
SSH access to Github depends on having an account. Using public HTTPS
URLs allows anyone to clone the repository and all submodules.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Since Arduino's `delayMicroseconds` is implemented as a busy loop,
we change it to using `k_busy_wait` to improve compatibility.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Correct the order of LED_BUILTIN definitions so that board-specific
definitions of LED_BUILTIN take precedence.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
There is no practical concern that the baud rate will exceed 32-bit size,
so there is no problem with casting.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Since the general Arduino implementation does not check the GPIO
direction, this check has been removed to improve compatibility.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
If gpio is not initialized, the pulseIn function will terminate
without running the timer.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Fixed to use %zd which corresponds to size_t.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
- fix official naming for App Lab
- make sure to install rsync, as it's used in 'extra/build.sh'
- Mention the very useful post from Per on how to switch between the
  official and local version of the core on the App Lab.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
build: Fix linker errors when using CPP features.
Older toolchains will not use the multi-step linking. Make sure the
rodata sections are merged into one to avoid wasting memory on small
one-item sections at LLEXT link time.
samples: hello_arduino: Correct printk format specifier
Previously, compilation of sketch programs that called `strnlen` would fail:

undefined reference to `strnlen'

The function is hereby made available for use in sketch programs.
experimental results here arduino#332 (comment)

On boards with different clock speed, function call overhead etc. the results may vary but will likely be consistent, given that all the boards share CONFIG_SYS_CLOCK_TICKS_PER_SEC
llext: Add strnlen to exported symbols
cores: arduino: zephyrSerial: Add cast to suppress warning
Arduino.h: Correct LED_BUILTIN define order
PR arduino#309 addressed the C++ issues that were
causing the Ethernet examples to fail to link. With those fixes in
place, these examples can be removed from the known issues list.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
extra/gen_rodata_ld: Add gen_rodata_ld tool.
misc: Implement two-pass linking to separate rodata sections.
pillo79 and others added 25 commits April 20, 2026 17:19
After arduino#370 the USB CDC device node for
SerialUSB was changed from `cdc_acm` to `cdc_acm_serial`. This commit
updates the code in `loader/main.c` to reflect this change. Use the same
logic and names found in `zephyrSerial.h` to ease maintenance.

Without this fix, the loader will fail to find the correct USB CDC
device node when SerialUSB is used, which in turn would not initialize
the logging subsystem at all.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
loader: fix USB CDC device node for SerialUSB
Since arduino#400 was merged, the FlashFormat example
is no longer expected to fail on these boards, so it must be removed from
the known issues list.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
It is possible that a race condition between pull requests and pushes
causes ci_calc_size_reports.py to fail when size information for the
base commit of a pull request is not available in AWS.

This only affects the generation of size reports, which is just a
nice-to-have but not critical part of the CI process. A failure will
still trigger a warning by upload-artifact later, when it detects the
artifact is missing.
opta/portentah7: remove tests from known issues
variant: portentac33: remove Ethernet clock from user PWM
Needed for the two functions
__aeabi_dadd
__aeabi_dcmpgt
cores: exports: Add double helper long jumps
variant: portentac33: add pwm configuration for analogWrite
- Test for a proper API folder setup; if the API header file is missing,
  remove any leftover content and checkout the API folder from the
  archive as well. This helps users that do not have a full Zephyr setup
  (especially on Windows, where the 'api' symlink is broken anyway).

- Check the provided core folder path maps to a CLI-compatible path
  ending with "hardware/*/zephyr", to avoid the user from mistakenly
  generating an invalid FQBN.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Detect the common case of users cloning the core with the original name
"ArduinoCore-zephyr" and warn them about it, as it causes library
detection issues.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
fix: add checks for local FQBN setup
Update the version of sync-zephyr-artifacts to 0.2.1 in _common.json to
import the latest changes with variable file names, core path checks,
and API folder processing.
tools: require sync-zephyr-artifacts 0.2.1
docs: clarify installation steps and folder naming
No longer available CONFIG_CPLUSPLUS.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
We are merging 0.55.0 from https://github.com/arduino/ArduinoCore-zephyr.
Aside from the following files, there are no substantial differences other
than the addition of new files:

- .gitignore
- variants/arduino_nano_33_ble_nrf52840_sense/arduino_nano_33_ble_nrf52840_sense.overlay

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Since USB has not yet been implemented in this repository,
cdc_acm_uart is disabled.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add `documentation/repos-diff-control.md` file to manage
difference with https://github.com/arduino/ArduinoCore-zephyr.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
@soburi soburi added the DNM This PR should not be merged (Do Not Merge) label Jun 23, 2026
@soburi soburi marked this pull request as ready for review June 23, 2026 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DNM This PR should not be merged (Do Not Merge)

Projects

None yet

Development

Successfully merging this pull request may close these issues.