1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

Merge pull request #20621 from dylad/pr/sam0/doc_update

boards: Update SAM0-based documentation
This commit is contained in:
Dylan Laduranty 2024-05-06 11:41:40 +00:00 committed by GitHub
commit 2d5e453c7c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 68 additions and 122 deletions

View File

@ -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

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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.
*/

View File

@ -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.
*/

View File

@ -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.
*/

View File

@ -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