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

4231 Commits

Author SHA1 Message Date
francisco
c219fdc001 kinetis/check-fcfield: skip on IMAGE_OFFSET > 0x410
- fcfield is located in memory at 0x400-0x40f. Its content is only read
  upon reset, therefore if in presence of a bootloader and multiple
  applications, the fcfield will only be read when the bootloader
  is loaded. As long as we flash at IMAGE_OFFSET > 0x410 we do not
  care about the fcfield content since it won't get overwritten.
2019-05-28 10:19:00 +02:00
Gaëtan Harter
79280eb12e
boards/tools: remove exporting PREFLASH/FLASHDEPS
PREFLASHER/PREFFLAGS/FLASHDEPS are evaluated by the main Makefile.include.
Their value does not need to be exported.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `16 insertions(+), 16 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE` plus the newline that is said to have
changed.
2019-05-28 09:58:40 +02:00
Gaëtan Harter
ac113ca2f8
boards/tools: remove exporting FLASHER/FFLAGS
FLASHER and FFLAGS are evaluated by the main Makefile.include or by file
included by it. Their value does not need to be exported.

This will also prevent evaluating 'PORT' for FFLAGS when not needed.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `84 insertions(+), 84 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE`.
2019-05-28 09:56:00 +02:00
francisco
7156977fed kinetis/check-fcfield: add fcfield verirication for bin files 2019-05-27 17:43:19 +02:00
francisco
963bbe75ba kinetis/check-fcfield: merge hex and elf script 2019-05-27 17:38:46 +02:00
Benjamin Valentin
7415e0590e sam0_common: spi: use sercom_set_gen() instead of re-implementing it
Don't repeat yourself and introduce errors in doing so.
2019-05-25 19:13:53 +02:00
Benjamin Valentin
84233ce5d5 sam0_common: replace sercom_id() calculation with switch statement
As the sercom_id() function grows it gets more unweidly.
Let's replace it with a simple switch statement that is true for all
sam0 parts.
2019-05-25 19:12:55 +02:00
Benjamin Valentin
31f88a2d0e sam0_common: periph/spi: use sercom_clk_en/dis()
Use already existing functions to turn on / off SERCOM clocks instead
of replicating the functionality in the driver.
2019-05-25 19:09:32 +02:00
1dcd3b6a08
Merge pull request #11563 from dylad/pr/saml1x/pm_layered
saml1x: enable pm_layered by default
2019-05-24 18:33:37 +02:00
Dylan Laduranty
0da43ba4ee cpu/saml1x: set custom PM_BLOCKER_INITIAL 2019-05-24 16:40:08 +02:00
Thomas Perrot
b63121c588
board: add support for arduino-leonardo 2019-05-24 15:12:47 +02:00
Thomas Perrot
44803ea4fd
cpu/atmega32u4: add support for ATmega32U4 2019-05-24 15:12:47 +02:00
35d43ccdc6
Merge pull request #11440 from maribu/arm7_barriers
cpu/arm7_common: Make irq_*() compiler barriers
2019-05-24 11:05:13 +02:00
Gunar Schorcht
2c555a72ec cpu/esp8266: print_meminfo function added 2019-05-24 00:28:57 +02:00
Gunar Schorcht
501d679f67 cpu/esp8266: fix of printf format identifiers
Format identifier `h` and `hh` removed since `esp_printf` does not support them.
2019-05-24 00:28:24 +02:00
Gunar Schorcht
46ea36ff52 cpu/esp8266: fix of esp_hexdump function
A space was mission after each field.
2019-05-24 00:28:24 +02:00
eac6a54648
stm32_common/rtt: add support for stm32f7 2019-05-23 14:49:39 +02:00
Sebastian Meiling
6b16df0dfd
Merge pull request #11453 from maribu/atmega_naked
cpu/atmega_common: Fix function attributes
2019-05-23 12:14:33 +02:00
Dylan Laduranty
aba9405dd4 saml1x: enable use for pm_layered 2019-05-22 17:04:55 +02:00
Dylan Laduranty
f6ba7ee106 sam0: correct number of PM for SAML10 2019-05-22 17:04:27 +02:00
Sebastian Meiling
6b56a104b7
Merge pull request #9908 from jia200x/pr/fix_uninitialized
cpu/lpc1768: fix uninitialized variable
2019-05-22 14:32:00 +02:00
Jose Alamos
840d8714e2 cpu/lpc1768: fix uninitialized variable 2019-05-22 13:42:07 +02:00
Dylan Laduranty
85d37bb94f
Merge pull request #11336 from benpicco/sam0-timer
sam0_common: make Timer implementation common across all sam0 MCUs
2019-05-21 12:13:39 +02:00
Benjamin Valentin
849dd4cdce sam0_common: make Timer implementation common across all sam0 MCUs
The currently supported SAM0 MCUs (samd21, saml21, saml1x) share the same
Timer peripheral, yet each of them carries it's own copy of the Timer
driver.

