Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

sam0_common: use size_t len for I2C transfers (fixes #19008) [backport 2022.10] #19019

Conversation

maribu
Copy link
Member

@maribu maribu commented Dec 5, 2022

Backport of #19009

See description in #19008 . I modified _read and _write in cpu/sam0_common/periph/i2c.c in order to use the declared len parameter.

@maribu maribu added Area: cpu Area: CPU/MCU ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Process: release backport Integration Process: The PR is a release backport of a change previously provided to master Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) labels Dec 5, 2022
@maribu maribu removed the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Dec 5, 2022
@maribu
Copy link
Member Author

maribu commented Dec 5, 2022

TODO: Wait for #19018 being merged, then rebase, then enable CI again.

@maribu maribu force-pushed the backport/2022.10/pr/sam0_common_i2c_size_t_issue branch from c18b774 to 1b6072d Compare December 6, 2022 16:23
@maribu maribu enabled auto-merge December 6, 2022 16:23
@maribu maribu added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Dec 6, 2022
@riot-ci
Copy link

riot-ci commented Dec 9, 2022

Murdock results

✔️ PASSED

1b6072d sam0_common: use size_t len for I2C transfers, as declared (fixes #19008)

Success Failures Total Runtime
115835 0 115836 01h:48m:28s

Artifacts

This only reflects a subset of all builds from https://ci-prod.riot-os.org. Please refer to https://ci.riot-os.org for a complete build for now.

@maribu
Copy link
Member Author

maribu commented Dec 11, 2022

bors merge

@maribu maribu disabled auto-merge December 11, 2022 10:26
@bors
Copy link
Contributor

bors bot commented Dec 11, 2022

Configuration problem:
bors.toml: not found

@maribu
Copy link
Member Author

maribu commented Dec 12, 2022

bors retry

@bors
Copy link
Contributor

bors bot commented Dec 12, 2022

Configuration problem:
bors.toml: not found

@kaspar030
Copy link
Contributor

bors retry

@bors
Copy link
Contributor

bors bot commented Dec 12, 2022

Configuration problem:
bors.toml: not found

@kaspar030
Copy link
Contributor

bors retry

bors bot added a commit that referenced this pull request Dec 12, 2022
19019: sam0_common: use size_t len for I2C transfers (fixes #19008) [backport 2022.10] r=maribu a=maribu

# Backport of #19009

See description in #19008 . I modified `_read` and `_write` in `cpu/sam0_common/periph/i2c.c` in order to use the declared `len` parameter.

19020: makefiles/tools/gdb.inc.mk: prefer $(target)-gdb over gdb-multiarch [backport 2022.10] r=maribu a=maribu

# Backport of #18784

### Contribution description

In an ideal world everyone would just install `gdb-multiarch` and be happy. However, some MCUs need magic GDB versions sprinkled with unicorn-stardust-Espressif-patches...

Since there is little reason to have `$(target)-gdb` installed in addition to `gdb-multiarch` if `gdb-multiarch` would work fine, let's assume the user wants to use `$(target)-gdb` when present over `gdb-multiarch`.

### Testing procedure

```
USEMODULE=esp_jtag make BOARD=esp32-ethernet-kit-v1_2 PROGRAMMER=openocd OPENOCD=openocd-esp32 debug -C examples/default
```

In `master`:

```
/home/maribu/Repos/software/RIOT/dist/tools/openocd/openocd.sh debug /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf
### Starting Debugging ###
Open On-Chip Debugger v0.11.0-snapshot (2022-10-21-10:40)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Reading symbols from /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf...
Remote debugging using :3333
Remote 'g' packet reply is too long (expected 180 bytes, got 420 bytes): 00040040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000004004096fec51c2500060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```

With this PR:

```
/home/maribu/Repos/software/RIOT/dist/tools/openocd/openocd.sh debug /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf
### Starting Debugging ###
DBG="xtensa-esp32-elf-gdb", GDB="xtensa-esp32-elf-gdb", DBG_FLAGS="-q -ex "tar ext :3333" "
Open On-Chip Debugger v0.11.0-snapshot (2022-10-21-10:40)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Reading symbols from /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf...
Remote debugging using :3333
0x40000400 in ?? ()
(gdb) start
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Temporary breakpoint 1 at 0x400d0024: file /data/riotbuild/riotbase/examples/default/main.c, line 37.
Note: automatically using hardware breakpoints for read-only addresses.
Starting program: /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf 
[esp32.cpu0] Target halted, PC=0x400D0024, debug_reason=00000001
Set GDB target to 'esp32.cpu0'

Temporary breakpoint 1, main () at /data/riotbuild/riotbase/examples/default/main.c:37
37	{
(gdb) show arch
The target architecture is set to "auto" (currently "xtensa").
(gdb) 

quit
A debugging session is active.

	Inferior 1 [Remote target] will be detached.

Quit anyway? (y or n) y

Detaching from program: /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf, Remote target
[Inferior 1 (Remote target) detached]
```

### Issues/PRs references

#18359 (comment)

19040: CI: add bors.toml from master r=kaspar030 a=kaspar030



19041: CI: update murdock yml [backport 2022.10] r=kaspar030 a=kaspar030

# Backport of #19022



Co-authored-by: Antonio Galea <antonio.galea@gmail.com>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
@bors
Copy link
Contributor

bors bot commented Dec 12, 2022

Build failed (retrying...):

@bors
Copy link
Contributor

bors bot commented Dec 12, 2022

Configuration problem:
bors.toml: not found

@kaspar030
Copy link
Contributor

bors merge

@bors
Copy link
Contributor

bors bot commented Dec 13, 2022

Build succeeded:

@bors bors bot merged commit 7ebbdc7 into RIOT-OS:2022.10-branch Dec 13, 2022
@maribu maribu deleted the backport/2022.10/pr/sam0_common_i2c_size_t_issue branch April 25, 2023 11:44
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Area: cpu Area: CPU/MCU ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Process: release backport Integration Process: The PR is a release backport of a change previously provided to master Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants