Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
19346: pkg/tinydtls: allow build for AVR r=benpicco a=benpicco



19512: SUBSYSTEMS.md: add jia200x to subsystems r=benpicco a=jia200x



19513: boards/nrf52840dongle/doc: Update nrfutil pointers r=benpicco a=chrysn

### Contribution description

Nordic changed its nrfutil; this change adjust to it.

I'm not fully happy with recommending that tool at all due to its bad quality (see rambling in RIOT-OS#19511), but short of soldering on a debug header or touch-probing it with wires it's the only way in to the device. I may later add follow-up recommendations to switch to riotboot, but this now at least fixes the immediate issue.

### Testing procedure

* Look at the updated documentation.

### Issues/PRs references

Closes: RIOT-OS#19511

19514: dist/testbed-support: remove obsolete boards from iotlab archi r=benpicco a=aabadie



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Jose Alamos <jose@alamos.cc>
Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
  • Loading branch information
6 people authored Apr 26, 2023
5 parents 36c5f2c + 824d2f8 + 32ec63b + 1ded4ed + bbf2ce5 commit 429de92
Show file tree
Hide file tree
Showing 16 changed files with 256 additions and 62 deletions.
40 changes: 40 additions & 0 deletions SUBSYSTEMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,28 @@ affect more than one module.
## Network devices
### IEEE 802.15.4

- José I. Álamos (@jia200x)

### NRF802154

- José I. Álamos (@jia200x)

### CC2538

- José I. Álamos (@jia200x)

### KW2XRF

- José I. Álamos (@jia200x)

### MRF24J40

- José I. Álamos (@jia200x)

### AT86RF2XX

- José I. Álamos (@jia200x)

#### AT86RF215

- Benjamin Valentin (@benpicco)
Expand All @@ -44,6 +66,8 @@ affect more than one module.

### LoRa

- José I. Álamos (@jia200x)

### CC110X

### ESP-NOW
Expand Down Expand Up @@ -101,6 +125,10 @@ affect more than one module.

- Benjamin Valentin (@benpicco)

#### Netif

- José I. Álamos (@jia200x)

#### UDP

- Martine S. Lenders (@miri64)
Expand All @@ -109,28 +137,40 @@ affect more than one module.

### OpenThread

- José I. Álamos (@jia200x)

### LWIP

- Martine S. Lenders (@miri64)

### OpenWSN

- José I. Álamos (@jia200x)

## Physical/Link Layer
### LoRaWAN

- José I. Álamos (@jia200x)

### BLE (nimble)

### IEEE 802.15.4

- José I. Álamos (@jia200x)

## Interfaces
### Sock

- Martine S. Lenders (@miri64)

### Netif

- José I. Álamos (@jia200x)

### Netdev

- José I. Álamos (@jia200x)

## Application protocols
### CoAP

