About porting RIOT to platforms based on STM32.

Hi, I’m Nhat Pham, an undergraduate student from Ho Chi Minh University of Technology. My group (some students and a lecturer) is working on a home automation project. We’re very interested in RIOT as an alternative os to Contiki.

Right now, we have many platforms based on STM32 (mostly F1 and F4 series) and CC1101, and we want to use RIOT on our platforms. I see that you have partly supported STM32. However, I can’t find much info to do so.

Therefore, can you provide us documents or information how can we port RIOT to use with STM32 ? We’re familiar with STM32 cpus and real time os (i.e CoOS, freeRTOS) so we can implement missing modules on our own and contribute them to the community of RIOT.

Best regards.

/*********************************************** * Phạm Hữu Đăng Nhật

* StudentID: 51002279

* Class: MT10KTTN

* Ho Chi Minh University of Technology

* Mobile: 0164.968.2716 ***********************************************/

Hello Nhat,

sorry for the delayed reply and welcome to the RIOT community!

RIOTs STM32 port is currently work in progress - it is working for the most parts, but we are still working on the best way to integrate it into RIOTs main repository. The main problems here are some very restrictive licenses in the STM standard library, which you are probably also using?!

For getting RIOT running on the your STM platforms, the best way to start is to look into the thirdparty_cpu [1] and thirdparty_boards [2] repositories, as they contain rudimentary working implementations for the stm32f4discovery board. You can build the default application for the stm32f4discovery by uncommenting the RIOTCPU and RIOTBOARD variables in the Makefile of the example project (RIOT/examples/default/Makefile) and setting the BOARD to stm32f4discovery.

If you want to contribute to RIOT (which we would highly welcome!) you could for example debug and test the task-switching more thoroughly, as we suspect there might be still some issues with it.

Let me know if you need any help!

cheers, Hauke

[1] https://github.com/RIOT-OS/thirdparty_cpu [2] https://github.com/RIOT-OS/thirdparty_boards