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

7423 Commits

Author SHA1 Message Date
Francisco
60f3410ae0
Merge pull request #17671 from PeterKietzmann/pr_puf_sram_esp32
cpu/esp32: enable puf_sram feature
2022-02-18 11:45:49 +01:00
Francisco
1a54357e2a
Merge pull request #17665 from PeterKietzmann/pr_puf_sram_riscv
cpu/riscv_common: enable puf_sram feature
2022-02-18 10:25:13 +01:00
Jue
4bb6a764ea cpu/efm32: select series-specific drivers in periph Makefile
This will allow to share implementations across a subset of EFM32 series.
2022-02-17 11:09:24 +01:00
PeterKietzmann
b348c9ff11 cpu/esp32: enable puf_sram feature 2022-02-17 11:08:11 +01:00
PeterKietzmann
6215b7e630 cpu/riscv_common: add puf_sram feature 2022-02-16 15:18:37 +01:00
c5b3934767 cpu/native: improve getpid() stub message 2022-02-16 11:38:32 +01:00
PeterKietzmann
992e09b07b cpu/riscv_common: add bss end to clear memory 2022-02-16 10:52:09 +01:00
PeterKietzmann
dd4fe70a62 cpu/riscv_common: add noinit section to ld script 2022-02-16 10:48:31 +01:00
Karl Fessel
726c461cb5
Merge pull request #17574 from kfessel/p-fix-asserth
core/assert: avoid including panic.h with assert.h
2022-02-15 11:57:55 +01:00
Karl Fessel
5e42af7935 cpu/stm32: i2c include panic.h 2022-02-12 18:30:58 +01:00
benpicco
561157ce72
Merge pull request #17635 from jenswet/feature/netdev_tap_register
cpu/native/netdev_tap: Add to netdev_register
2022-02-11 11:52:04 +01:00
Jens Wetterich
4dfeafcabd cpu/native/netdev_tap: Add to netdev_register 2022-02-11 07:54:11 +01:00
MrKevinWeiss
58097a20aa
cpu/stm32: clk tree account for 16 MHz 2022-02-10 13:27:50 +01:00
Kevin "Tristate Tom" Weiss
d97eed54a1
Merge pull request #17525 from fjmolinas/pr_esp_compile_test_boards
[POC] tests/external-boards: add esp compile test boards
2022-02-10 08:31:12 +01:00
benpicco
be45400631
Merge pull request #17341 from benpicco/vfs-mtd_cleanup
sys/vfs: add file-system auto-mount
2022-02-09 21:50:34 +01:00
Francisco
70e6e695f6
Merge pull request #17616 from fjmolinas/pr_spi_gpio_mode_sam
cpu/sam0_common: add periph_spi_init_gpio
2022-02-09 21:45:51 +01:00
Francisco Molina
c1238ad4e4 cpu/esp: model missing modules 2022-02-09 16:50:04 +01:00
Benjamin Valentin
fc4cd0484b cpu/native: change mtd_native_dev_t parent name to base
This brings it in line with the other MTD implementations.
2022-02-09 12:21:53 +01:00
benpicco
7dca69c182
Merge pull request #17617 from fjmolinas/pr_spi_gpio_mode_nrf
cpu/nrf52-9160: add periph_spi_init_gpio
2022-02-08 13:24:57 +01:00
Francisco Molina
067fa7502d cpu/sam0_common: add periph_spi_init_gpio 2022-02-08 09:21:44 +01:00
Francisco Molina
4906353cfe cpu/nrf52-9160: add periph_spi_init_gpio 2022-02-08 09:17:48 +01:00
MrKevinWeiss
656be63fc0
cpu/stm32/wl: Model clock tree in kconfig 2022-02-07 13:58:43 +01:00
MrKevinWeiss
68e94ea2aa
cpu/stm32: Add clock config for mp1 to kconfig 2022-02-03 12:20:53 +01:00
MrKevinWeiss
7bebbc5545
cpu/stm32: Fix clock config in kconfig 2022-02-01 13:58:07 +01:00
chrysn
716cd8f48b cpu/nrf52 radio: Populate info
According to ieee802154_radio_confirm_transmit docs, the parameter of
confirm_op for IEEE802154_HAL_OP_TRANSMIT is to be populated as an out
parameter -- but this implementation unconditionally left info
unpopulated. Thus, when run with LLVM, _fsm_state_tx_process_tx_done
looked into an uninitialized info and thus crashed into failing
assertions.