Expand Down
22 changes: 9 additions & 13 deletions boards/nrf52840dongle/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,17 @@ reset button as well as 15 configurable external pins.
- [nRF52840 web page](https://www.nordicsemi.com/?sc_itemid=%7BCDCCA013-FE4C-4655-B20C-1557AB6568C9%7D)
- [documentation and hardware description](https://infocenter.nordicsemi.com/topic/ug_nrf52840_dongle/UG/nrf52840_Dongle/intro.html?cp=3_0_5)

### <a name=nrf52840dongle_flash> Flash the board </a>
### Flash the board {#nrf52840dongle_flash}

The board is flashed using its on-board boot loader; the
[nrfutil](https://github.com/NordicSemiconductor/pc-nrfutil) program needs to
be installed. That can turn the binary into a suitable zip file and send it to the
bootloader.
The board is flashed using its on-board boot loader; the proprietary
[nrfutil](https://www.nordicsemi.com/Products/Development-tools/nRF-Util) program needs to
be installed, and `nrfutil install nrf5sdk-tools` needs to be executed. Note
that nrfutil, even when not running the "install" command, will install itself
into `~/.nrfutil`. The older Python based version of nrfutil is no longer
maintained by Nordic, and has become dysfunctional on Python 3.11.

The process is automated in the usual `make flash` target.
The nrfutil can turn the binary into a suitable zip file and send it to the
bootloader. The process is automated in the usual `make flash` target.

If RIOT is already running on the board, it will automatically reset the CPU and enter
the bootloader.
Expand All @@ -45,13 +48,6 @@ manually by pressing the board's reset button.

Readiness of the bootloader is indicated by LD2 pulsing in red.

#### nrfutil installation

On systems with Python 2 available, `pip install nrfutil` works.

On systems with Python 3, a recent version of pip is required to install all dependencies;
you may need to run `pip install --upgrade pip` before being able to run `pip install nrfutil` successfully.

### Accessing STDIO

The usual way to obtain a console on this board is using an emulated USB serial port (CDC-ACM).
Expand Down
5 changes: 5 additions & 0 deletions cpu/avr8_common/avr_libc_extra/posix_unistd.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,4 +177,9 @@ ssize_t write(int fd, const void *src, size_t count)
#endif
}

void perror(const char *s)
{
printf("%s: %s\n", s, strerror(errno));
}

/** @} */
5 changes: 0 additions & 5 deletions dist/testbed-support/makefile.iotlab.archi.inc.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,12 @@ IOTLAB_ARCHI_b-l072z-lrwan1 = st-lrwan1:sx1276
IOTLAB_ARCHI_b-l475e-iot01a = st-iotnode:multi
IOTLAB_ARCHI_dwm1001 = dwm1001:dw1000
IOTLAB_ARCHI_firefly = firefly:multi
IOTLAB_ARCHI_frdm-kw41z = frdm-kw41z:multi
IOTLAB_ARCHI_iotlab-a8-m3 = a8:at86rf231
IOTLAB_ARCHI_iotlab-m3 = m3:at86rf231
IOTLAB_ARCHI_microbit = microbit:ble
IOTLAB_ARCHI_nrf51dk = nrf51dk:ble
IOTLAB_ARCHI_nrf52dk = nrf52dk:ble
IOTLAB_ARCHI_nrf52832-mdk = nrf52832mdk:ble
IOTLAB_ARCHI_nrf52840dk = nrf52840dk:multi
IOTLAB_ARCHI_nrf52840-mdk = nrf52840mdk:multi
IOTLAB_ARCHI_nucleo-wl55jc = nucleo-wl55jc:stm32wl
IOTLAB_ARCHI_pba-d-01-kw2x = phynode:kw2xrf
IOTLAB_ARCHI_samr21-xpro = samr21:at86rf233
IOTLAB_ARCHI_samr30-xpro = samr30:at86rf212b
IOTLAB_ARCHI_samr34-xpro = samr34:sx1276
Expand Down
28 changes: 18 additions & 10 deletions examples/dtls-echo/Makefile.ci
Original file line number Diff line number Diff line change
@@ -1,49 +1,57 @@
BOARD_INSUFFICIENT_MEMORY := \
airfy-beacon \
b-l072z-lrwan1 \
arduino-duemilanove \
arduino-leonardo \
arduino-mega2560 \
arduino-nano \
arduino-uno \
atmega1284p \
atmega328p \
atmega328p-xplained-mini \
atxmega-a3bu-xplained \
blackpill-stm32f103c8 \
blackpill-stm32f103cb \
bluepill-stm32f030c8 \
bluepill-stm32f103c8 \
bluepill-stm32f103cb \
calliope-mini \
cc2650-launchpad \
cc2650stk \
derfmega128 \
hifive1 \
hifive1b \
i-nucleo-lrwan1 \
im880b \
lsn50 \
maple-mini \
mega-xplained \
microbit \
nrf51dk \
microduino-corerf \
msb-430 \
msb-430h \
nrf51dongle \
nrf6310 \
nucleo-f030r8 \
nucleo-f031k6 \
nucleo-f042k6 \
nucleo-f070rb \
nucleo-f072rb \
nucleo-f103rb \
nucleo-f302r8 \
nucleo-f303k8 \
nucleo-f334r8 \
nucleo-l011k4 \
nucleo-l031k6 \
nucleo-l053r8 \
nucleo-l073rz \
opencm904 \
samd10-xmini \
saml10-xpro \
saml11-xpro \
slstk3400a \
spark-core \
stk3200 \
stm32f030f4-demo \
stm32f0discovery \
stm32f7508-dk \
stm32g0316-disco \
stm32l0538-disco \
stm32mp157c-dk2 \
telosb \
waspmote-pro \
yunjia-nrf51822 \
z1 \
zigduino \
#
14 changes: 1 addition & 13 deletions examples/dtls-sock/Makefile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,15 @@ BOARD_INSUFFICIENT_MEMORY := \
b-l072z-lrwan1 \
blackpill-stm32f103c8 \
blackpill-stm32f103cb \
bluepill-stm32f030c8 \
bluepill-stm32f103c8 \
bluepill-stm32f103cb \
bluepill-stm32f030c8 \
calliope-mini \
cc1350-launchpad \
cc2650-launchpad \
cc2650stk \
e104-bt5010a-tb \
e104-bt5011a-tb \
hifive1 \
hifive1b \
i-nucleo-lrwan1 \
im880b \
lsn50 \
maple-mini \
microbit \
nrf51dongle \
nrf6310 \
Expand All @@ -26,28 +20,22 @@ BOARD_INSUFFICIENT_MEMORY := \
nucleo-f042k6 \
nucleo-f070rb \
nucleo-f072rb \
nucleo-f103rb \
nucleo-f302r8 \
nucleo-f303k8 \
nucleo-f334r8 \
nucleo-l011k4 \
nucleo-l031k6 \
nucleo-l053r8 \
nucleo-l073rz \
olimexino-stm32 \
opencm904 \
samd10-xmini \
saml10-xpro \
saml11-xpro \
slstk3400a \
spark-core \
stk3200 \
stm32f030f4-demo \
stm32f0discovery \
stm32f7508-dk \
stm32g0316-disco \
stm32l0538-disco \
stm32mindev \
stm32mp157c-dk2 \
yunjia-nrf51822 \
#
22 changes: 20 additions & 2 deletions examples/gcoap_dtls/Makefile.ci
Original file line number Diff line number Diff line change
@@ -1,18 +1,34 @@
BOARD_INSUFFICIENT_MEMORY := \
airfy-beacon \
arduino-duemilanove \
arduino-leonardo \
arduino-mega2560 \
arduino-nano \
arduino-uno \
atmega1284p \
atmega328p \
atmega328p-xplained-mini \
atxmega-a1-xplained \
atxmega-a1u-xpro \
atxmega-a3bu-xplained \
b-l072z-lrwan1 \
blackpill-stm32f103c8 \
blackpill-stm32f103cb \
bluepill-stm32f030c8 \
bluepill-stm32f103c8 \
bluepill-stm32f103cb \
calliope-mini \
derfmega128 \
hifive1 \
hifive1b \
i-nucleo-lrwan1 \
im880b \
lsn50 \
mega-xplained \
microbit \
microduino-corerf \
msb-430 \
msb-430h \
nrf51dongle \
nrf6310 \
nucleo-f030r8 \
Expand All @@ -29,8 +45,6 @@ BOARD_INSUFFICIENT_MEMORY := \
samd10-xmini \
saml10-xpro \
saml11-xpro \
seeedstudio-gd32 \
sipeed-longan-nano \
slstk3400a \
stk3200 \
stm32f030f4-demo \
Expand All @@ -39,5 +53,9 @@ BOARD_INSUFFICIENT_MEMORY := \
stm32g0316-disco \
stm32l0538-disco \
stm32mp157c-dk2 \
telosb \
waspmote-pro \
yunjia-nrf51822 \
z1 \
zigduino \
#
5 changes: 4 additions & 1 deletion pkg/tinydtls/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ PKG_LICENSE=EPL-1.0,EDL-1.0

include $(RIOTBASE)/pkg/pkg.mk

CFLAGS += -Wno-implicit-fallthrough
# tinyDTLS custom logging functions pass non-literals to printf(), so disable them
ifneq (,$(filter arch_avr8,$(FEATURES_USED)))
CFLAGS += -DNDEBUG
endif

all:
$(QQ)"$(MAKE)" -C $(PKG_SOURCE_DIR) -f $(PKG_SOURCE_DIR)/Makefile.riot
Expand Down
3 changes: 0 additions & 3 deletions pkg/tinydtls/Makefile.dep
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ USEMODULE += tinydtls_aes
USEMODULE += tinydtls_ecc
USEMODULE += ztimer_msec

# TinyDTLS only has support for 32-bit architectures ATM
FEATURES_REQUIRED += arch_32bit

ifneq (,$(filter sock_dtls,$(USEMODULE)))
USEMODULE += tinydtls_sock_dtls
USEMODULE += ztimer_usec
Expand Down
Loading

0 comments on commit 429de92

Please sign in to comment.