1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

4831 Commits

Author SHA1 Message Date
Gunar Schorcht
eb73358284 cpu/esp32: enable esp_log_startup on LOG_LEVL=4 2019-11-28 18:59:09 +01:00
Gunar Schorcht
91496b3cba cpu/esp32: add bootloaders without startup info
To reduce the information that are printed at the console during the startup, special bootloaders are required that suppress the outputs which are only informational. The according bootloader has to be selected during the make process.
2019-11-28 18:59:09 +01:00
Gunar Schorcht
8d25e6909e cpu/esp32: module to print startup info
Startup information, including board configuration, is only printed when module esp_log_startup is used. This reduces the amount of information that is printed by default to the console during the startup. The user can enable module esp_log_startup to get the additional startup information.
2019-11-28 18:59:09 +01:00
benpicco
40a419baef
Merge pull request #12794 from gschorcht/cpu/esp32/cpu_clk_workaround
cpu/esp32: workaround for UART problems
2019-11-28 13:57:23 +01:00
benpicco
306319ae7a
Merge pull request #12748 from benpicco/lpc2387-lpram
cpu/lpc2387: add support for backup RAM
2019-11-28 13:51:52 +01:00
9eac4b8b75
Merge pull request #12825 from JannesVolkens/ncv7356_doc
drivers/ncv7356: Add documentation
2019-11-28 12:32:10 +01:00
Benjamin Valentin
3417cf7d8a cpu/arm7_common: be less cryptic in setup code
There is no restriction in variable names in early boot, so use
better names then p1, p2 and p3 to name our pointers.
2019-11-28 11:34:59 +01:00
Benjamin Valentin
32bbba2fc5 cpu/lpc2387: add support for backup RAM
lpc23xx has 2k of battery RAM that is retained in Deep Power Down mode.

To not overwrite that data it must only be initialized on Power On Reset.
However, RSIR looks the same when waking up from Deep Power Down as it does
on the power-on case.

So use 4 bytes of the backup RAM to keep a signature that is only valid if
memory was retained (no power-on Reset).

A small change to the linker script is required so two sections can be
placed into flash.
2019-11-28 11:33:03 +01:00
Benjamin Valentin
15fcbe837a cpu/lpc2387: add definition of RSIR bits
Add the bits of the Reset Source Identification Register
2019-11-28 11:30:38 +01:00
Dylan Laduranty
6a4259e48a
Merge pull request #12064 from benpicco/sam0-buffered_uart
cpu/sam0_common/periph/uart: implement non-blocking write
2019-11-28 10:07:11 +01:00
Dylan Laduranty
53994bdfeb
Merge pull request #12828 from bergzand/pr/sam0/adc_api
sam0/periph_adc: Fix API to return `-1` on unsupported resolution
2019-11-28 09:05:39 +01:00
Gunar Schorcht
e3bb708e4d cpu/esp32/periph: flush UART TX FIFO before a baudrate change 2019-11-28 08:57:26 +01:00
4e07a26375
Merge pull request #12819 from maribu/atmega_fix
cpu/atmega_common: Fixed atmega_exit_isr
2019-11-28 08:43:10 +01:00
Gunar Schorcht
83892aa184 cpu/esp32/periph: workaround for UART clock problems
The UART peripheral clock seems to be sporadically set to wrong value when the CPU clock is changed. In this case, the UART clock is not set to 115.200 kbps but to 96 kbps, so that the output in the console seems like garbage. This can also cause automatic tests to fail. Therefore, the CPU clock is only changed if CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ defines a different default CPU clock than the one already used at boot time.
2019-11-28 08:22:30 +01:00
83215befd9
sam0: change ADC periph to return -1 on wrong resolution
The common ADC API dictates that a sample call must return -1 on an
incorrect resolution. The sam0 ADC implementation instead threw an
assertion failure.
2019-11-27 21:09:02 +01:00
7d2e10335d
sam0: remove duplicate _done() call 2019-11-27 21:08:28 +01:00
Dylan Laduranty
5287e1c052
Merge pull request #12782 from ML-PA-Consulting-GmbH/fix/20191122__sam0common_spi_release
cpu/sam0_common/periph/spi: power off spi bus on release
2019-11-27 19:13:19 +01:00
Benjamin Valentin
0d977b3b3c cpu/sam0_common/periph/uart: implement buffered write
Implement interrupt based uart_write() using a tsrb for the TX buffer.

