[riot-notifications] [RIOT-OS/RIOT] efm32: add support for riotboot (#11940)

Bas Stottelaar notifications at github.com
Wed Jul 31 11:00:08 CEST 2019


### Contribution description
This PR adds support for `riotboot` for EFM32 and all boards.

#### RFC
There is still one part that needs discussion (and should move to a different PR). 8ea2d1d exposing a define that can be used to skip certain parts of the bootloader, when building the bootloader.

I need that for several reasons:

* reducing the size of the bootloader (EFM32 `cpu_init()` does a lot more)
* skipping parts in `cpu_init()` that are not relevant during boot
  * configuring clock sources
    * example: I could have an updated firmware that uses another source/configuration
  * e.g. chip applying errata
    * example: there can be new (conflicting) [EFM32 errata](https://github.com/RIOT-OS/RIOT/blob/master/cpu/efm32/cpu.c#L159)
  * configuring DC-DC parameters
    * example: I decide to update [DC-DC parameters](https://github.com/RIOT-OS/RIOT/blob/master/cpu/efm32/cpu.c#L59) to make my board more efficient or stable  
  * peripheral initialization

My goal is to boot as quick as possible to the actual firmware, and then do proper initialization.

I don't know if there is a better way to detect if I'm building the firmware, and I am happy to adapt if there is a way.

### Testing procedure
`cd tests/riotboot && BOARD=ikea-tradfri make test` should work (or other EFM32 board, e.g. SLTB001a).

### Issues/PRs references
https://github.com/RIOT-OS/RIOT/pull/8902#issuecomment-410159021
You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/11940

-- Commit Summary --

  * riotboot: define if building the bootloader
  * efm32: optimize when building the bootloader
  * efm32+boards: add support for riotboot

-- File Changes --

    M boards/common/silabs/Makefile.features (1)
    M boards/ikea-tradfri/Makefile.features (3)
    M bootloaders/riotboot/Makefile (2)
    M bootloaders/riotboot/README.md (4)
    M cpu/efm32/Makefile.include (3)
    M cpu/efm32/cpu.c (9)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/11940.patch
https://github.com/RIOT-OS/RIOT/pull/11940.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/11940
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190731/297a92ce/attachment.htm>


More information about the notifications mailing list