1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-25 06:23:53 +01:00

345 Commits

Author SHA1 Message Date
Gunar Schorcht
d08425b017 cpu/esp_common/periph: add ESP32-C6 support 2025-07-28 19:14:23 +02:00
Gunar Schorcht
2cc9837fce cpu/esp_common: add IEEE802.15.4 as netdev_default for ESP32-C6 2025-07-28 19:14:23 +02:00
Gunar Schorcht
a36704e430 makefile/tools/esptool: update to version 5.0.0 2025-07-23 13:55:55 +02:00
Gunar Schorcht
c551744b76 cpu/esp_common: option to use a custom esptool.py removed 2025-07-23 10:52:56 +02:00
Gunar Schorcht
7581463192 cpu/esp_common: additional functions to FreeRTOS compatibility layer
Add additional functions to the FreeRTOS compatibility layer requiered by the BLE driver for the ESP32-H2.
2025-07-18 10:10:27 +02:00
Gunar Schorcht
ac47e644c6 cpu/esp_common: add IEEE 802.15.4 as netdev_default for ESP32-H2 2025-07-15 14:35:31 +02:00
Gunar Schorcht
cad71445d2 cpu/esp_common: migrate doc*.md to Markdown 2025-07-09 18:35:27 +02:00
Gunar Schorcht
797d35f7a2 cpu/esp_common: rename doc.txt to doc.md 2025-07-09 18:09:40 +02:00
Gunar Schorcht
31bc2e2092 cpu/esp_common: changes for ESP32-H2 support 2025-07-04 13:51:32 +02:00
Gunar Schorcht
19a7b0e77c cpu/esp_common/freertos: add static semaphore 2025-05-30 09:08:33 +02:00
Gunar Schorcht
545d0ab2fd cpu/esp_common/syscalls: enable multiheap for SPI RAM
For ESP8266, the `heap_caps_*_default` functions are simply mapped to the corresponding `heap_caps_*` functions because SPI RAM is not supported. But for ESP32x, where SPI RAM might be enabled, the implementation of the `heap_caps_*_default` functions of the ESP-IDF must be used, as these try to allocate memory blocks smaller than `CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL` from the internal memory first. This is important for some control data structures that must be located in the internal memory, such as the NVS partition table, in order to avoid access conflicts between SPI RAM and SPI flash memory.
2025-05-30 09:08:33 +02:00
Gunar Schorcht
9cca08151b cpu/esp32: remove esp_idf_api
This API which was added to prevent type conflicts is not needed any longer.
2025-05-28 18:00:26 +02:00
Gunar Schorcht
d81254b527 cpu/esp_common: uart_ll implementation
In order to avoid further unreadability of the source code due to conditional compilations when integrating further variants of ESP32x SoCs, the UART driver is ported to the low-level UART API of the ESP-IDF.
2025-05-28 17:55:43 +02:00
Gunar Schorcht
4eccc8bf09 cpu/esp_common: enable DEBUG_ASSERT_VERBOSE by default
Since there is not yet a working mechanism on ESPs to get the caller address within a function, `assert` always outputs 0x0 as the caller address. This makes absolutely no sense and makes debugging more difficult. `DEBUG_ASSERT_VERBOSE` is therefor enabled by default on ESPs.
2025-05-28 17:55:43 +02:00
Gunar Schorcht
5ab571453e cpu/esp_common/esp-now: migration to ESP-IDF v5.4 2025-05-28 17:55:42 +02:00
Gunar Schorcht
8eeeb99978 cpu/esp_common/esp-wifi: migration to ESP-IDF v5.4 2025-05-28 17:55:42 +02:00
Gunar Schorcht
5f58ebe90f cpu/esp_common/freertos: migration to ESP-IDF v5.4 2025-05-28 17:55:42 +02:00
Gunar Schorcht
e16bca41cd cpu/esp32/syscalls: migration to ESP-IDF v5.4 2025-05-28 17:55:42 +02:00
Gunar Schorcht
ac4281035a cpu/esp32/irq_arch: migration to ESP-IDF v5.4 2025-05-28 17:55:42 +02:00
Gunar Schorcht
6083a016aa cpu/esp32/periph/uart: migration to ESP-IDF v5.4 2025-05-28 17:55:42 +02:00
Gunar Schorcht
1788e2c777 cpu/esp32/periph/i2c: migration to ESP-IDF v5.4 2025-05-28 17:50:42 +02:00
Gunar Schorcht
a4e7227bd2 cpu/esp32/periph/flash: migration to ESP-IDF v5.4 2025-05-28 17:50:42 +02:00
Marian Buschsieweke
cac44edec7
tree-wide: replace multiple empty lines with one
For each C source/header `$file`: `sed -e '/^$/N;/^\n$/D' -i $file`.
2025-05-21 22:51:04 +02:00
KSKNico
fe821eaa1d cpu: replace header guards with #pragma once 2025-05-21 17:13:37 +02:00
Mikolai Gütschow
9a45c30222
examples: shorten subfolders' names 2025-02-21 09:55:24 +01:00
krzysztof-cabaj
a2dfd78b27 treewide: fix double the in doc and comments 2025-02-18 13:25:02 +01:00
Mikolai Gütschow
ca5fe72bf8
treewide: fix example references in docs
adapt to folder structure from #21135
2025-02-14 19:14:22 +01:00
Marian Buschsieweke
423e5ad690
cpu/esp_common: create partitions.csv more robustly
The generated `partitions.csv` needs to state the size of the flash
file. This so far used `ls -l | awk '{print $5}'` to achieve that, but
that is not robust, as the columns of `ls -l` depend on the tool and
system configuration used.