To enable it, add

    USEMODULE += periph_uart_nonblocking

to your Makefile.
2019-11-27 19:01:00 +01:00
Jannes
e88bbb0d6e cpu/stm32_common: Edit documentation 2019-11-27 14:15:57 +01:00
Daniel Lockau
5ea4fcd9c8 cpu/sam0_common/periph/spi: uncrustify 2019-11-27 07:16:22 +01:00
Daniel Lockau
c5ad13cb18 cpu/sam0_common/periph/spi: power off spi bus on release 2019-11-27 07:16:22 +01:00
Marian Buschsieweke
97f727349b
cpu/atmega_common: Fixed atmega_exit_isr
A context switch at the end of the ISR should only occur, if requested.
This fixes this.
2019-11-27 01:39:33 +01:00
Benjamin Valentin
964725259a cpu/lpc2387: implement periph/dac
The 10 bit DAC on the lpc23xx is very simple.
It only has one channel and can only be mapped to a single pin (P0.26).

After setting the pin mode to DAC no further configuration in needed.
2019-11-26 01:49:45 +01:00
benpicco
63e4d8ffa5
Merge pull request #12803 from gschorcht/cpu/esp32/fix_little_fs
cpu/esp32: fix to be able to use SPI flash drive with pkg_littlefs
2019-11-25 15:49:13 +01:00
d0d6e53ff4
Merge pull request #11960 from fjmolinas/pr_msp430_flashpage_raw
cpu/msp430_common: add flashpage_raw
2019-11-25 12:48:48 +01:00
Gunar Schorcht
4fe35efe2b cpu/esp32: mtd has to be in IRAM to work correctly 2019-11-25 07:24:17 +01:00
Gunar Schorcht
5f9e3b1a4b cpu/esp32: change order for spi_flash_drive_init
To see debug or error messages during SPI flash drive initialization, spi_flash_drive_init has to be called after stdio_init.
2019-11-25 07:23:47 +01:00
Benjamin Valentin
8337ab111e cpu/arm7_common: hook up puf_sram
puf_sram only relies on an uninitialized chunk of memory.
This means to enable it we just have to hook up puf_sram_init().

All memory after __bss_end should be uninitialized at startup, so
just use that.
2019-11-25 02:04:34 +01:00
Francisco Molina
0a68323570 tests/periph_flashpage: use before last page for msp430
- msp430 holds the isr vector on the last page so avoid erasing
  that page when testing.
2019-11-24 13:19:20 +01:00
fjmolinas
5368415c9a cpu/msp430_common: add flashpage_raw support 2019-11-24 13:19:19 +01:00
Francisco Molina
291727c9e7 cpu/msp430_common: specify FLASHPAGE_SIZE/NUMOF type
- Since msp430 uses 16bit it is important that the variables
  are treated as unsigned and not int so FLASHPAGE_NUMOF*FLASHPAGE_SIZE
  doesn't overflow
2019-11-24 13:19:17 +01:00
Francisco Molina
22177258df msp430_common/include: fix FLASHPAGE definitions
- TI documentation for msp430f1xx is ambiguous regarding length
  of some memmory sectors. For some cpu's the acual size is 1/4 byte
  smaller than advertised and one of the sectors is actually 256b and
  not 512.
  ref: https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/798838/2962979#2962979
- Remove the first 256b sector from usage since there is not support for
  variable sized pages
