Blog

Back to News

Announcements

In The News

Events

Join us at ELC Europe!

By | Blog

Next week, the Zephyr Community will be converging on Embedded Linux Conference Europe and OpenIoT Summit Europe 2018.  Attendees have the option to participate in a number of collaborative events in addition to a packed schedule of technical presentations.

To make sure you don’t miss any of the Zephyr related events, we’ve documented them all here for your easy reference. We also want to encourage you to download the conference app or view the full schedule here.

Monday, October 22:

Tuesday, October 23:

Wednesday, October 24:

Stay tuned on Zephyr’s social channels for live updates from the conference.

Zephyr 1.13 release Highlights

By | Blog

Zephyr OS 1.13 was released on September 10th and comes packed with exciting new features, an expanded list of supported hardware and additional changes targeting long-term stability of APIs for the upcoming Long-Term Support (LTS) release.

One new addition in Zephyr 1.13 is support for tracing hooks and system-wide support for tracing and debugging frameworks and host tools. We demonstrate this support using SEGGER SystemView. Zephyr previously had a sample demonstrating SystemView, limited to the sample application. It also required the system event logger feature supporting only limited features and events it can trace. The new tracing backend enables third-party frameworks and traces of any event type in Zephyr. Work on this feature will continue with more hooks and backends added in future versions.

Similarly, we revamped the logging subsystem in Zephyr and introduced a new logging backend with many features, including:

  • Deferred logging, reducing the time needed to log a message,
  • Multiple backends supported (up to 9 backends),
  • Compile time filtering on a module level,
  • Independent runtime filtering for each backend,
  • Additional runtime filtering on a module instance level,
  • Time-stamping with user-provided function,
  • Dedicated API for dumping data,
  • Panic support, where the logger switches to blocking, in-place processing, and
  • Design ready for a multi-domain/multi-processor system.

The new Logger API is highly configurable both at compile time and at runtime. The Logger is thread safe and minimizes the time needed to log the message. Time-consuming operations such as string formatting or access to the transport are not performed (by default) when the logger API is called. Instead, a message is created and added to a configurable dedicated pool of log messages.

The new logger plays nice with features planned for the next release, including a new shell and enhanced multi-core support building on top of features introduced in previous releases.

In Zephyr 1.13, we continued stabilizing APIs and finalized the Analog-to-Digital Converter (ADC) subsystem. We also made good progress on Real-Time Clock (RTC), counters, and I2C APIs. 

On the networking side of things, we introduced:

  • System call support for BSD socket APIs,
  • TLS and DTLS security layer support to BSD sockets,
  • IEEE 802.1AS-2011 generalized Precision Time Protocol (gPTP) for Ethernet networks,
  • Link Layer Discovery Protocol (LLDP) TX support,
  • Support for managing Qav credit-based shaper network scheduling algorithm,
  • Generic TX time-stamping support, and
  • Many other improvements, new features, and bug fixes.

We also heard feedback about documentation from our community and completely overhauled the documentation infrastructure. We provided a developer friendly theme that is familiar and easy to use and navigate. We’ll continue making improvements documenting existing and new Zephyr features.

A most sincere thank you to the more than 140 developers contributing to this release. Not only did you add a wealth of new features during the merge window, you also rallied together as a community during the stabilization period across time zones, companies, architectures, and even weekends, to find and fix bugs, making Zephyr 1.13 yet another great release!

To learn more about Zephyr Project please see our Getting Started Guide, join the developer mailing list or follow #zephyrproject on IRC.

Tracing Zephyr applications with SEGGER SystemView

By | Blog

New addition to Zephyr is support for tracing hooks and system-wide support for frameworks and host tools using the tracing feature. Zephyr did have a sample demonstrating SystemView, however it was not available as a global feature and was limited to the sample application. It also required the system event logger feature which was limited in many ways.

The video shows how to trace any application in Zephyr by just adding a configuration option to the application configuration file. Obviously it works only with boards that support SEGGER RTT and JLink, but should work over other interfaces, something we have not tested yet.

Using the same tracing hooks the plan is to support other tracing tools like Percepio Tracealyzer, Trace Compass and others.

View the Tracing with SEGGER SystemView and Zephyr video here.

This post originally ran on Anas Nashif’s personal blog. Read more from Anas here.

 

A Preview of My Linaro Connect Keynote

By | Blog

Attending conferences is one of my favorite parts of being a Developer Advocate. There is something special about the combination of informal hallway discussions and a thoughtfully designed program that creates an environment where partnerships and collaborations flourish. These events provide incredible learning, networking and collaboration opportunities and give projects like Zephyr an opportunity to demonstrate our technology and community to a wider audience.

All summer, I have been looking forward to next week’s Linaro Connect 2018 where I will be presenting a keynote discussing the mechanics and methodology behind one of the fastest growing communities in the IoT ecosystem – the Zephyr Project. It was such an honor to be asked to speak about my experience building and participating in open source communities as part of Community Day on Friday, September 21 at 8:45 am. Leading into the event, I wanted to take moment to give a sneak peek into what I will be talking about and why.

My journey here was unexpected but a wonderful surprise. I am part of the growing community of people joining the embedded and IoT ecosystem from other parts of the technology industry. What attracted me was a desire to invent and the understanding that all the tools and knowledge I needed to build the things I wanted were readily available. When I began building, I quickly discovered what most new developers find, its not that simple. While I didn’t find any one tool that solved all my issues out of the box, I found something better. I found a community of like-minded people who were all talking about and working on the features and functionality that mattered to me. I found a structure I could participate in and I found a tool that empowered me to create. I found the Zephyr Community.

Here are a few of the guiding principles I’ll discuss that are foundational to the Zephyr Project, which had a tangible impact on my experience, and empowered me to build embedded and IoT devices.

  • Documentation opens doors
  • Technical diversity can drive other types of diversity
  • Effective collaboration requires dedicated effort
  • Community infrastructure isn’t optional
  • Transparency and governance matters

If you want to hear more, you can register for Linaro Connect here. Click here for more about my keynote. We’ll post slides and videos as available. If you are attending the event, please feel free to tag us in your social media posts @TheaClay and @ZephyrIoT.