This introduces a new timer driver that is common for all sam0 MCUs and
uses structs for configuration instead of defines.
2019-05-21 11:47:59 +02:00
13cc513f30
cpu/stm32l0: add support for stm32l052xx 2019-05-21 09:54:35 +02:00
Benjamin Valentin
1c3f96495d ldscripts: move .noinit section behind .bss section
If the .noinit section starts at the beginning of the RAM,
a bootloader that is unaware of it will clear it.
Instead, move it behind the .bss section, hoping that a bootloader
will always use less .bss memory than RIOT proper.
2019-05-16 23:11:45 +02:00
Semjon Kerner
65b709aaa7 cpu/nrf5x/radio/nrfmin: apply errata workaround 2019-05-15 14:49:42 +02:00
Semjon Kerner
22b5f8a41a cpu/nrf5x/radio/nrfmin: wait for state transition 2019-05-15 14:49:42 +02:00
Semjon Kerner
1954807309 cpu/nrf5x/radio/nrfmin: explicit test for power mode 2019-05-15 12:32:14 +02:00
bf000a1fa5
Merge pull request #11514 from kaspar030/fix_c11_atomic_definitions
core: fix c11 atomic definitions (fix gcc9 compilation)
2019-05-15 12:29:23 +02:00
MrKevinWeiss
0aa6b04249 cpu/cc2538: Add periph_uart_mode implementation
This commit adds the periph_uart_mode USEMODULE
It implements all functionality defined in the common uart driver
This means all parity modes, data bits, and stop bits
2019-05-15 09:26:56 +02:00
Juan I Carrano
e4bc5d4718
Merge pull request #11521 from benpicco/cortexm_common-noinit
cortexm_common: add .noinit section
2019-05-14 13:13:21 +02:00
Kevin "Bear Puncher" Weiss
e40f483acf
Merge pull request #11261 from gschorcht/cpu/esp32/doc_fix/rom
boards/cpu/esp32: doc fix of built-in ROM size
2019-05-14 13:07:50 +02:00
Benjamin Valentin
29bf6c712b cortexm_common: add .noinit section
Make it possible to specify a section of RAM that is not touched by
the init routing so data can be kept across resets.

This should behave the same as on atmega & lpc2387.
2019-05-14 12:10:27 +02:00
Leandro Lanzieri
44d981947d
Merge pull request #11293 from gschorcht/cpu/esp32/periph/conf/spi
boards/esp32: changes the approach for configurations of SPI interfaces in board definitions
2019-05-14 12:07:19 +02:00
d85d96685f
Merge pull request #11518 from fjmolinas/pr_nrf52dk_bootloader_length
cpu/nrf52: set RIOTBOOT_LEN to 8k
2019-05-14 10:59:27 +02:00
francisco
de3314334e cpu/nrf52: set RIOTBOOT_LEN to 8k
- nrf52 flash page is 4k, the bootloader needs to be x2 so slots
  start at the beginning of a page.
