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

20506 Commits

Author SHA1 Message Date
Francisco Acosta
f1c57b21ec tests: add riotboot bootloader test
The tests overrides the target all to be tested by the CI.
All the instructions how to use it are in README.md
The test is successful if the image boots and displays
information about the image and running slot.

Co-authored-by: Federico Pellegrin <fede@evolware.org>
2018-12-18 19:31:35 +01:00
Francisco Acosta
3cf33f7b5c boards: add riotboot feature to tested boards
Currently only tested boards provide the feature riotboot.
Potentially all boards embeding a cortex-m0+/3/4/7 are
able to have riotboot as a feature, but other dependencies
need to be met, e.g. usage of cortexm.ld linker script,
double initialisation of cpu_init(), etc. See doc in
bootloaders/riotboot.
2018-12-18 19:31:35 +01:00
7a6849ca17 cpu/cortexm_common: add riotboot and slot support
RIOTBOOT_SLOT_LEN is calculated as an hexadecimal value and
handles ROM_LEN defined as kilobytes like '512K'

This enables support for all the cortex-m0+/3/4/7 arch,
so most boards embedding these are potentially supported.
One needs just to ensure that the CPU can be initialised
at least twice.

Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2018-12-18 19:31:35 +01:00
9cfdf6e379 cpu/cortexm_common: introduce cpu_jump_to_image()
This new function allows to jump to another execution
environment (VTOR) located at a certain (aligned) address.
It's used to boot firmwares at another location than
`CPU_FLASH_BASE`.