- Fix msp430f2617 FLASHPAGE_NUMOFF to represent accesible memory
2019-11-24 13:18:54 +01:00
41e29e3fda
Merge pull request #12790 from maribu/atmega_isr_thread
cpu/atmega_common
2019-11-24 11:10:10 +01:00
6dbd5eeab9 cpu/stm32_common: fix typos 2019-11-23 22:39:36 +01:00
3222621423 cpu/nrf5x_common: fix typos 2019-11-23 22:39:36 +01:00
c8d1d6b3f3 cpu/nrf52: fix typos 2019-11-23 22:39:36 +01:00
31b027124b cpu/native: fix typos 2019-11-23 22:39:36 +01:00
ac7027268c cpu/msp430_common: fix typos 2019-11-23 22:39:36 +01:00
2bbcbeaccb cpu/mips32r2_common: fix typos 2019-11-23 22:39:36 +01:00
c6a80b4f4b cpu/lpc2387: fix typos 2019-11-23 22:39:36 +01:00
3eea508695 cpu/kinetis: fix typos 2019-11-23 22:39:36 +01:00
a8c3c6ab68 cpu/esp32: fix typos 2019-11-23 22:39:36 +01:00
6b233780ae cpu/efm32: fix typos 2019-11-23 22:39:36 +01:00
84bf543d78 cpu/cortexm_common: fix typos 2019-11-23 22:39:36 +01:00
b01c6707a5 cpu/cc2538: fix typos 2019-11-23 22:39:36 +01:00
cc51f4ff7c cpu/atmega_common: fix typos 2019-11-23 22:39:35 +01:00
97e49b385c cpu/atmega328p: fix typos 2019-11-23 22:39:35 +01:00
f210cf2535 cpu/atmega256rfr2: fix typos 2019-11-23 22:39:35 +01:00
26143aa38d cpu/atmega2560: fix typos 2019-11-23 22:39:35 +01:00
83d72abf8f cpu/atmega128rfa1: fix typos 2019-11-23 22:39:35 +01:00
fc4eeb3e28 cpu/atmega1284p: fix typos 2019-11-23 22:39:35 +01:00
bc7b95aee3 cpu/atmega1281: fix typos 2019-11-23 22:39:35 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
benpicco
d244b0fe59
Merge pull request #12787 from gschorcht/cpu/esp32/netdev_default
cpu/esp*: define esp_now as default netdev
2019-11-23 14:59:54 +01:00
Gunar Schorcht
7325192fcd cpu/esp8266: defines esp_now as default netdev
If the user or the board definition doesn't enable `esp_wifi`, `esp_now` is defined as default netdev.
2019-11-23 14:26:37 +01:00
Gunar Schorcht
71d6a71364 cpu/esp32: defines esp_now as default netdev
If the user or the board definition doesn't enable `esp_wifi` or `esp_eth`, `esp_now` is defined as default netdev.
fixup! cpu/esp32: defines esp_now as default netdev
2019-11-23 14:26:07 +01:00
Marian Buschsieweke
606d72f64b
cpu/atmega_common: Clean up & fix IRQ handling
At the end of an ISR, the ATmega code was doing an `thread_yield()` instead of
 a `thread_yield_higher()`. This resulted in tests/isr_yield_higher failing.
 Fixing this saves a few lines of code, some ROM, and solves the issue.
2019-11-23 11:57:11 +01:00
Marian Buschsieweke
2b1bee750a
cpu/atmega_common: Stop using reserved names
Names with two leading underscores are reserved in any context of the c
 standard, and thus must not be used. This ATmega platform used it however for
 defining internal stuff. This commit fixes this.
