Topic: Integration of wolf* portofolio as ST middleware

Hello everybody, long time lurker, first time poster, I'm using the STM32CubeIDE and I'm very happy with the way they integrate external software packages as 3rd party middleware, for example the already existing mbedTLS, FreeRTOS and other.
I like a lot being able to have some features (crypto acceleration, RNG, and so on) auto-selected depending on what MCU is used and having those handy GUI where one can click and fill up the necessary configuration parameters instead of hacking into the widespread source files.
Also having all the stuff nicely and reproducible saved in the IOC file is a God send.

There is also a document from ST that describes the guidelines and requirements to integrate an external software package in their middleware stack:
"UM2285 - Development guidelines for STM32Cube Expansion Packages"

I was wondering if there is such an effort underway to fully integrate the wolf* portfolio into the ST stack, even at the alfa/beta stage, I'll be more than happy to contribute with testing and work, because endlessly hacking using the example is kind of tiresome and error prone.

Also, if it's nothing already started, does the forum population consider that it's a good idea to implement ?

Best regards,
Mircea

Share

Re: Integration of wolf* portofolio as ST middleware

Hi mircea,

Thank you so much for reaching out with this question. As luck would have it yes we have it on our roadmap with work to start in the next week or so! Great timing on your inquiry!

If there is anything else the wolfSSL team can assist with just let us know.

Warm Regards,

K

Re: Integration of wolf* portofolio as ST middleware

Hi Kaleb, first of all thanks for the answer and willingness to help.

Now looking at how the ST accepted middleware is organized in reality and how they recommend to be organize in the above mentioned document, one can see that there is no relation big_smile, not even marginally close. It actually doesn't matter as long as you have good templates that hides the code organization ugliness.

I have to say I've started to look closer into the ST software and examples and I was really overwhelmed on how miserable and anti-pattern are.

The one shiny idea was CubeMX and the derivative CubeMXIDE, and above all the managed code generation via the FTL templates, it's not much, but the possibility to have some kind of repeatable, relatively consistent  project file that allows (re)producing source code bundles for many slightly different boards revisions and scopes it's a God send. Also putting main parameters in a GUI and selecting their visibility depending on HW features of the selected MCU is very nice, in the end the old crusty consultant/programmer could still make handcrafted unmaintainable code to make themselves irreplaceable, but I hope that someone will put an end to it /rant.

I've had a look at the FTL files of the accepted TLS library, the mbedTLS, that sadly focus way too much on the bloody webservers but have no plan to implement proper S/MIME signing, because of course everybody makes mostly https  servers only on this embedded devices, sigh sad

Anyway, the files are messy as well, or they look so to somebody that doesn't have any specification, much less an architecture document on how this stuff should be organized for a new middleware package, or I wasn't able to find anything useful.
And the organization in these DB directories that have the update method by replacing the existing one with a new version, gahh.

Maybe wolfSSL as a company and partner will be able to get some stuff, eventually under NDA.

I've seen that Microchip seem to have a similar approach with FTL template files and even see in the wolf git repository an integration with something called Harmony, that seem to be a similar code generator with CubeMX, but I have no knowledge or experience with it, but maybe some work could be transferred to the ST framework.

In any case, if you need any help in testing the templates and even some programming, please don't hesitate to contact me when the work will start. The hardest part is making a sane concept and architecture, based on what CubeMX expects, but once started it will speed up nicely.


Best regards,
Mircea

Share

Re: Integration of wolf* portofolio as ST middleware

Mircea,

Absolutely we'll keep it in mind and thank you for offering to test once we start work. I'm going to send my colleague david a message that you are interested in testing as he will be heading the effort!

Warm Regards,

K

Re: Integration of wolf* portofolio as ST middleware

Mircea,

David said to send you his contact info so you can reach him directly. Could you send a quick message to support [at] wolfssl [dot] com with a link to this forum case and I'll get you davids' contact info.

Warm Regards,

K