This commit replaces the call with `wc -c`, which should be more robust,
as `wc -c` behavior is POSIX specified.

Co-Authored-By: Karl Fessel <karl.fessel@ml-pa.com>
Co-Authored-By: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2025-02-04 17:51:12 +01:00
Benjamin Valentin
312a550f1a treewide: remove THREAD_CREATE_STACKTEST from thread creation 2024-07-29 11:45:58 +02:00
Marian Buschsieweke
59f37cd8f8
cpu/esp_common: fix compilation with modern newlib/gcc 2024-06-02 18:51:07 +02:00
Marian Buschsieweke
e93b5e4b98
core/thread: fix thread_measure_stack_free()
`thread_measure_stack_free()` previously assumed that reading past the
stack is safe. When the stack was indeed part of a thread, the
`thread_t` structure is put after the stack, increasing the odds of
this assumption to hold. However, `thread_measure_stack_free()` could
also be used on the ISR stack, which may be allocated at the end of
SRAM.

A second parameter had to be added to indicate the stack size, so that
reading past the stack can now be prevented.

This also makes valgrind happy on `native`/`native64`.
2024-05-31 19:54:10 +02:00
Marian Buschsieweke
97a6543c10
tree-wide: Introduce netif feature and use it
This gets rid of a long list of boards with network interfaces and
instead let's boards (or MCUs with peripheral network interfaces)
provide the netif feature.

The apps that before used the long list are not depending on the
feature instead (in case of the default example, this is an
optional dependency).

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
Co-authored-by: mewen.berthelot <mewen.berthelot@orange.com>
2024-05-22 10:39:56 +02:00
Marian Buschsieweke
b5650915c9
cpu/esp_common: esp_eth implements the legacy netdev API 2024-04-30 09:49:36 +02:00
Teufelchen1
01e78ed333 cpu/esp: Handle format print errors 2024-04-25 15:19:02 +02:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
MrKevinWeiss
7a68fb0d5e
*Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
MrKevinWeiss
0a9c51fdf9
*.config: Modify all .config kconfig files 2024-03-26 14:53:40 +01:00
MrKevinWeiss
0f2b71c60e
*Makefile.features: Remove TEST_KCONFIG includes 2024-03-26 14:53:39 +01:00
chrysn
c3020ce3b7 cpu/esp: Use CPU_ESP8266 define instead of the removed MCU_ESP8266
Follow-up-for: https://github.com/RIOT-OS/RIOT/pull/20397
Closes: https://github.com/RIOT-OS/RIOT/pull/20409
Closes: https://github.com/RIOT-OS/RIOT/pull/20415
2024-02-22 14:26:43 +01:00
chrysn
756a384442 makefiles, treewide: Remove MCU variable 2024-02-18 20:46:09 +01:00
Benjamin Valentin
2235dc2464 cpu/esp_common: flash: drop .write()
The old .write() function is only used as a fall-back if .write_page()
is not implemented.
We can drop it.
2023-12-13 16:50:41 +01:00
bors[bot]
03d3874e51
Merge #19465 #19981 #19995
19465: drivers/mtd: use XFA for pointers to defined MTDs r=benpicco a=gschorcht