2019-11-23 11:56:11 +01:00
benpicco
09f647eee2
Merge pull request #12693 from maribu/neopixel-atmega
drivers: Added WS281x RGB LED driver for ATmega platform
2019-11-22 22:36:36 +01:00
Dylan Laduranty
9b0ef62d64 saml1x/pm: fix doxygen ingroup 2019-11-22 22:20:19 +01:00
Dylan Laduranty
550bfdbdbf
Merge pull request #12777 from benpicco/pm_debug_puts
cpu/sam*: pm: make use of DEBUG_PUTS()
2019-11-22 19:57:46 +01:00
Gunar Schorcht
72967f8fc3 cpu/esp32: GNRC_NETIF_NUMOF is handled in CPU makefile
Since Makefile.dep files are included as last files multiple times to resolve all module dependencies, GNRC_NETIF_NUMOF is handled here.
2019-11-22 17:38:35 +01:00
Gunar Schorcht
afff683696 cpu/esp32: number of thread priorities for esp_eth
The number of thread priority levels has to be 32 if esp_eth is used.
2019-11-22 17:32:37 +01:00
f04df728cb
Merge pull request #12044 from gschorcht/cpu/esp32/log_module_fix
cpu/esp32: improvements and cleanup of log_module
2019-11-22 14:33:33 +01:00
Gunar Schorcht
43d989b4d5 cpu/esp32: break on core_panic
To be able to catch a core panic in debugger and to get the last output from asynchronous UART , e.g., if the stack is smashed, the system is not rebooted immediately anymore but breaks, which stops the execution in debugger or reboots the system after WDT timeout.
2019-11-22 13:56:41 +01:00
faac10f593
Merge pull request #11994 from gschorcht/cpu/esp32/esp_wifi/crypto-fix
cpu/esp32: esp_wifi and crypto module fix
2019-11-22 11:16:33 +01:00
Gunar Schorcht
6fb7c50d48 cpu/esp32: colored output modifications
For compatibility with module log_color and the esp8266 esp_log_colored implementation.
2019-11-22 11:11:19 +01:00
Gunar Schorcht
4af78c31ef cpu/esp32: enable colored output with log_color 2019-11-22 11:11:19 +01:00
Gunar Schorcht
f500dcbf02 cpu/esp32: colored and tagged log output docu 2019-11-22 11:11:19 +01:00
Schorcht
4503f45abb cpu/esp32: esp_log_color renamed to esp_log_colored 2019-11-22 11:11:19 +01:00
Gunar Schorcht
5d51c03af9 cpu/esp32: replace ets_printf by printf
Wherever possible, ets_printf is replaced by newlib printf.
2019-11-22 11:11:19 +01:00
Gunar Schorcht
1f940b0728 cpu/esp32: map log outputs from SDK libraries
Log outputs generated by binary ESP32 SDK libraries are mapped to the ESP32's log module which supports colored and tagged log outpus. Tagged log outputs from SDK libraries are handled accordingly.
2019-11-22 11:11:19 +01:00
Gunar Schorcht
9a4cdc7e93 cpu/esp32: log_module implementation
The implementation of `log_module` for ESP32 was changed from functions to a macro-based implementation to be able to use the bunch of macros for colored and tagget log output generation.
2019-11-22 11:11:19 +01:00
Benjamin Valentin
8424d1845b cpu/lpc2387: fix doxygen errors
Document macros and remove an unused function.
2019-11-22 09:11:39 +01:00
Benjamin Valentin
a9d1825e2e cpu/lpc2387: implement periph/pm
Enable IDLE and Deep Powerdown mode.

IDLE is pretty straightforward - insteady of busy waiting, the CPU will
enter an idle state from which it will resume on any event.

Deep Power Down shuts off the entite system except for the battery backup
power domain.
That means the CPU will reset on resume and can be woken by e.g. RTC.

SLEEP and POWERDOWN disable the PLL and the PLL and Flash respectively.
This requires some proper wake-up handling.

Since this turned out to be a major time sink and those modes are never
currently never used in RIOT outside of tests, I left this as an exercise
for a future reader.
2019-11-22 09:11:39 +01:00
Benjamin Valentin
9df377d699 cpu/sam*: pm: make use of DEBUG_PUTS()
`pm_set()` gets called by the idle thread whose stack is too small
for normal DEBUG()/printf().

