Benjamin Cabé

Zephyr Weekly Update – Introducing ACPI support

Zephyr Weekly Update - July 7, 2023

Zephyr Weekly Update - July 7, 2023

There’s no such thing as summer holidays for the Zephyr community, it would seem. It’s very nice to see ACPI support being introduced this week, and there’s also intereting work being done on making it easier and more flexible to run Zephyr applications natively on your development machine.

This week, I would also like to point out the Github issues that are explicitly labelled as “good first issues”. I am highlighting some of these in the article below, but generally speaking I would really encourage you to regularly check them out, as your first contribution to Zephyr might be lying there 🙂 Also, if you’re a maintainer, a kind reminder that there are probably many issues opened in your area of expertise that could be good ones for newcomers, so don’t forget to tag them as part of bug triaging!

ACPI Support

One of the biggest changes this week is the addition of initial support for the ACPI (Advanced Configuration and Power Interface) standard.

The ACPI standard has been around for over 25 years and provide a hardware abstraction layer to help with power management, auto configuration, and status monitoring of peripherals.

The new implementation is using the ACPICA open source project, and allows to discover and configure hardware components at run-time, perform power management (e.g. putting unused hardware components to sleep), and perform auto configuration tasks. You can check out the documentation of the new ACPI API here. (PR #56347)

Native simulator

Another significant change is the introduction of a new “virtual” board to be used for simulation purposes, the native simulator, a.k.a. native_sim. (PR #59302)

You may be already familiar with the native_posix which allows you to run Zephyr natively on e.g. your local Linux machine. It’s very complete, and allows to go as far as simulating a display, a real-time clock, etc. which is very handy in situation where you don’t need (or sometimes can’t) test against real hardware.

This new “native simulator” is meant to make it easier to run against a custom libC (where native_posix would typically use the host’s libC). It also makes it possible to simulate assymetric multiprocessing scenarios (several simulated MCUs, each running their own Zephyr instance).

SoCs

Boards & shields

Seeed Studio XIAO ESP32 S3
NXP MR-CANHUBK3
Arduino Uno Click Shield from MIKROE

Drivers

Bluetooth

Miscellaneous


A big thank you to the 14 individuals who had their first pull request accepted this week, 💙 🙌: @najumon1980, @robertoxmed, @mku514k, @jaiiarora, @andy9a9, @Maxwelltoo, @michaeljones, @jasperjonker, @EricNRS, @bperseghetti, @Chenhongren, @faloj, @MrMarteng, and @ithinuel.

As always please feel free to jump in with your thoughts or questions in the comments below. See you next week!

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