2019-05-13 21:47:14 +02:00
68a4099c1c cpu/cortexm: fix pointer calculation
gcc9 started realizing that _sram is basically an uint8_t[1] and thus
HARDFAULT_HANDLER_REQUIRED_STACK_SPACE cannot be added to it without
exceeding the one-sized array.

This commit casts _sram to (uintptr_t) where that happens.
2019-05-13 17:38:10 +02:00
Leandro Lanzieri
ab6d0fe08c
Merge pull request #11292 from gschorcht/cpu/esp32/periph/conf/pwm
boards/esp32: changes the approach for configurations of PWM channels in board definitions
2019-05-13 16:11:05 +02:00
Juan I Carrano
cbc08edcd1
Merge pull request #11358 from fjmolinas/riot-cortexm-address-check
cpu/cortexm_common: function to check address validity
2019-05-13 11:50:48 +02:00
Oleg Artamonov
a5ce6deb02 cpu/cortexm_common: function to check address validity 2019-05-13 09:35:34 +02:00
Benjamin Valentin
077056b949 sam0_common: make RTT implementation common across all sam0 MCUs
The currently supported SAM0 MCUs (samd21, saml21, saml1x) share the
same RTC peripheral, yet each of them carries it's own copy of the RTT
driver.

Unify the drivers and move them to sam0_common.
2019-05-09 20:54:00 +02:00
Kevin "Bear Puncher" Weiss
6afb0603aa
Merge pull request #11291 from gschorcht/cpu/esp32/periph/conf/i2c
boards/esp32: changes the approach for configurations of I2C in board definitions
2019-05-09 08:26:01 -07:00
Kevin "Bear Puncher" Weiss
795ad18f2e
Merge pull request #11294 from gschorcht/cpu/esp32/periph/conf/uart
boards/esp32: changes the approach for configurations of UART interfaces in board definitions
2019-05-09 08:25:40 -07:00
5d63e28e59
Merge pull request #11425 from OTAkeys/pr/fix_stm32_uart_flow_control
cpu/stm32_common: set RTS when uart is off
2019-05-09 09:13:13 +02:00
Leandro Lanzieri
9075e1d207
Merge pull request #11290 from gschorcht/cpu/esp32/periph/conf/dac
boards/esp32: changes the approach for configurations of DAC channels in board definitions
2019-05-07 11:35:34 +02:00
990086aee7
Merge pull request #11479 from cladmi/pr/kinetis/hwrng
kinetis: move filtering-out periph_hwrng in cpu/kinetis
2019-05-06 17:42:16 +02:00
Gaëtan Harter
19224ec1d5
kinetis: move filtering-out periph_hwrng in cpu/kinetis
This removes doing `filter-out periph_hwrng, $(FEATURES_PROVIDED)`
after processing `cpu/$(CPU)/Makefile.features`.
The current solution is a HACK as `CPU_MODEL` is currently not available
at that moment but will be in the near future.

It will allow always including `cpu/$(CPU)/Makefile.features` after
`boards/$(BOARD)/Makefile.features`.