Use DEBUG_PUTS() instead to print the static debug strings.
2019-11-22 01:30:03 +01:00
Gunar Schorcht
d55225eb29 cpu/esp32: remove SDK crypto dependency from doc 2019-11-21 18:34:08 +01:00
Gunar Schorcht
5f01d0a88f cpu/esp32: remove SDK crypto function dependency
Modules `crypto` and `hashes` have not be disabled any longer when module `esp_wifi` is used.
2019-11-21 18:34:08 +01:00
Gunar Schorcht
1a12f56fbd cpu/esp32: use renamed SDK crypto functions 2019-11-21 18:32:28 +01:00
Gunar Schorcht
d8f0399eaa cpu/esp32: rename SDK crypto function
Renames crypto functions of ESP32 SDK in vendor code to resolve the conflicts between `wpa-supplicant` crypto functions and RIOT's `crypto` and `hashes` modules.
2019-11-21 18:32:28 +01:00
Gunar Schorcht
f8c740c190 cpu/esp32: use SDK crypto headers from vendor code
Changes the include path for ESP32 SDK crypto function headers to find their modified version in vendor codefirst.
2019-11-21 18:32:28 +01:00
Gunar Schorcht
ee349edf3b cpu/esp32: add SDK crypto headers and rename
To resolve the conflicts between `wpa-supplicant` crypto functions (part of the ESP32 SDK) and RIOT's `crypto` and `hashes` modules, the crypto function headers from ESP32 SDK are added to vendor code and the crypto functions are renamed using the prefix `wpa_`.
2019-11-21 18:32:28 +01:00
c7825aa92e
Merge pull request #12508 from gschorcht/cpu/esp32/doc_adc2_and_wifi
cpu/esp32: note on using ADC2 and WiFi in documentation
2019-11-21 18:27:06 +01:00
178d0aace2
Merge pull request #12758 from gschorcht/cpu/esp32/fix_fs_tests
cpu/esp32: increase timeout for spiffs and littlefs tests
2019-11-21 17:10:16 +01:00
fe255a26d5
Merge pull request #12750 from gschorcht/cpu/esp32/esptools
cpu/esp32: use esptool.py from riot tools
2019-11-21 17:09:54 +01:00
Francisco Molina
4c0dd49603 cpu/sam3/periph/gpio.c: fix cpp.check shiftTooManyBitsSigned 2019-11-21 11:58:07 +01:00
Francisco Molina
061b494348 cpu/lpc1768/periph/gpio.c: fix cpp.check shiftTooManyBitsSigned 2019-11-21 11:58:07 +01:00
Francisco Molina
97dda76e7a cpu/native/irq_cpu.c: fix cpp.check unitialized variable 2019-11-21 11:58:07 +01:00
Gunar Schorcht
fe165738e7 cpu/esp32: doc changes for esptool.py 2019-11-21 10:18:56 +01:00
Gunar Schorcht
9080893f06 cpu/esp32: use esptool.py from riot tools
Use esptool.py from riot tools instead from ESP-IDF SDK to avoid that the SDK has to be installed to flash an image.
2019-11-21 10:18:56 +01:00
Gunar Schorcht
47a4ff05c0 cpu/esp32: increase timeout for spiffs and littlefs tests
The time it takes to erase the entire flash memory of an esp32 card requires increasing the timeout for tests/pkg_spiffs and tests/pkg_littlefs.
2019-11-21 10:15:38 +01:00
6cdf656d62
Merge pull request #12753 from gschorcht/cpu/esp32/fix_sched_prio
cpu/esp32: fix of thread priorities levels
2019-11-21 09:28:58 +01:00
bef34d400e
Merge pull request #12757 from gschorcht/cpu/esp32/fix_xtimer_deps
cpu/esp32: fix xtimer dependency
2019-11-21 09:23:19 +01:00
Gunar Schorcht
7b1ef78054 cpu/esp32: fix of thread priorities levels
A number of tests insist that the number of thread priority levels is 16. However, when using the WiFi interface, a number of high priority threads are required to handle the WiFi hardware. In this case, the number of thread priority levels must be 32. Solves the problem of tests `tests/shell`.
2019-11-21 06:55:41 +01:00
Gunar Schorcht
9a1742074a cpu/esp32: fix xtimer dependency
Removes the dependency of the module riot_freertos from module xtimer. This avoids that xtimer is used even if it is not really needed which in turn occupies the first timer device and tests/periph_timer fails.
2019-11-21 06:38:58 +01:00
Gunar Schorcht
3ab5e3ad66 cpu/esp32: fix heap command output
The heap command output has to have an output format that is compatible with the test.
2019-11-20 08:44:45 +01:00
Gunar Schorcht
327b9fd32e cpu/esp32: introduce module esp_log_tagged
ESP32 log output was always tagged with additional information by default. The tag consists the type of the log message, the system time in ms, and the module or function in which the log message is generated. By introducing module `esp_log_tagged`, these additional information are disabled by default and can be enabled by using module `esp_log_tagged`.
2019-11-20 08:42:27 +01:00
Gunar Schorcht
a3058291b7 cpu/esp32: colored log output
Log module of ESP32 supports colored log outputs when module `esp_log_color` is enabled. The generation of colored log outputs is realized by a extending the bunch of macros with an additional letter indicating the type of log message,
2019-11-20 08:42:22 +01:00
Gunar Schorcht
f2f07252fe cpu/esp32: bootloader versions with and w/o colors
For the implementation of the colored log output, two versions of the bootloader are introduced, one version with colored log output and one version without colors.
2019-11-20 08:42:14 +01:00
Marian Buschsieweke
8d0a9ead7b
cpu/atmega_common/periph: Fixed typo in gpio.c 2019-11-18 22:45:40 +01:00