Benjamin Cabé

Zephyr Weekly Update – LLEXT extension development made easier

Zephyr Weekly Update - May 17, 2024

Zephyr Weekly Update - May 17, 2024

A very cool addition this week makes the lives of LLEXT extension developers easier, and makes me think I should already start working on some nice demos for when it will be time to announce Zephyr 3.7 (which is not until late July, though!). Check this out, alongside other cool news, in this new weekly update 🙂

Extension developer kit for LLEXT

Introduced with the latest Zephyr 3.6 release, the LLEXT (Linkable Loadable Extension) subsystem has been gaining a lot of traction lately.

In many cases, people developing the “core” of a Zephyr application designed to be extensible (e.g. a smart home gateway with a fancy display allowing for news “apps” to be added) are not the same people that will be developing the extensions (e.g. an energy monitoring or a weather forecast application, to take the previous example). LLEXT extensions as usually meant as lightweight “plugins” that use a well-controlled and limited set of APIs ; therefore, asking developers to setup a full-blown Zephyr development environment is overkill and error-prone.

This is where the new LLEXT Extension Developer Kit (EDK) comes in: it simplifies the development of extensions outside of the Zephyr tree, by allowing to generate an “SDK” (using west build -t llext-edk target) that packages all the necessary headers and compile flags relevant in the context of a given Zephyr app, effectively providing extension developers with all they need to start hacking away!

Try out the new EDK code sample and see PR #69831 for more details.

Sysbuild multi-target sample

As a way to make it easier to grasp the concepts behind sysbuild, and how it can be used to build multiple facets of your application at once (ex. the actual Zephyr application alongside an MCUboot bootloader), a new “multitarget Hello World” code sample has been introduced.

It showcases a classical Hello World application, except that it also includes the configuration files and explanation on how to build it and flash it for multiple targets (ex. different SoC cores), also leveraging the new hardware model and board target terminology in the process. (PR #69652)

Boards & SoCs

New boards and shields:

STWIN.box from STMicroelectronics

Networking

Host:Port       Concurrent/Backlog        Resource type   Methods         Endpoint

192.0.2.1:80    1/10                      dynamic         GET,POST        /dynamic
                                          static          GET             /
                                          websocket       GET             /

1 service and 3 resources found.

Drivers

Bluetooth

Miscellaneous


A big thank you to the 7 individuals who had their first pull request accepted this week, 💙 🙌: @trunghieulenxp, @jlh-makeen, @darkmoon32, @AyushKot96, @mstumpf585, @dapperlo, and @Rafal-Nordic.

As always, I very much welcome your thoughts and feedback in the comments below!

If you enjoyed this article, don’t forget to subscribe to this blog to be notified of upcoming publications! And of course, you can also always find me on Twitter and Mastodon.

Catch up on all previous issues of the Zephyr Weekly Update:

Exit mobile version