From e06ee0c61013f7fdbe6b9260daef50104a0667f7 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Mon, 6 May 2024 10:10:44 +0200 Subject: [PATCH 1/8] boards/saml10-xpro: update board documentation Signed-off-by: Dylan Laduranty --- boards/saml10-xpro/doc.txt | 6 ------ 1 file changed, 6 deletions(-) diff --git a/boards/saml10-xpro/doc.txt b/boards/saml10-xpro/doc.txt index 64b37ed93b..c815470169 100644 --- a/boards/saml10-xpro/doc.txt +++ b/boards/saml10-xpro/doc.txt @@ -66,10 +66,4 @@ Connect the device to your Micro-USB cable. The standard method for flashing RIOT to the saml10-xpro is using EDBG. -## Supported Toolchains - -For using the saml10-xpro board we strongly recommend the usage of the -[GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) -toolchain. - */ From 9e1c2ec865307aa1b6932fa3d602a299c123be61 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Tue, 23 Apr 2024 15:19:02 +0200 Subject: [PATCH 2/8] boards/samr21-xpro: update board documentation Signed-off-by: Dylan Laduranty --- boards/samr21-xpro/doc.txt | 42 +++++++++++++------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/boards/samr21-xpro/doc.txt b/boards/samr21-xpro/doc.txt index b56bf643a9..75dc4c63d2 100644 --- a/boards/samr21-xpro/doc.txt +++ b/boards/samr21-xpro/doc.txt @@ -59,7 +59,7 @@ externally connected SPI devices. |:------------- |:--------------------- | | Type | 2.4GHz IEEE802.15.4 radio | | Vendor | Atmel | -| Datasheet | [Datasheet](http://www.atmel.com/images/atmel-8351-mcu_wireless-at86rf233_datasheet.pdf) | +| Datasheet | [Datasheet](http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8351-MCU_Wireless-AT86RF233_Datasheet.pdf) | | Connected to | SPI_0 | | Pin Config: | | | Device | SERCOM4 | @@ -80,19 +80,18 @@ this. | Device | ID | Supported | Comments | |:------------- |:------------- |:------------- |:------------- | -| MCU | samd21 | partly | Energy saving modes not fully utilized| +| MCU | samd21 | yes| | | Low-level driver | GPIO | yes | | | | PWM | yes | | -| | UART | yes | two UARTs by now| +| | UART | yes | | | | I2C | yes | | | | SPI | yes | | -| | ADC | yes | PA04 & PA05 disabled by default due to EDBG's use of them for UART, can be enabled from `periph_conf.h`| -| | USB | no | | +| | ADC | yes | PA04 & PA05 disabled by default due to EDBG's use of them for UART, can be enabled from `periph_conf.h`| +| | USB | yes | | | | RTT | yes | | | | RTC | yes | | -| | RNG | no | no HW module | | | Timer | yes | | -| Radio Chip | AT86RF233 | yes | using at86rf231 driver (this will be renamed to at86rf2xx) | +| Radio Chip | AT86RF233 | yes | using at86rf2xx driver | @@ -100,15 +99,16 @@ this. Connect the device to your Micro-USB cable using the port labeled as *EDBG*. -The standard method for flashing RIOT to the samr21-xpro is using OpenOCD. -For this to work properly, **you have to make sure to use a very recent version -of OpenOCD**. The v0.8.0 release will _not_ work. If this is still the current -release you'll have to build OpenOCD from source. +The standard method for flashing RIOT to the samr21-xpro is using [edbg](https://github.com/ataradov/edbg). +by calling: `make BOARD=samr21-xpro -C tests/leds flash` -Refer to https://github.com/RIOT-OS/RIOT/wiki/OpenOCD for building OpenOCD -and make sure "cmsis-dap" and "hidapi-libusb" are enabled. +Note that on Linux, you will need libudev-dev package to be installed. + +Users can also use openOCD to flash and/or debug the board using: +`PROGRAMMER=openocd make BOARD=samr21-xpro -C tests/leds flash` On Linux you will have to add a **udev** rule for hidraw, like + ``` bash echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"' \ @@ -119,6 +119,7 @@ sudo service udev restart ### Arch Linux With yaourt: ``` +yaourt -S libudev0 yaourt -S hidapi-git yaourt -S openocd-git # edit PKGBUILD, make sure "hidapi-libusb" is in "_features" @@ -172,14 +173,6 @@ flow control an external FTDI device must be connected to the board's rx, tx, cts & rts matching pin headers, eg. for `UART_DEV(0)` to `PA5`, `PA4`, `PA6` & `PA7` (respectively) on EXT1 headers. - -## Supported Toolchains - -For using the samr21-xpro board we strongly recommend the usage of the -[GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) -toolchain. - - ## Known Issues / Problems ### 64 character input limit on EDBG UART @@ -204,13 +197,6 @@ Tracked in https://github.com/RIOT-OS/RIOT/issues/2228 When using the SW0 user button as interrupt source it appears that this is triggered when just tipping on the button and not really pressing it. -### Not flashable by OpenOCD anymore -It can happen that OpenOCD is not able to program the board, because of wrong -clock configuration or low power modes. In this case you can use -[this little tool](https://github.com/ataradov/edbg) to erase the flash. Just follow the -instructions to build it and run `./edbg -e` to erase the flash. Then press the -reset button and you're able to program via OpenOCD again. - ### Flashing might not work in Virtual Box with macOS as host It might happen that flashing through OpenOCD works once inside Virtual Box. But when you try to flash again, you could get a CMSIS-DAP related error. It From 2dcc97307ff66e03df0752cbc941b7af6e4ea653 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Mon, 6 May 2024 10:10:57 +0200 Subject: [PATCH 3/8] boards/saml11-xpro: update board documentation Signed-off-by: Dylan Laduranty --- boards/saml11-xpro/doc.txt | 6 ------ 1 file changed, 6 deletions(-) diff --git a/boards/saml11-xpro/doc.txt b/boards/saml11-xpro/doc.txt index fba803d933..07fc18805a 100644 --- a/boards/saml11-xpro/doc.txt +++ b/boards/saml11-xpro/doc.txt @@ -79,10 +79,4 @@ flash memory. Such action can be done with the following EDBG command: or pass it as argument when calling make: EDBG_ARGS="-F w0,194,1" BOARD=saml11-xpro make flash term -C tests/periph/uart -## Supported Toolchains - -For using the saml11-xpro board we strongly recommend the usage of the -[GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) -toolchain. - */ From b97167210ad48a62116217a9dfbbac86c224fb0c Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Tue, 23 Apr 2024 15:18:50 +0200 Subject: [PATCH 4/8] boards/saml21-xpro: update board documentation Signed-off-by: Dylan Laduranty --- boards/saml21-xpro/doc.txt | 50 ++++++++++++-------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/boards/saml21-xpro/doc.txt b/boards/saml21-xpro/doc.txt index 523440d96a..6477bdb4ed 100644 --- a/boards/saml21-xpro/doc.txt +++ b/boards/saml21-xpro/doc.txt @@ -55,18 +55,19 @@ indiscriminately; | Device | ID | Supported | Comments | |:------------- |:------------- |:------------- |:------------- | -| MCU | saml21 | partly | PLL clock not implemented | +| MCU | saml21 | yes | | | Low-level driver | GPIO | yes | | -| | PWM | no | | -| | UART | yes | | +| | PWM | yes | | +| | UART | yes | | | | I2C | yes | | | | SPI | yes | | -| | USB | no | | +| | USB | yes | | | | RTT | yes | | -| | RTC | yes | | -| | RNG | no | | -| | Timer | yes | | -| | ADC | yes | | +| | RTC | yes | | +| | RNG | yes | | +| | Timer | yes | | +| | ADC | yes | | +| | DAC | yes | | @@ -74,17 +75,13 @@ indiscriminately; Connect the device to your Micro-USB cable using the port labeled as *EDBG*. -The standard method for flashing RIOT to the saml21-xpro is using OpenOCD. -Please note that even the latest official OpenOCD (v0.9 at the time of this -writing) does not support B-variant SAML21 devices. +The standard method for flashing RIOT to the saml21-xpro is using [edbg](https://github.com/ataradov/edbg). +by calling: `make BOARD=saml21-xpro -C tests/leds flash` -If you attempt to flash a board, and OpenOCD throws a `Couldn't find part -corresponding to DID XXXXXXXX` error, you will need to compile your own OpenOCD -from source. +Note that on Linux, you will need libudev-dev package to be installed. -Refer to https://github.com/RIOT-OS/RIOT/wiki/OpenOCD for general -instructions on building OpenOCD and make sure "cmsis-dap" and "hidapi-libusb" -are enabled. +Users can also use openOCD to flash and/or debug the board using: +`PROGRAMMER=openocd make BOARD=saml21-xpro -C tests/leds flash` On Linux you will have to add a **udev** rule for hidraw, like ``` @@ -97,6 +94,7 @@ sudo service udev restart ### Arch Linux With yaourt: ``` +yaourt -S libudev0 yaourt -S hidapi-git yaourt -S openocd-git # edit PKGBUILD, add "cmsis-dap hidapi-libusb" to "_features" @@ -107,24 +105,6 @@ Although this refers to setting up the SAMR21, this guide is still very helpful to understanding how to set up a solid RIOT development environment for the SAML21: http://watr.li/samr21-dev-setup-ubuntu.html -## Supported Toolchains - -For using the saml21-xpro board we strongly recommend the usage of the [GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) -toolchain. - - ## Known Issues / Problems -### Stack sizes -The default stack sizes have not been tuned properly yet. If in doubt why -your application crashes try increasing the default stack sizes and use `ps` to -find out how much stack is being used. -Tracked in https://github.com/RIOT-OS/RIOT/issues/2228 - -### Not flashable by OpenOCD anymore -It can happen that OpenOCD is not able to program the board, because of wrong -clock configuration or low power modes. In this case you can use -[this little tool](https://github.com/ataradov/edbg) to erase the flash. Just follow the -instructions to build it and run `./edbg -e` to erase the flash. Then press the -reset button and you're able to program via OpenOCD again. */ From 82c7c6053d464f4d398c84789722d4b0450c14f6 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Tue, 23 Apr 2024 15:18:37 +0200 Subject: [PATCH 5/8] boards/same54-xpro: update board documentation Signed-off-by: Dylan Laduranty --- boards/same54-xpro/doc.txt | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/boards/same54-xpro/doc.txt b/boards/same54-xpro/doc.txt index 7638959812..c3e0628133 100644 --- a/boards/same54-xpro/doc.txt +++ b/boards/same54-xpro/doc.txt @@ -49,13 +49,13 @@ The same54-xpro is available from various hardware vendors for ~70USD (as of | Device | ID | Supported | Comments | |:---------------- |:--------- |:--------- |:--------- | -| MCU | same54 | partly | | +| MCU | same54 | yes | | | Low-level driver | GPIO | yes | | | | ADC | yes | | -| | CAN | no | | +| | CAN | yes | | | | DAC | yes | | | | QSPI | no | see #15300| -| | SD/MMC | no | | +| | SD/MMC | yes |SDCard only| | | PWM | yes | | | | UART | yes | | | | I2C | yes | | @@ -73,7 +73,14 @@ The same54-xpro is available from various hardware vendors for ~70USD (as of Connect the device to your Micro-USB cable using the port labeled as *DEBUG USB*. -The standard method for flashing RIOT to the same54-xpro is using EDBG. +The standard method for flashing RIOT to the same54-xpro is using [edbg](https://github.com/ataradov/edbg). +by calling: `make BOARD=same54-xpro -C tests/leds flash` + +Note that on Linux, you will need libudev-dev package to be installed. + +Users can also use openOCD to flash and/or debug the board using: +`PROGRAMMER=openocd make BOARD=same54-xpro -C tests/leds flash` + On Linux you will have to add a **udev** rule for hidraw, like ``` @@ -83,12 +90,6 @@ echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"' \ sudo service udev restart ``` -## Supported Toolchains - -For using the same54-xpro board we strongly recommend the usage of the -[GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) -toolchain. - ## Known Issues / Problems */ From b0ecfaebb0bc43f0b34e7c310cdd21429de782f5 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Tue, 23 Apr 2024 15:18:15 +0200 Subject: [PATCH 6/8] boards/samd21-xpro: update board documentation Signed-off-by: Dylan Laduranty --- boards/samd21-xpro/doc.txt | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/boards/samd21-xpro/doc.txt b/boards/samd21-xpro/doc.txt index e687c92e88..58c543ecb7 100644 --- a/boards/samd21-xpro/doc.txt +++ b/boards/samd21-xpro/doc.txt @@ -11,7 +11,7 @@ controller. For programming the MCU comes with 32Kb of RAM and 256Kb of flash memory. The samd21-xpro is available from various hardware vendors for ~30USD (as of -2017May). +2017 May). ## Hardware @@ -50,31 +50,30 @@ The samd21-xpro is available from various hardware vendors for ~30USD (as of | Device | ID | Supported | Comments | |:------------- |:------------- |:------------- |:------------- | -| MCU | samd21 | partly | DFLL clock not implemented | +| MCU | samd21 | yes | | | Low-level driver | GPIO | yes | | | | ADC | yes | | | | PWM | yes | | | | UART | yes | | -| | I2C | unknown | | -| | SPI | yes | | -| | USB | no | | +| | I2C | yes | | +| | SPI | yes | | +| | USB | yes | | | | RTT | yes | | -| | RTC | yes | | -| | RNG | unknown | | -| | Timer | yes | | - - +| | RTC | yes | | +| | Timer | yes | | ## Flashing the device Connect the device to your Micro-USB cable using the port labeled as *DEBUG USB*. -The standard method for flashing RIOT to the samd21-xpro is using OpenOCD. +The standard method for flashing RIOT to the samd21-xpro is using [edbg](https://github.com/ataradov/edbg). +by calling: `make BOARD=samd21-xpro -C tests/leds flash` -Refer to https://github.com/RIOT-OS/RIOT/wiki/OpenOCD for general -instructions on building OpenOCD and make sure "cmsis-dap" and "hidapi-libusb" -are enabled. +Note that on Linux, you will need libudev-dev package to be installed. + +Users can also use openOCD to flash and/or debug the board using: +`PROGRAMMER=openocd make BOARD=samd21-xpro -C tests/leds flash` On Linux you will have to add a **udev** rule for hidraw, like ``` @@ -87,6 +86,7 @@ sudo service udev restart ### Arch Linux With yaourt: ``` +yaourt -S libudev0 yaourt -S hidapi-git yaourt -S openocd-git # edit PKGBUILD, add "cmsis-dap hidapi-libusb" to "_features" @@ -97,12 +97,6 @@ Although this refers to setting up the SAMR21, this guide is still very helpful to understanding how to set up a solid RIOT development environment for the SAMD21: http://watr.li/samr21-dev-setup-ubuntu.html -## Supported Toolchains - -For using the samd21-xpro board we strongly recommend the usage of the -[GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) -toolchain. - ## Known Issues / Problems */ From ff8aa43c94b9dc1c72f0433271f9f6158a34ad79 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Tue, 23 Apr 2024 15:17:46 +0200 Subject: [PATCH 7/8] boards/samd10-xmini: update board documentation Signed-off-by: Dylan Laduranty --- boards/samd10-xmini/doc.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/boards/samd10-xmini/doc.txt b/boards/samd10-xmini/doc.txt index b2ed9cf005..1d68cbf696 100644 --- a/boards/samd10-xmini/doc.txt +++ b/boards/samd10-xmini/doc.txt @@ -50,7 +50,13 @@ The samd10-xmini is available from various hardware vendors for ~8€ (as of Connect the device to your Micro-USB cable using the port labeled as *DEBUG USB*. -The standard method for flashing RIOT to the samd10-xmini is using EDBG. +The standard method for flashing RIOT to the samd10-xmini is using [edbg](https://github.com/ataradov/edbg). +by calling: `make BOARD=samd10-xmini -C tests/leds flash` + +Note that on Linux, you will need libudev-dev package to be installed. + +Users can also use openOCD to flash and/or debug the board using: +`PROGRAMMER=openocd make BOARD=samd10-xmini -C tests/leds flash` On Linux you will have to add a **udev** rule for hidraw, like ``` @@ -59,12 +65,6 @@ echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"' \ sudo service udev restart ``` -Then you can flash the device as usual - -``` -make BOARD=samd10-xmini flash -``` - ## Known Issues / Problems ### I2C From c68b1fea7f16eaa9580e1df61d56f8cb0ca14762 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Tue, 23 Apr 2024 15:18:04 +0200 Subject: [PATCH 8/8] boards/samd20-xpro: update board documentation Signed-off-by: Dylan Laduranty --- boards/samd20-xpro/doc.txt | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/boards/samd20-xpro/doc.txt b/boards/samd20-xpro/doc.txt index dc7c2bc1b3..c41ce167b5 100644 --- a/boards/samd20-xpro/doc.txt +++ b/boards/samd20-xpro/doc.txt @@ -47,11 +47,13 @@ memory. Connect the device to your Micro-USB cable using the port labeled as *DEBUG USB*. -The standard method for flashing RIOT to the samd20-xpro is using OpenOCD. +The standard method for flashing RIOT to the samd20-xpro is using [edbg](https://github.com/ataradov/edbg). +by calling: `make BOARD=samd20-xpro -C tests/leds flash` -Refer to https://github.com/RIOT-OS/RIOT/wiki/OpenOCD for general -instructions on building OpenOCD and make sure "cmsis-dap" and "hidapi-libusb" -are enabled. +Note that on Linux, you will need libudev-dev package to be installed. + +Users can also use openOCD to flash and/or debug the board using: +`PROGRAMMER=openocd make BOARD=samd20-xpro -C tests/leds flash` On Linux you will have to add a **udev** rule for hidraw, like ``` @@ -64,6 +66,7 @@ sudo service udev restart ### Arch Linux With yaourt: ``` +yaourt -S libudev0 yaourt -S hidapi-git yaourt -S openocd-git # edit PKGBUILD, add "cmsis-dap hidapi-libusb" to "_features" @@ -74,12 +77,6 @@ Although this refers to setting up the SAMR21, this guide is still very helpful to understanding how to set up a solid RIOT development environment for the SAMD20: http://watr.li/samr21-dev-setup-ubuntu.html -## Supported Toolchains - -For using the samd20-xpro board we strongly recommend the usage of the -[GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) -toolchain. - ## Known Issues / Problems */