### Contribution description

This PR provides the support to hold pointers to defined MTDs within a XFA. The XFA allows
- to access MTDs of different types (`mtd_flashpage`, `mtd_sdcard`, `mtd_emulated`, ...) by an index
- to determine the number of MTDs defined in the system.

### Testing procedure

To be defined once PR #19443 is merged because emulated MTDs will allow to test this PR on arbitrary boards.

### Porting Guide

For external boards:
 - remove the `MTD_NUMOF` definition from `board.h`
 - add `MTD_XFA_ADD(<mtd_dev>, <idx>);` to the definition of `<mtd_dev>`.
 - `MTD_0`, `MTD_1`, … defines are no longer needed.

### Issues/PRs references

 Related to PR #19443

19981: Fletcher32: Add incremental API r=benpicco a=bergzand

### Contribution description

This PR extends the current fletcher32 checksum with an incremental API mode. This way the bytes to be checksummed can be supplied via multiple successive calls and do not have to be provided in a single consecutive buffer.

I've also rephrased the warning with the original function a bit as that function uses an `unaligned_get_u16` to access the data. The data thus does not require alignment, but the length does need to be supplied as number of 16 bit words.

### Testing procedure

The test has been extended


### Issues/PRs references

None

19995: sys/psa_crypto: Fix macro for public key max size and SE example r=benpicco a=Einhornhool

### Contribution description
#### 1. Wrong public key size when using secure elements, introduced by  #19954
Fixed conditions for key size macros in `crypto_sizes.h`.

#### 2. EdDSA and ECDSA examples fail when using a secure element because of unsopported changes introduced by #19954
Updated `example/psa_crypto` to use only supported functions for secure elements.

### Testing procedure
Build `example/psa_crypto` for secure elements and run application

Output on master:
```
2023-10-19 14:33:24,372 # main(): This is RIOT! (Version: 2019.07-devel-22378-gb6772)
2023-10-19 14:33:24,372 # HMAC SHA256 took 56393 us
2023-10-19 14:33:24,372 # Cipher AES 128 took 68826 us
2023-10-19 14:33:24,372 # *** RIOT kernel panic:
2023-10-19 14:33:24,373 # HARD FAULT HANDLER
2023-10-19 14:33:24,373 # 
2023-10-19 14:33:24,373 # *** rebooting...

```
Output with fixes:
```
2023-10-19 13:35:24,715 # main(): This is RIOT! (Version: 2019.07-devel-22384-g8ef66-dev/psa-crypto-fixes)
2023-10-19 13:35:24,715 # HMAC SHA256 took 56374 us
2023-10-19 13:35:24,715 # Cipher AES 128 took 68805 us
2023-10-19 13:35:24,715 # ECDSA took 281164 us
2023-10-19 13:35:24,715 # All Done
```


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Lena Boeckmann <lena.boeckmann@haw-hamburg.de>
2023-10-19 19:01:12 +00:00
Marian Buschsieweke
edc43201db
tree-wide: fix typos in doc and comments
This should not change any generated binary
2023-10-16 12:17:48 +02:00
Gunar Schorcht
d535277ebb cpu/esp_common: use XFA with MTD pointers for Flash MTD 2023-10-02 12:28:08 +02:00
Benjamin Valentin
94771f95ae cpu/esp_common: esp-wifi: drop assert(val) 2023-08-01 23:06:11 +02:00
Gunar Schorcht
3d1f3fea46 cpu/esp_common: fix compilation issues gcc 12.2 2023-04-05 13:46:26 +02:00
Gunar Schorcht
8bea7c2b94 cpu/esp_common: add RINGBUF_TYPE_NOSPLIT to ringbuffer 2023-03-28 18:48:55 +02:00
Gunar Schorcht
343369476b cpu/esp32: remove ESP-IDF periph_ctrl interface API 2023-03-27 03:10:56 +02:00
Florian Lentz
48e7b34c32 cpu/esp_common: Add missing disconnect reasons 2023-03-16 15:55:28 +00:00
Benjamin Valentin
cebd768c08 cpu/esp_common: rename ESP_WIFI_EAP_* -> WIFI_EAP_* 2023-02-17 16:59:29 +01:00