Closed elsalahy closed 3 years ago
Baremetal They provide everything as most MCU vendors do and this essentially includes:
FreeRTOS ST provides the MCU port layer which allows for basic functionality but most essentially no LW stack support or FUOTA.
They also might add Mbed OS support port layer similar to the FreeRTOS one with no LW stack support (not confirmed and there is no SW around it at all and can be long after the initial release)
We can use these platform in multiple ways:
CC: @johanstokking and @wienke ^
Considering some of the feedbacks from our inner circle, especially Kris from Tlera Corp, having unofficial Arduino support would also be very appealing for some users. I think we should consider that too.
There's already a wrapper Arduino library and LoRaWAN stack available with bootloader function for the STM32L4 family and porting it to STM32WL would not be so hard. Even Lacuna guys also have the same approach. We can even ask our inner circle to port it for us.
I think we should implement the best platform that fits customer needs and we can leave the Arduino platform implementation to the enthusiasts and the device adapters.
No production worthy device was shipped with Arduino code and it is in fact considered a beginners tool and most professionals don't appreciate the Arduino libs.
I also think that Arduino support is a nice-to-have, but shouldn't be our own bet.
@elsalahy can you comment on the advantages and disadvantages of FreeRTOS, ThreadX and Mbed OS?
In any case, we can use LMN, right?
@johanstokking yes we will base it on LMN and will keep any eye on the the design of the basic modem (official Sub GHz support planned by end of September/middle of October) as it might be better in terms of OS integration.
Will post a summary of the advantages and disadvantages and an implementation proposal for each possible platform within this week!
Platforms proposals:
Relevant technical background:
Proposed FreeRTOS implementation:
Advantages:
Disadvantages:
Platforms proposals:
Relevant background:
Proposed Mbed OS implementation:
Advantages:
Disadvantages:
Platforms proposals:
Relevant background:
Proposed Azure RTOS (ThreadX) implementation:
Advantages:
Disadvantages:
@johanstokking what do you think, did I miss any points. Let me know and I can add them.
I think we mainly need an OS to make it simple for anyone to build an application and expand on the vision of a generic device.
I think we should pick this up in a call after we detailed all the options and advantages/disadvantages in this issue.
Indeed I feel like this is more a marketing decision than a technical decision.
Going with a cloud provider "branded" RTOS is opening and closing doors at the same time. Note that I would consider Mbed OS also a "cloud provider's RTOS": Arm is increasingly positioning Mbed OS as a client for Pelion.
My current preference, but that's entirely intuitive, is going with FreeRTOS for low footprint, compatibility, neutrality and community.
With DB results, we have very few reasons to build and maintain an integration with Mbed OS. Here is my current proposal:
This issue has been mentioned on Discuss The Things Industries. There might be relevant details there:
Working on #79 and #81 (FreeRTOS)
Closing the issue and it can be used as a reference for relevant pull requests.
This issue has been mentioned on Discuss The Things Industries. There might be relevant details there:
https://discuss.thethingsindustries.com/t/gnse-supported-platforms-official-and-community/583/2
Summary:
This issue is to discuss possible platforms and environments that we could investigate/develop around the ST node FW.
Actions will be taken based on this discussion and separate issues will be opened and linked to this issue.