Category

Blog

ZephyrOS SDK version 0.9.5 is now available!

By | Blog

As announced a few weeks ago in the technical meetings and communication, the Zephyr Community has been working on a new version of the SDK with updates mostly to the host tools. Today, we are pleased to announce the release of version 0.9.5 of the ZephyrOS SDK. Thank you to all the community members and companies who worked to make this release a success.

This release has the following changes as compared with version 0.9.3.

  •       New QEMU release (based on 3.0.0+git 19b599f7664b2ebfd0f405fb79c14dd241557452)
  •       Qemu installation now has all needed ROMs and BIOS files to support connecting Ethernet drivers such as the Intel e1000.
  •       New OpenOCD based master with Zephyr related changes (commit: 05e0d633)
  •       New DTC version 1.4.7+git (commit 2e930b7f8f6421638869a04b00297034c42e1a82)
  •       Upgrade arc binutils to 2018.03-rc2

The above changes, and especially the Qemu related items, requires developers to  move to the new SDK as soon as possible. Earlier versions of the SDK will not work with the master tree.

The new SDK required some changes to ZephyrOS. They include:

  •       RISCV32 Qemu is now uses a different machine type. Qemu-riscv32 is now an alias to the hifive1 board which can be run in Qemu as well.
  •       NIOS2 Qemu is now using a different UART driver
  •       ARM Qemu is now supported by two machine types:

mps2_an385: This one will be the default target for sanitycheck and will be used for testing kernel features. This machine type does have MPU support and will enable userspace testing on ARM

lm3s6965evb: This is the machine type we have now, we will keep it for compatibility and testing some networking and Bluetooth related features. It might be obsoleted in favor of the above in the future.

Also of note: CI will be updated with the new SDK and sanitycheck will require the new SDK to pass, meaning that if you run sanitycheck locally you will need this SDK. We now made this version required for building Zephyr.

The SDK can be downloaded from here:

https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/tag/0.9.5

Direct link to the SDK binary:

https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.5/zephyr-sdk-0.9.5-setup.run

Note: All of the changes above can be found in the following PR: https://github.com/zephyrproject-rtos/zephyr/pull/10136.

If you would like additional information or to see changes made in version 0.9.4 please visit:

https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/tag/0.9.4

If you have any questions or have any issues with the new SDK, please let us know or file a bug.

 

Foundries.io Expands Commitment to Open Source and the Zephyr Project

By | Blog

By Tyler Baker, CTO for Foundries.io

Foundries.io, an Internet of Things platform developer, has actively contributed to several open source projects since its inception in 2017, when it was spun out from Linaro. We strongly believe that open source software is the best choice for platforms others build upon. This is especially so in IoT applications, where products and devices tend to be heavily customized and optimized. We also believe open governance and community involvement are essential for healthy and diverse projects.

To that end, we have been using and contributing to The Linux Foundation’s Zephyr Project for many years, and have held the Community Member seat on its Technical Steering Committee since its creation. It’s only natural that we expand this commitment. Foundries.io is now a silver member for The Linux Foundation as well as a the Zephyr Project.

In August 2018, Foundries.io launched microPlatforms for an Always-Secure Internet of Things. The Foundries.io Zephyr and Linux microPlatforms™ are end to end tested, secure, updatable and configurable platforms based on Zephyr and OpenEmbedded/Yocto Linux and containers, for building IoT devices from smart sensors to autonomous vehicles. Not only do the microPlatforms use key Linux Foundation projects such as Zephyr and Yocto, but they also provide a universal device platform to support other key IoT-related projects such as EdgeX Foundry and the Akraino Edge Stack. We recently demoed the microPlatforms at Linaro Connect Vancouver 2018, to view the demo, click here (fast forward to 01.00.00 on the video).

As proponents of open collaboration, we are excited by its future as the “Linux kernel for microcontrollers” – a common, cross-architecture, batteries-included ecosystem with active backing from silicon vendors, software development companies, and open source community members. Zephyr is an essential part of our product offerings, and we’re looking forward to continuing our collaboration with the community in our new role as a Silver Member.

We look forward to partnering with other Linux Foundation members, and to participating in and contributing to the range of hosted projects. To find out more about Foundries.io, go to our website to read monthly updates and much more.

 

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.