Closes: https://github.com/RIOT-OS/RIOT/issues/17591
2022-01-30 16:13:04 +01:00
benpicco
39ad2012ba
Merge pull request #17583 from benpicco/cpu/native-afl_gcc_fix
cpu/native: fix build with afl-gcc 11.2
2022-01-28 10:19:32 +01:00
Benjamin Valentin
4c9f1e0ca4 cpu/native: fix build with afl-gcc 11.2
Building `fuzzing/gcoap` with afl-gcc 11.2 gives

/home/benpicco/dev/RIOT/cpu/native/native_cpu.c: In function ‘thread_stack_init’:
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:120:11: error: variable ‘stk’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
  120 |     char *stk = NULL;
      |           ^~~
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:118:72: error: argument ‘stack_start’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
  118 | char *thread_stack_init(thread_task_func_t task_func, void *arg, void *stack_start, int stacksize)
      |

We can re-write the function to not use this temporary variable and the error goes away.
2022-01-27 21:09:59 +01:00
benpicco
4ed9d8fd5c
Merge pull request #17581 from nmeum/riscv-linker-rom-region
cpu/riscv_common: fix undeclared memory region linker error
2022-01-27 17:06:43 +01:00
chrysn
f7dfa2f84d
Merge pull request #17133 from chrysn-pull-requests/doc-develhelp-stackoverflow-precision
doc: Start documenting pseudomodules
2022-01-27 15:09:22 +01:00
Sören Tempel
e41063d40e cpu/riscv_common: fix undeclared memory region linker error
Since commit 3a11b1fbd2 (#16972)
building RIOT applications with `BOARD=hifive1` causes the following
linker error to be emitted on my system:

	/opt/rv32imc/lib/gcc/riscv32-unknown-elf/10.2.0/../../../../riscv32-unknown-elf/bin/ld:riscv_base.ld:220: warning: memory region `rom' not declared

This is due to the fact that the RISC-V linker script doesn't have a rom
memory region. While many other ARM-based boards have a rom memory
region defined in the linker script, the corresponding region name in
the RISC-V linker script is flash and rom is not declared as a memory
region hence the warning.

I think this was accidentally overlooked in
3a11b1fbd2. It is fixed in this commit by
replacing the rom region with the flash region. The linker script
identifiers (e.g. _srom and _erom) are not renamed.
2022-01-27 15:02:50 +01:00
chrysn
bb8402fc0b doc: Document the MPU pseudomodules 2022-01-27 13:49:25 +01:00
chrysn
99d245f538
Merge pull request #17520 from chrysn-pull-requests/rust-enable-riscv
cpu/riscv_common: Enable Rust applications
2022-01-26 19:14:50 +01:00
Gunar Schorcht
c0dc6ccc71 cpu/esp32: set SDK configuration dependent on newlib_nano module 2022-01-25 00:37:08 +01:00
Gunar Schorcht
fdabe050ed cpu/esp32: skip inclusion of toolchain pthread types
The toolchain provides POSIX type definitions for pthread which conflicts with that in RIOT. With the CFLAGS/CXXFLAGS skip the inclusion of the types shipped by the toolchain.
2022-01-25 00:36:51 +01:00
Gunar Schorcht
2ccfb145a1 cpu/esp32: add missing POSIX functions 2022-01-25 00:36:51 +01:00
Gunar Schorcht
1d20f88bb0 cpu/esp32: set stdout/stderr to be non-buffering 2022-01-25 00:36:51 +01:00
Gunar Schorcht
e1c6306bf4 cpu/esp32: replace bzero by memset 2022-01-25 00:36:51 +01:00
Gunar Schorcht
e15e18b195 cpu/esp32: fix compilation errors 2022-01-25 00:36:51 +01:00
Gunar Schorcht
839cf4223d cpu/esp32: changes for retagetable locking 2022-01-25 00:36:51 +01:00
Gunar Schorcht
881a92fe47 cpu/esp32: remove types.h in sys include 2022-01-25 00:36:51 +01:00
benpicco
c18f1c2a9b
Merge pull request #17455 from gschorcht/cpu/esp32/sdk-as-package
cpu/esp32: download Espressif SDK ESP-IDF as package
2022-01-24 16:13:04 +01:00
benpicco
2520b5c608
Merge pull request #16870 from fabian18/cpu_stm32_add_periph_backup_ram
cpu/stm32: make backup SRAM available
2022-01-21 18:09:42 +01:00
Fabian Hüßler
70d3d647d1 cpu/{cortexm_common, stm32}: add support for backup RAM 2022-01-21 15:53:18 +01:00
Gunar Schorcht
6c3e7c5db7 cpu/esp*: nfs_flash/cpp dependency cleanup
Module `esp_idf_nvs_flash` uses C++ code. Since  `esp_idf_nvs_flash` module is always enabled on ESP8266, the permanent dependency on `cpp` is correct. But on ESP32, the `esp_idf_nvs_flash` module is only enabled if `esp_wifi_any` is used. Only in that case the compilation should depend on module `cpp`.
2022-01-21 13:32:56 +01:00
Francisco
007f8d07ce
Merge pull request #17535 from fjmolinas/pr_cc2538_set_counter
cpu/cc2538/rtt: fix rtt_set_counter
2022-01-19 08:15:22 +01:00
5e599a82dd
Merge pull request #17531 from fjmolinas/pr_spi_gpio_init_reference
drivers/periph_spi: spi_init_with_gpio_mode mode by reference
2022-01-18 18:44:54 +01:00
Francisco Molina
8c8ab47806 cpu/cc2538/rtt: fix rtt_set_counter 2022-01-18 16:39:04 +01:00
Francisco Molina
579ca6d941 drivers/periph_spi: spi_init_with_gpio_mode mode by reference 2022-01-18 16:22:18 +01:00
benpicco
e07fb44408
Merge pull request #17363 from fjmolinas/pr_lpc23xx-mci_ztimer
cpu/lpc23xx-mci: migrate to ztimer_msec
2022-01-17 16:11:25 +01:00
Gunar Schorcht
183562b947
Merge pull request #16341 from fjmolinas/pr_esp_rename_clock_coreclock
cpu/esp32: use macros/units
2022-01-17 15:22:23 +01:00
Marian Buschsieweke
8549ff2f7d
Merge pull request #17479 from gschorcht/cxxexflags_cpp+14
makefiles: use C++14 standard by default for C++ compilations
2022-01-17 13:42:41 +01:00
Francisco Molina
91c67c7a0e cpu/lpc23xx-mci: migrate to ztimer_msec 2022-01-17 12:47:03 +01:00
Francisco Molina
b9d1461b38 cpu/esp32: use macros/units 2022-01-17 12:28:11 +01:00
chrysn
d391b1c5f4 cpu/riscv_common: Enable Rust applications
This contains a workaround for
https://github.com/rust-lang/rust-bindgen/issues/1555 (withouot which
bindgen would fail, with little information helping remedy the cause)
2022-01-14 13:42:32 +01:00
Gunar Schorcht
60793f14ae cpu/esp*/vendor: remove -std=c++11 2022-01-13 17:50:59 +01:00
Jose Alamos
874a13e090
ieee802154/hal: remove RX continuous cap 2022-01-10 13:57:03 +01:00
Jose Alamos
db815aa779
ieee802154/hal: migrate to request_op and confirm_op 2022-01-10 13:57:02 +01:00
951ffb267b
Merge pull request #17483 from benpicco/cpu/sam0_common-mux
cpu/sam0_common: add missing MUX definitions
2022-01-07 20:43:33 +01:00
4e582b360f
cpu/stm32: add disp_dev interface for LTDC 2022-01-07 14:32:24 +01:00
deccc720e3
cpu/stm32: add support for LTDC periph 2022-01-07 14:32:24 +01:00
Benjamin Valentin
e0f28f81d0 cpu/sam0_common: add missing MUX definitions
This adds the missing PINMUX modes to the enum.
2022-01-07 13:03:11 +01:00
8272e4fbd2
Merge pull request #17359 from benpicco/irq_is_in-bool
core: change return type of irq_is_in(), irq_is_enabled() to bool
2022-01-06 18:13:20 +01:00
3c0e405f32
boards/cc2538: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:10 +01:00
c6c31f0361
boards/kinetis: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
796e127df9
boards/stm32: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
Gunar Schorcht
2e820a09fc cpu/esp32: print SDK version with esp_log_startup 2022-01-04 16:35:47 +01:00
Gunar Schorcht
81727fb1f1 pkg/esp32_sdk_libs: add ESP SDK libraries as package
The vendor binary libraries of ESP-IDF are provided as a separate GIT repository. These libraries are defined as separate package for two reasons: 1. RIOT packages don't support to clone GIT repositories recursively; 2. ESP-IDF pulls a lot of other GIT repositories that are not needed when it is cloned recursively.
2022-01-04 16:34:31 +01:00
Gunar Schorcht
f9105c3cc1 cpu/esp32: use INCLUDES as defined in pkg/esp32_sdk
The include pathes for the ESP32 SDK are now defined by `pkg/esp32_sdk`. They can be used in Makefiles directly.
2022-01-04 16:34:31 +01:00
Gunar Schorcht
d6c2926933 pkg/esp32_sdk: add ESP32 SDK without libraries as package
The vendor binary libraries of ESP-IDF are provided as a separate GIT repository. These libraries are defined as separate package for two reasons: 1. RIOT packages don't support to clone GIT repositories recursively; 2. ESP-IDF pulls a lot of other GIT repositories that are not needed when it is cloned recursively.
2022-01-04 16:34:31 +01:00
Marian Buschsieweke
30b3f9ad55
Merge pull request #17464 from gschorcht/sys/new_delete_module
sys/new_delete: add malloc/free based new/delete implementation
2022-01-04 14:50:30 +01:00
1a3f2d908a
Merge pull request #17424 from gschorcht/cpu/esp/kconfig_cpu_frequency
cpu/esp: integrate CPU clock frequency selection in Kconfig
2022-01-04 12:06:56 +01:00
05da606ea6
Merge pull request #17438 from gschorcht/cpu/esp/feature_cleanup
boards/esp* and cpu/esp: feature definition cleanup
2022-01-04 10:51:33 +01:00
Gunar Schorcht
d778e77c97 cpu/avr8_common: use C++ new and delete operator 2022-01-03 23:35:35 +01:00
4d75c6ddde
cpu/stm32: group periph definitions by periph type 2022-01-02 20:07:51 +01:00
benpicco
40a6000cc5
Merge pull request #17410 from aabadie/pr/cpu/stm32u5
cpu/stm32: add support for U5 family
2022-01-02 18:45:57 +01:00
Benjamin Valentin
8607a9cdfa
cpu/stm32: extend RAM with SRAM4 2022-01-02 15:43:37 +01:00
Gunar Schorcht
523bcec8ee cpu/esp*: small documentation fixes
Only formatting issues solved, no content changes.
2021-12-30 14:43:31 +01:00
2f0efa8c9e
cpu/stm32: add initial support for stm32u5 family 2021-12-23 11:04:41 +01:00
Gunar Schorcht
3492a36cf6 cpu/esp_common: common periph features moved to cpu/esp_common 2021-12-23 10:35:07 +01:00
Gunar Schorcht
6f7ba3500d cpu/esp8266: common periph features moved to cpu/esp_common 2021-12-23 10:34:40 +01:00
Gunar Schorcht
27decbc6c1 cpu/esp32: common periph features moved to cpu/esp_common 2021-12-23 10:34:25 +01:00
benpicco
f9e3196a54
Merge pull request #17427 from gschorcht/cpu/esp8266/fix_ztimer_esp_wifi_problem
cpu/esp8266: fix problems with ESP WiFi and migration to ztimer
2021-12-21 14:22:53 +01:00
benpicco
2bb2dc35d2
Merge pull request #17420 from gschorcht/cpu/esp/revert_change_for_esp_wifi_passphrase
cpu/esp: revert the change for default definition of ESP_WIFI_PASS
2021-12-20 17:05:45 +01:00
benpicco
b17fa61e83
Merge pull request #17422 from aabadie/pr/cpu/stm32_typo
cpu/stm32/Makefile.dep: fix typo
2021-12-20 15:23:18 +01:00
Gunar Schorcht
48f59a1487 cpu/esp8266: RTT is used by the WiFi Interface
If the WiFi interface is enabled by module `esp_wifi_any`, binary SDK libraries use the RTT. Therefore, `ztimer` must not use `periph_rtt`as backend, if the WiFi interface is enabled by module `esp_wifi_any`.
2021-12-19 15:56:31 +01:00
Gunar Schorcht
ae8713fea8 cpu/esp8266: places ztimer_core function in IRAM
`ztimer_core` functions have to reside in IRAM for timing reasons and to be available also when the IROM cache is disabled. Although the module is called `ztimer`, its object files are generated in directory `ztimer_core`.
2021-12-19 15:41:25 +01:00
Gunar Schorcht
4d19b77fce cpu/esp8266: add CPU frequency selection to Kconfig 2021-12-19 12:20:43 +01:00
Gunar Schorcht
f6831f34fb cpu/esp32: add CPU frequency selection to Kconfig
t
2021-12-19 12:20:14 +01:00
Gunar Schorcht
f01e0804ff cpu/esp32: remove the duplicate ESP_HAS_SPI_RAM 2021-12-19 12:19:59 +01:00
06d3fba129
cpu/stm32/Makefile.dep: fix typo 2021-12-19 10:47:15 +01:00
6f69996937
cpu/stm32/Kconfig: replace tabs with spaces 2021-12-19 10:37:29 +01:00
ec46f1b3f1
cpu/stm32: remove invalid symbols used in Kconfig 2021-12-19 10:33:12 +01:00
Gunar Schorcht
87a72e4dfe cpu/esp: revert the change for ESP_WIFI_PASS define
Previously, a default value for ESP_WIFI_PASS was intentionally defined only if DOXYGEN was also defined, to allow ESP_WIFI_PASS to be left undefined for using APs without authentication. With PR #17415 the definition was changed to always define a default value for EPS_WIFI_PASS.  This made it impossible to use APs without authentication. The commit reverts this change.
2021-12-19 07:39:46 +01:00
2c3e077bca
Merge pull request #17413 from gschorcht/cpu/esp32/support_clocks_2_and_40_MHz
cpu/esp32: support CPU clocks 2 MHz and 40 MHz
2021-12-18 21:58:34 +01:00
Jean-Pierre De Jesus DIAZ
466fdf5114
Merge pull request #17415 from gschorcht/cpu/esp/wifi_ap_dynamic_ssid_option
cpu/esp: change dynamic SSID option handling
2021-12-17 18:11:38 +01:00
Gunar Schorcht
5d00acc868 cpu/esp32/spi: support 2 MHz and 40 MHz APB clocks 2021-12-17 17:45:25 +01:00
Gunar Schorcht
470208e685 cpu/esp32/i2c_hw: assert added for unsupported I2C clock speeds
The former correction factors were determined by measuring the resulting clocks without a device connected to the bus.

However, when testing the changes for low CPU clock frequencies, it was figured out that the clocks not only depend on configured register values

    _i2c_hw[dev].regs->scl_low_period.period
    _i2c_hw[dev].regs->scl_high_period.period

but also on the bus capacity. Obviously, the register values are not absolute times in APB clock cycles, but rather times that start as soon as the corresponding level is reached. In this case, the higher the bus capacity, the longer the period would be.

This means that the clock speed cannot be precisely controlled via the correction factors anyway. For this reason, and because the I2C implementation in ESP-IDF also does not use correction factors, they were removed.
2021-12-17 17:44:27 +01:00
chrysn
afdabcf9b6
Merge pull request #16274 from chrysn-pull-requests/rust-application
Add some Rust building infrastructure and example
2021-12-16 16:17:28 +01:00
chrysn
1838cdf69c rust: Add triples for M23 and M33 (but keep disabled) 2021-12-16 13:29:31 +01:00
chrysn
b557fdce55 rust: Enable on Cortex-M0(+) boards 2021-12-16 13:29:31 +01:00