The latest development version of this page may be more current than this released 4.0.0 version.

Zephyr Kernel 1.5.0

The Zephyr Engineering team is glad to announce the release of Zephyr Kernel 1.5.0. This is the first release to follow the 3-month release cadence. This release includes numerous fixes and support for major features. Additional changes include support for new drivers, sensors, and boards.

Major enhancements included with the release:

  • TCP Support

  • Integration of the Paho MQTT Library support with QoS

  • Flash Filesystem Support

  • Integration of the mbedTLS library for encryption

  • Improved BR/EDR support (for L2CAP, in particular).

  • Support for the Altera Nios II/f soft CPU architecture

A detailed list of changes since v1.4.0 by component follows:

Kernel

  • Added nano_fifo_put_list() APIs, which allows queuing a list of elements on a nanokernel FIFO.

  • Removed unused memory pool structure field.

  • Enhanced memory pool code.

Architectures

  • ARM: Updated to include floating point registers.

  • Altera Nios II/f soft CPU architecture support
    • Internal Interrupt Controller

    • Avalon Timer

    • Avalon JTAG UART (polling mode) as default for qemu-system-nios2, and 16550 UART as default for Altera MAX10.

Boards

  • Added Nios II QEMU board.

  • Added configuration for Altera MAX10 FPGA.

Drivers and Sensors

  • Sensors: Added driver for I2C HMC5883L magnetometer.

  • Sensors: Added driver for I2C TMP112 temperature sensor.

  • Sensors: Added driver for MAX44009 light sensor.

  • Sensors: Added driver for LPS25HB.

  • HAL: Updated QMSI drivers to 1.1

  • Added DMA QMSI shim driver.

  • Added Quark SE USB device controller driver.

  • Added suspend/resume to QMSI drivers.

  • Added Guard for critical sections of the QMSI drivers.

  • Added Zephyr File System API.

  • Added driver for ENC28J60 Ethernet SPI module.

Networking

  • TCP Support

  • Connection handling fixes in IP stack.

  • Allow sending zero length user data IP packet.

Network Buffers

  • New net_buf_simple API for light-weight on-stack (or static) buffers where a net_buf (and its associated pool) is overkill. The net_buf API now uses as an internal implementation detail net_buf_simple.

  • Add support for network buffer fragmentation.

  • Add more net_buf big endian helpers.

Bluetooth

  • Multiple fixes & improvements to the nble driver.

  • New API for dealing with Out of Band data (like the local address).

  • Various smaller fixes & improvements in many places.

Build and Infrastructure

  • Added “qemugdb” target to start a local GDB on port 1234.

  • Added script to filter known issues in the build output.

  • Sanity: Added “-R” option to build all test with assertions.

Libraries

  • File system: Imported Open Source FAT FS 0.12a code.

  • Encryption: Imported mbedTLS library.

  • Encryption: Updated TinyCrypt library to 2.0.

Documentation

  • Fixed all the documentations warnings during build.

  • Fixed several typos, trademarks and grammar.

  • Moved all the boards documentation to the wiki.

  • Moved Code Contribution documentation to the wiki.

  • Added package “ncurses” to the list of requirements.

  • Updated macOS instructions.

Test and Samples

  • Samples: Replaced old debug macro to use new SYS_LOG macro.

  • Added TMP112 sensor application.

  • Added Quark SE power management sample application.

  • Added DMA memory to memory transfer sample.

  • Added sample for MAX44009 light sensor.

  • Added MQTT publisher and subscriber samples.

  • Added mbedTLS sample client.