BG22/ EFR32

Hello RIOTers,

I have been a very long time lurker here with some porting and development but mostly using what’s been done. I am looking at BG22 from Silabs and wanted to inquire if there has been any initiation towards this family (EFR32BGxx).

Intent is to have RIOT and then nimble integrated on this.

thank you, Akshay

Hi Akshay,

The EFM32 and EFR32 family are supported, but it depends on the board definitions.

Are you using the SLTB010A board? I see that that one is using the EFR32BGxx. If so, I can start a PR to add support for it.

Kind regards, Bas Stottelaar

Hello Bas,

Yes SLTB010A is indeed the board I plan to use

Thank You, Akshay

I just ordered that board. I think I can make an initial PR this week.

Kind regards Bas

Thanks Bas. That’s a Cortex-M33 chip. I believe there isn’t any CM33 as yet on RIOT otherwise.

Warm regards, Akshay

Hi Akshay,

I received the SLTB010A yesterday and have already prepared all vendor files.

Support for Cortex-M33 isn’t there yet, but I hope it’s straightforward (it’s basically a successor of the M4 according to the Silabs docs). I also need to update the EFM32 device drivers in RIOT-OS to support the series 2 microcontrollers. According to AN0918.2, it should be quite easy as long as we’re using EMLIB (which we do). Gecko SDK was already updated to support the series 2 microcontrollers.

It’s a bit more work than I thought, but I hope to have a first version that works this weekend.

Thanks Bas - I can also spend some time once you give me a starting point.

Regards, Akshay

Hello Bas,

Could you get the Cortex-M33 supported?

Hi Akshay,

If you want to try porting it yourself you can try this porting guide[1]. There is also a detailed story published by Martine S. Lenders[2].

[1] : https://hackmd.io/@aeefs2Y8TMms-cjTDX4cfw/rk1-NkzAU [2] : https://blog.martine-lenders.eu/riot-board-en.html

Regards,

Akshai M

Hi Aksay,

I am still working on this, but I had some other things to do that took more time :wink:

The PR for Cortex-M33 support is here: https://github.com/RIOT-OS/RIOT/pull/14367. Support for the board will follow if I can get it to work.

Hi Akshay,

I’ve been able to run at the examples/default application, and get some output on the terminal: https://github.com/RIOT-OS/RIOT/pull/14367#issuecomment-655148512.

The code (but in very rough shape!) can be found here: https://github.com/basilfx/RIOT/tree/feature/sltb010a.

So far, only UART (but not EUART) and GPIO work. RTT/RTC need a new driver. I2C and Timers do compile, but don’t work yet.

Kind regards, Bas

Thanks Bas, this can be a good start point for me.

Thank You very much, Akshay

I’ll probably update this branch tonight, hopefully in a more workable version.

Any comments are appreciated and I will incorporate them.

I have been able to build and flash the code on the BG22 board.