It is a part of moving `CPU/CPU_MODEL` definitions to `Makefile.features`.
2019-05-06 15:12:47 +02:00
Gunar Schorcht
3cb08e9e99 cpu/esp32: fixup after rebase 2019-05-06 13:34:59 +02:00
Gunar Schorcht
3e79787bcc cpu/esp32: UART configuration approach changed
UART devices are now configured using static array in header files instead of static variables in implementation to be able to define UART_NUMOF using the size of the array instead of a variable.
2019-05-06 13:34:59 +02:00
Gunar Schorcht
26613ee9e7 cpu/esp32: SPI configuration approach changed
SPI devices are now configured using static array in header files instead of static variables in implementation to be able to define SPI_NUMOF using the size of the array instead of a variable.
2019-05-06 13:33:48 +02:00
Gunar Schorcht
e8828aded8 cpu/esp32: PWM configuration approach changed
PWM channels are now configured using static array in header files instead of static variables in implementation.
2019-05-06 13:32:52 +02:00
Gunar Schorcht
748164ad6a cpu/esp32: I2C configuration approach changed
I2C devices are now configured using static array in header files instead of static variables in implementation to be able to define I2C_NUMOF using the size of the array instead of a variable.
2019-05-06 13:32:06 +02:00
Gunar Schorcht
0510f0c049 cpu/esp32: DAC config approach changed
DAC pins are now configured using static arrays in header files instead of static variables in implementation to be able to define DAC_NUMOF using the size of these arrays instead of a variable.
2019-05-06 13:29:38 +02:00
Gunar Schorcht
32d6c046ac cpu/esp32: ADC config approach changed
ADC pins are now configured using static arrays in header files instead of static variables in implementation to be able to define ADC_NUMOF using the size of these arrays instead of a variable.
2019-05-02 16:38:52 +02:00
Gunar Schorcht
e2abe00fad cpu/esp32: GPIO defs required for periph conf
The GPIO definitions defined here are required in this file to be able to use them in peripheral configurations.
2019-05-02 16:38:24 +02:00
Leandro Lanzieri
7c14ff4153
Merge pull request #11337 from gschorcht/cpu/esp32/periph/submodules
cpu/esp32: fix of periph_* submodule compilation
2019-05-01 23:51:03 +02:00
Gunar Schorcht
94a1af3001 cpu/esp32: additional module dependencies 2019-05-01 09:40:17 +02:00
Gunar Schorcht
6b76e64759 cpu/esp32: periph submodules enabled by default 2019-05-01 09:40:17 +02:00
Gunar Schorcht
4fa1d6bf2c cpu/esp32: dac_* moved to separate DAC submodule 2019-05-01 09:40:17 +02:00
Gunar Schorcht
5f79744aa4 cpu/esp32: rtcio_* moved to new submodule adc_ctrl 2019-05-01 09:40:17 +02:00
Gunar Schorcht
6a652513c1 cpu/esp32: new module for ADC controller functions
Functions that are used by ADC and DAC peripherals are moved to a new submodule periph_adc_ctrl. This is necessary to compile separate submodules for ADC and DAC.
2019-05-01 09:40:17 +02:00
Sebastian Meiling
a13d3c333a stm32_common/gpio: fix pin in gpio_init_init
Clearing pending interrupts and enabling them for a certain pin
used the wrong variable, this is fixed here.
2019-04-30 10:37:50 +02:00
Gunar Schorcht
09a2a11dd7 cpu/esp: fix computation of coprocessor save area
`top_of_stack` isn't aligned down to the previous 16 byte aligned address. Furthermore, `top_of_stack` as well as `XT_CP_SIZE` are used unaligned in `cpu/esp_common/vendor/xtensa/portasm.S` in the address computation for the coprocessor save area, .

Aligning pointer `p` down to the previous 16 byte aligned address results in a wrong address of the coprocessor save area during the initialization of the thread context. This leads to wrong values and wrong positions of these values in the coprocessor save area in inital thread context.