The user needs to ensure that the CPU using this feature
is able to be initialised at least twice while jumping
to the RIOT `reset_handler_default` function, since it
initialises the CPU again (calls cpu_init()).

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:35 +01:00
Francisco Acosta
281d8084bf riotboot: add riot-based minimal bootloader
riotboot is introduced here and makes use of riotboot_hdr,
which indentifies the images encapsulated as slots.
The slot size and offset is configurable, which makes
slots extendable if needed, e.g. 2 or more slots can be
transparently added.

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2018-12-18 19:31:35 +01:00
Francisco Acosta
a638f31bce dist/tools: add genhdr tool to generate RIOT image headers
In order to use the RIOT bootloader (riotboot) a header needs to
be created and placed before the firmware. This tool generates
such a header with the expected information by the bootloader.

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:34 +01:00
Francisco Acosta
2df0abfd70 sys/riotboot: add riotboot_slot module
This module adds some helper function to manage slots
created with a riotboot_hdr header.

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:34 +01:00
Peter Kietzmann
f1e80c4dd3
Merge pull request #10434 from aabadie/pr/sam0_gpio_features
cpu/sam0_common: provide periph_gpio/gpio_irq features at cpu level
2018-12-18 17:54:11 +01:00
09461f1457
Merge pull request #10631 from maribu/sht1x_cleanup
sys/shell: Removed unneeded cpp directives
2018-12-18 17:40:13 +01:00
Marian Buschsieweke
92347a0dd8
sys/shell: Removed unneeded cpp directives 2018-12-18 16:37:52 +01:00
Martine Lenders
affb385be6
Merge pull request #10623 from jia200x/pr/lora_conf
lora: add lora and loramac config macros to config doc group
2018-12-18 14:51:49 +01:00
Martine Lenders
d4fd6076c4
Merge pull request #10626 from jia200x/pr/ieee802154_conf
ieee802154: add config macros to config doc group
2018-12-18 14:22:51 +01:00
Gaëtan Harter
321dc5292f
Merge pull request #10548 from jcarrano/flash-canned-recipe
Makefile.include: flash: do not peek into MAKECMDGOALS.
2018-12-18 14:09:55 +01:00
Jose Alamos
3e3321445f lora.h: move brief tag outside of ifndef block 2018-12-18 13:23:36 +01:00
Jose Alamos
022e1f57b8 loramac: add config macros to config doc group 2018-12-18 13:23:36 +01:00
Jose Alamos
39821c93b0 lora.h: fix doxygen brief tag 2018-12-18 13:23:36 +01:00
Jose Alamos
0759ad85a6 lora: add config macros to config doc group 2018-12-18 13:23:36 +01:00
Jose Alamos
a95bea6cf1 ieee802154: add brief tag to configuration macros 2018-12-18 13:22:21 +01:00
Jose Alamos
f50a239f8e ieee802154: add config macros to config doc group 2018-12-18 13:22:21 +01:00
Juan Carrano
ae524e917f Makefile.include: flash: do not peek into MAKECMDGOALS.
When flash-only was introduced (in #8373), the `flash` rule was
made conditionally dependent on `all` by looking for `flash-only`
in MAKECMDGOALS. This was done to avoid code duplication.

There's a cleaner way, by using canned recipes. When we upgrade the
requirements to gnu make 4, the flash recipe can be defined as ?=.
2018-12-18 13:15:50 +01:00
2a03e6fdbd
Merge pull request #10264 from gebart/core/schedstats_t
core: Rename typedef schedstat -> schedstat_t
2018-12-18 12:51:29 +01:00
José Alamos
0dd711cb9f
Merge pull request #10616 from miri64/gnrc_netif/enh/config-group
gnrc_netif: add config macros to config doc group
2018-12-18 11:05:29 +01:00
d95e19af15 boards*: remove periph_gpio/gpio_irq provided feature
It is now provided at cpu level
2018-12-17 20:54:09 +01:00
c87f02149e cpu/sam0_common: provide gpio/gpio_irq feature at cpu level 2018-12-17 20:52:48 +01:00
Gaëtan Harter
47830f44c2
Merge pull request #10603 from aabadie/pr/tests/pthread_timeout
tests/pthread_condition_variable: increase timeout
2018-12-17 17:57:15 +01:00
José Alamos
1c82f7804b
Merge pull request #10617 from miri64/gnrc_ipv6/enh/config-group
gnrc_ipv6: add config macros to config doc group
2018-12-17 13:55:28 +01:00
Sebastian Meiling
496daa0b9f
Merge pull request #10582 from miri64/gnrc_sixlowpan/enh/doc-update
gnrc_sixlowpan: update documentation
2018-12-17 13:32:11 +01:00
Martine Lenders
78308b93df
Merge pull request #10279 from aabadie/pr/boards/nrf52_common
boards/common/nrf52: introduce new and more generic common place
2018-12-17 12:29:57 +01:00
Martine Lenders
a3864aa103
Merge pull request #9158 from aabadie/pr/periph/stm32_lpuart
cpu/stm32-common: add support for lpuart
2018-12-17 12:16:27 +01:00
Martine Lenders
2e57ea246e
Merge pull request #10584 from miri64/gnrc_ipv6/enh/use-new-pktbuf-func
gnrc_ipv6: use gnrc_pktbuf_merge() to loopback packet
2018-12-17 12:16:06 +01:00
José Alamos
469c31cad0
Merge pull request #10244 from miri64/gnrc_ipv6/enh/take-out-hop-by-hop-ext
gnrc_ipv6: handle hop-by-hop option before forwarding
2018-12-17 10:22:28 +01:00
Martine Lenders
864ce4fed2 gnrc_ipv6_ext: rename nh to protnum for clarity 2018-12-15 18:21:48 +01:00
87dd5f9341 tests/pthread_condition_variable: increase timeout
Otherwise it raises a timeout on slow boards. It takes around 2 minutes
on nrf51 based boards (e.g microbit)
2018-12-14 22:05:12 +01:00
Gaëtan Harter
169a72b9a7
Merge pull request #10590 from aabadie/tests/pkg_libcose_timeout
tests/pkg_libcose: increase timeout of autotest
2018-12-14 21:05:58 +01:00
Gaëtan Harter
60f3e1af8a
Merge pull request #10591 from aabadie/pr/tests/libfixmath_extend_timeout
tests/libfixmath_unittests: extend timeout in autotest
2018-12-14 19:46:44 +01:00
Gaëtan Harter
7b5b778cea
Merge pull request #10602 from aabadie/pr/tests/pkg_micro-ecc_timeout
tests/pkg_micro-ecc*: increase expect timeout
2018-12-14 19:28:56 +01:00
Martine Lenders
bbcb3161ea gnrc_ipv6_ext: make single header demux function private
The function is now only called by `gnrc_ipv6_ext_process_hopopt()` and
`gnrc_ipv6_ext_process_all()`, both are part of the `gnrc_ipv6_ext`
module.
2018-12-14 19:07:16 +01:00
Martine Lenders
0580fa5852 gnrc_ipv6: dispatch ext. headers to external interested parties
This way e.g. a raw socket listening for an extension headers protocol
number also get's it.
2018-12-14 19:07:16 +01:00
Martine Lenders
e4fa14370f gnrc_ipv6: handle hop-by-hop option before forwarding 2018-12-14 19:07:15 +01:00
Martine Lenders
5c0d18b25f gnrc_ipv6: move ext. hdr handling out of general demux
They are handled separately anyway and this allows us to handle
the Hop-by-hop option *before* forwarding in a later step.
2018-12-14 19:06:00 +01:00
Martine Lenders
17eee216b6 gnrc_ipv6_ext: add missing newline to DEBUG 2018-12-14 19:05:52 +01:00
Martine Lenders
3f17db141d gnrc_ipv6: add config macros to config doc group 2018-12-14 16:34:34 +01:00
Martine Lenders
d37bb41b03 gnrc_netif: add config macros to config doc group 2018-12-14 16:26:56 +01:00
José Alamos
bb16a7533c
Merge pull request #10571 from jia200x/pr/dox_conf_group
doc: add configurations Doxygen group
2018-12-14 14:44:01 +01:00
Martine Lenders
a90943457f gnrc_sixlowpan: specify sections in RFC links 2018-12-14 13:57:44 +01:00
Jose Alamos
5070ed9596 doc: add configurations Doxygen group 2018-12-14 13:39:44 +01:00
Martine Lenders
492df78f63 gnrc_ipv6: use gnrc_pktbuf_merge() to loopback packet
With `gnrc_pktbuf_merge()` introduced in
f03247e752 we can remove some code
duplication when it comes to looping back a packet.
2018-12-14 11:10:51 +01:00
José Alamos
b709e63581
Merge pull request #10234 from miri64/gnrc_ipv6/enh/iterate-out-of-ext
gnrc_ipv6: move ipv6_ext iteration out of ext_demux()
2018-12-14 10:44:00 +01:00
5c4b398c20
Merge pull request #10607 from MrKevinWeiss/pr/stm32f1/i2cremap
cpu/stm32f1: Fix i2c for stm32f1 based boards
2018-12-14 09:41:03 +01:00
MrKevinWeiss
d7eb070eb4 cpu/stm32f1: Add remap support for stm32f1 cpus and boards
This commit fixes configuration problems when trying to use i2c pins that need to be remapped.
All B8 and B9 pins for STM32F1 need to be remapped, so a check is done if the remappable pins are selected.
2018-12-14 09:16:37 +01:00