Since ESP8266 doesn't have a coprocessor, this bug affects only ESP32.
2019-04-27 13:23:04 +02:00
Marian Buschsieweke
20b9ef7c5b
cpu/atmega_common: Fix function attributes
Functions marked with __atribute__((naked)) may only use basic inline assembly
and must not use any c code. The functions __enter_thread_mode() and
cpu_switch_context_exit() are using C code, so they must not be marked as
naked.
2019-04-26 11:02:01 +02:00
Gunar Schorcht
0911ddfe07
Merge pull request #11412 from yegorich/pr/esp32/documentation-fixes
esp32: documentation fixes
2019-04-25 17:39:07 +02:00
Marian Buschsieweke
5f355e7210
cpu/arm7_common: Make irq_*() compiler barriers
Previously the compiler was allowed to reorder access to the interrupt control
registers in regard to memory access not marked as `volatile` (at least some
people - most notably some compiler developers - read the C standard this way).
In practise this did not happen as irq_disable(), irq_restore(), irq_enable()
are part of a separate compilation unit: Calls to external functions unknown to
the compiler are treated as if they were memory barriers. But if link time
optimization (LTO) is enabled, this no longer would work: The compiler could
inline the code accessing the interrupt control registers and reorder the memory
accesses wrapped in irq_disable() and irq_restore() outside of their protection.

This commit adds the "memory" clobber to the inline assembly accessing the
interrupt control registers. This makes those accesses explicit compiler memory
barriers. The machine code generated without LTO enabled should not differ in
any way by this commit. But the use of irq_*() should now be safe with LTO.
2019-04-24 16:29:30 +02:00
Vincent Dupont
e9fd193969 cpu/stm32_common: set RTS when uart is off 2019-04-19 17:47:24 +02:00
Yegor Yefremov
9fed14879a cpu/esp32: resolve esptool.py warning
During the flash step esptool.py gives the following warning:

WARNING: Flash size arguments in megabits like '16m' are deprecated.
Please use the equivalent size '2MB'.
Megabit arguments may be removed in a future release.
esptool.py v2.7-dev

This patch replaces '16m' with '2MB' to enable future compatibility.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-04-18 09:56:29 +02:00
Yegor Yefremov
29a3b25379 cpu/esp32: revise CAN support
CAN interface is now supported in RIOT. Change feature table
accordingly.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-04-17 16:59:39 +02:00
Martine Lenders
5e789c6595
Merge pull request #11395 from SemjonKerner/nrfmin_fix_isr
cpu/nrf5x/nrfmin: fix isr termination
2019-04-16 11:27:54 +02:00
Dylan Laduranty
8c708110e5
Merge pull request #11317 from benpicco/sam0-rtc
sam0_common: make RTC implementation common across all sam0 MCUs
2019-04-16 11:03:24 +02:00
Benjamin Valentin
9aa8c619c1 sam0_common: make RTC implementation common across all sam0 MCUs
The currently supported SAM0 MCUs (samd21, saml21, saml1x) share the
same RTC peripheral, yet each of them carries it's own copy of the RTC
driver.

Unify the drivers and move them to sam0_common.
2019-04-15 22:25:47 +02:00
Sebastian Meiling
d08a6132bf
Merge pull request #10934 from gschorcht/cpu_atmega_common_heap
cpu/atmega_common: make remaining RAM available as heap
2019-04-15 13:17:57 +02:00
Semjon Kerner
f8873c31ff cpu/nrf5x/nrfmin: fix isr termination 2019-04-15 13:15:49 +02:00
Gunar Schorcht
de91b8dc88 cpu/esp8266: add LoadStoreError exception handler
Usually, the access to the IROM (flash) memory requires 32-bit word aligned reads. Attempts to access data in the IROM (flash) memory less than 32 bits in size triggers a LoadStoreError exception. With the exception handler from esp-open-rtos it becomes possible to access data in IROM (flash) with a size of less than 32 bits and thus to place .rodata sections in the IROM (flash).
2019-04-15 12:50:44 +02:00
Gunar Schorcht
b17070fbf1 cpu/esp_common: doc fixes 2019-04-15 12:50:44 +02:00
Gunar Schorcht
70ab7501af cpu/esp8266: move xtensa lib to esp_common 2019-04-15 11:46:57 +02:00
Gunar Schorcht
18ebfdf059 cpu/esp32: move xtensa lib to esp_common 2019-04-15 11:45:59 +02:00
Gunar Schorcht
5f1383c27d cpu/esp_common: xtensa vendor files added 2019-04-15 11:45:59 +02:00
Gunar Schorcht
fe3d325fd9 cpu/esp32: remove temporary code 2019-04-15 11:45:59 +02:00
Gunar Schorcht
28d9599d52 cpu/esp32: fix coprocessor stack alignment 2019-04-15 11:45:59 +02:00
Gunar Schorcht
950dfba7de cpu/esp32: SDK_USED replace by MODULE_ESP_SDK 2019-04-15 11:45:59 +02:00
Gunar Schorcht
ec1980a438 cpu/esp32: RIOT_OS macro replaced by RIOT_VERSION 2019-04-15 11:45:59 +02:00
Gunar Schorcht
7cc1ee3f6d cpu/esp32: SDK_INT_HANDLING definition removed 2019-04-15 11:45:59 +02:00
Gunar Schorcht
2ac4d08b43 cpu/esp8266: same xtensa basics as ESP32 2019-04-15 11:45:59 +02:00
Gunar Schorcht
75c0d06913 cpu/esp8266: changes for ESP32 compatibility 2019-04-15 11:45:59 +02:00
Gunar Schorcht
dc7f979201 cpu/esp8266: SDK interrupt handling removed 2019-04-15 11:45:59 +02:00
75671ac208
Merge pull request #11355 from fjmolinas/pr_eeprom_wait_for_op
stm32_common/flash: move wait_for_pending_operation to flash_common
2019-04-12 13:36:01 +02:00
db9b341a36
cpu/stm32f1-l0: remove redundant PM_BLOCKER_INITIAL define 2019-04-12 11:10:48 +02:00
10d5554f03
Merge pull request #10944 from gschorcht/cpu/msp430_common_heap_real
cpu/msp430_common: add real malloc/free functions
2019-04-12 10:59:00 +02:00
francisco
2c44cd4f70 stm32_common/flash: move wait_for_pending_operation to flash_common 2019-04-12 08:58:47 +02:00
Gunar Schorcht
dc4565fdfc cpu/esp32: use newlib_syscalls_default by default
Fix of #11354: Function '_write_r' of ESP32's newlibc does not write the output of function 'write(STDIO_FILENO, ...)' to the UART interface. To fix this problem, module 'newlib_syscalls_default' is now used by default. Function '_write_r' of module 'newlib_syscalls_default' uses 'stdio_write' which in turn uses 'uart_write' if module 'stdio_uart' is used which is now the default case for ESP32.
2019-04-11 16:22:47 +02:00
38cc72d0e0
Merge pull request #11046 from kaspar030/reset_fe310_timer
cpu/fe310: periph/timer: reset counter in timer_init()
2019-04-09 15:50:19 +02:00
MrKevinWeiss
4c9890b269 cpu/cc26x0/i2c: Rework and add error handling
This commit cleans up magic number and defines bitfields.
Adds error codes for ADDR/DATA NACK and ARBLOSS
Adds error handling, it corrects when an error occurs
Protects from flags that could lockup the bus
2019-04-08 11:32:12 +02:00
07eb8554f8 cpu: cc26x0: add periph/i2c implementation 2019-04-08 08:52:43 +02:00
7b6d8d65ff cpu/cc26x0: add missing PERIPH_BASE define 2019-04-08 08:52:43 +02:00
Sebastian Meiling
4dd09eaa06
Merge pull request #6178 from OTAkeys/pr/can_stm32
can stm32: add a driver for STM32 bxCAN peripheral
2019-04-08 08:50:08 +02:00
Vincent Dupont
d283aaf8fd cpu/stm32_common: fix month encoding in RTC driver for alarm 2019-04-04 14:15:26 +02:00
Gunar Schorcht
3bad3e6199 cpu/esp32: use periph.mk in perpih Makefile
Includes now $(RIOTMAKE)/periph.mk instead of $(RIOTBASE)/Makefile.include to control compilation of periph submodules.
2019-04-04 00:48:33 +02:00