Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
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,
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:
- 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.
- 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.
- 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.
- TCP Support
- Connection handling fixes in IP stack.
- Allow sending zero length user data IP packet.
- 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
- Add support for network buffer fragmentation.
- Add more net_buf big endian helpers.
- 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.
- File system: Imported Open Source FAT FS 0.12a code.
- Encryption: Imported mbedTLS library.
- Encryption: Updated tinycrypt library to 2.0.
- 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 Mac OS X 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.
JIRA Related Items
- ZEP-49 - x86: unify separate SysV and IAMCU code
- ZEP-55 - enable nanokernel test_context on ARC
- ZEP-58 - investigate use of -fomit-frame-pointer
- ZEP-60 - irq priorities should be rebased to safe values
- ZEP-69 - Extend PWM API to use arbitrary unit of time
- ZEP-203 - clean up APIs for static exceptions
- ZEP-225 - Add kernel API to put SoC to Deep Sleep (DS) State
- ZEP-226 - Update sample PMA to support device suspend/resume
- ZEP-227 - Add kernel API to put SoC to Low Power State (LPS)
- ZEP-228 - File system interface designed after POSIX
- ZEP-232 - Support for USB communications device class ACM
- ZEP-234 - provide a direct memory access (DMA) interface
- ZEP-243 - Create Wiki Structure for Boards
- ZEP-249 - nios2: Enable altera_max10 board in sanitycheck runs for
- ZEP-254 - nios2: define NANO_ESF struct and populate _default_esf
- ZEP-270 - nios2: determine optimal value for PERFOPT_ALIGN
- ZEP-271 - nios2: enable microkernel & test cases
- ZEP-272 - nios2: add global pointer support
- ZEP-273 - nios2: implement flashing scripts
- ZEP-274 - nios2: document GDB debugging procedure
- ZEP-275 - nios2: scope support for instruction/data caches
- ZEP-279 - nios2: demonstrate nanokernel hello world
- ZEP-285 - FAT filesystem support on top of SPI Flash
- ZEP-289 - nios2: implement kernel_event_logger
- ZEP-291 - Driver for the ENC28J60 ethernet device
- ZEP-304 - Investigate QEMU support for Nios II
- ZEP-327 - Encryption Libraries needed for Thread support
- ZEP-340 - TLS/SSL
- ZEP-354 - Provide a DMA driver for Quark SE core
- ZEP-356 - DMA device support
- ZEP-357 - Support for the MAX44009 sensor
- ZEP-358 - Add support for TMP112 sensor
- ZEP-412 - Add driver API reentrancy support to RTC driver for LMT
- ZEP-414 - Add driver API reentrancy support to flash driver
- ZEP-415 - aaU, I want to use the NATS messaging protocol to send
sensor data to the cloud
- ZEP-416 - MQTT client capability: QoS1, QoS2
- ZEP-424 - AON counter driver needs to add driver API reentrancy
- ZEP-430 - Add driver API reentrancy support to PWM shim driver
- ZEP-434 - Driver for HMC5883L magnetometer
- ZEP-440 - Add driver API reentrancy support to WDT shim driver
- ZEP-441 - Add driver API reentrancy support to GPIO shim drivers
- ZEP-489 - nios2: handle unimplemented multiply/divide instructions
- ZEP-500 - Domain Name System client library
- ZEP-506 - nios2: support baremetal boot and XIP on Altera MAX10
- ZEP-511 - Add Deep Sleep support in PMA
- ZEP-512 - Add suspend/resume support for some core devices to enable
Deep Sleep support in PMA
- ZEP-541 - Integrate QMSI releases to Zephyr
- ZEP-567 - netz sample code
- ZEP-568 - MQTT QoS sample app
- ZEP-573 - IoT applications must use netz API
- ZEP-590 - Update Zephyr's tinycrypt to version 2.0
- ZEP-643 - Add file system API documentation
- ZEP-650 - Quark SE: Implement PM reference application
- ZEP-652 - QMSI shim driver: RTC: Implement suspend and resume
- ZEP-655 - QMSI shim driver: PWM: Implement suspend and resume
- ZEP-658 - QMSI shim driver: GPIO: Implement suspend and resume
- ZEP-659 - QMSI shim driver: UART: Implement suspend and resume
- ZEP-662 - QMSI shim driver: Pinmux: Implement suspend and resume
- ZEP-278 - Enable Nios II CPU on Altera Max10
- ZEP-284 - Flash Filesystem Support
- ZEP-305 - Device Suspend / Resume infrastructure
- ZEP-306 - PWM Enabling
- ZEP-406 - Drivers shall be re-entrant
- ZEP-68 - Final image contains duplicates of some routines
- ZEP-156 - PWM Set Value API behaves incorrectly
- ZEP-158 - PWM Set Duty Cycle API does not work
- ZEP-180 - make menuconfig user provided options are ignored at
- ZEP-187 - BLE APIs are not documented
- ZEP-218 - [drivers/nble][PTS_TEST] Fix responding with the
wrong error codes to the Prepare Write Request
- ZEP-221 - [drivers/nble][PTS_TEST] Implement Execute Write
- ZEP-369 - When building out of the tree, application object files
are not placed into outdir
- ZEP-379 - _k_command_stack may be improperly initialized when
- ZEP-384 - D2000 hangs after I2C communication with BMC150 sensor
- ZEP-401 - PWM driver turns off pin if off time is 0 in set_values
- ZEP-423 - Quark D2000 CRB documentation should include instructions
to flash bootloader
- ZEP-435 - Ethernet/IPv4/TCP: ip_buf_appdatalen returns wrong
- ZEP-456 - doc: IDT security section dissapeared
- ZEP-457 - doc: contribute/doxygen/typedefs.rst: examples files are
- ZEP-459 - doc: kconfig reference entries in HTML are lacking a title
- ZEP-460 - doc: document parameters of DEVICE* macros
- ZEP-461 - Release 1.4.0 has broken the BMI160 sample as well as an
application based on it
- ZEP-463 - Getting started guide "next" link doesn't take you to
"Checking Out the Source Code Anonymously" section
- ZEP-469 - Ethernet/IPv4/TCP: net_receive & net_reply in server
- ZEP-474 - ND: Neighbor cache is not getting cleared
- ZEP-475 - Issue with timer callback routine: Condition checked is
- ZEP-478 - Linux setup docs missing step to install curses
development package for Fedora
- ZEP-497 - Ethernet/IPv4/TCP: failed to get free buffer
- ZEP-499 - TMP007 driver returns invalid values for negative
- ZEP-514 - memory corruption in microkernel memory pool defrag()
- ZEP-516 - Ubuntu setup instructions missing 'upgrade' step
- ZEP-518 - SPI not working on Arduino101
- ZEP-522 - TCP/client-mode: disconnect
- ZEP-523 - FIFOs defined by DEFINE_FIFO macro use the same memory
- ZEP-525 - srctree changes are breaking applications
- ZEP-526 - build "kernel event logger" sample app failed for
- ZEP-534 - Scan for consistent use of "platform/board/SoC" in
- ZEP-537 - doc: create external wiki page "Maintainers"
- ZEP-545 - Wrong default value of CONFIG_ADC_QMSI_SAMPLE_WIDTH
for x86 QMSI ADC
- ZEP-547 - [nble] Failed to start encryption after reconnection
- ZEP-554 - samples/drivers/aon_counter check readme file
- ZEP-555 - correct libgcc not getting linked for CONFIG_FLOAT=y on
- ZEP-556 - System hangs during I2C transfer
- ZEP-565 - Ethernet/IPv4/TCP: last commits are breaking network
- ZEP-571 - ARC kernel BAT failed due to race in nested interrupts
- ZEP-572 - X86 kernel BAT failed: Kernel Allocation Failure!
- ZEP-575 - Ethernet/IPv4/UDP: ip_buf_appdatalen returns wrong
- ZEP-595 - UART: usb simulated uart doesn't work in poll mode
- ZEP-598 - CoAP Link format filtering is not supported
- ZEP-611 - Links on downloads page are not named consistently
- ZEP-616 - OS X setup instructions not working on El Capitan
- ZEP-617 - MQTT samples build fail because netz.h file missing.
- ZEP-621 - samples/static_lib: fatal error: stdio.h: No such file or
- ZEP-623 - MQTT sample mqtt.h missing "mqtt_unsubscribe" function
- ZEP-632 - MQTT fail to re-connect to the broker.
- ZEP-633 - samples/usb/cdc_acm: undefined reference to
- ZEP-642 - Inconsistent interpretation of pwm_pin_set_values
arguments among drivers
- ZEP-645 - ARC QMSI ADC shim driver fails to read sample data
- ZEP-646 - I2C fail to read GY2561 sensor when GY2561 & GY271 sensor
are attached to I2C bus.
- ZEP-647 - Power management state storage should use GPS1 instead of
- ZEP-669 - MQTT fail to pingreq if broker deliver topic to client but
client doesn't read it.
- ZEP-673 - Sanity crashes and doesn't kill qemu upon timeout
- ZEP-679 - HMC5883L I2C Register Read Order
- ZEP-681 - MQTT client sample throws too many warnings when build.
- ZEP-687 - docs: Subsystems/Networking section is almost empty
- ZEP-689 - Builds on em_starterkit fail
- ZEP-695 - FatFs doesn't compile using Newlib
- ZEP-697 - samples/net/test_15_4 cannot be built by sanitycheck
- ZEP-703 - USB sample apps are broken after QMSI update
- ZEP-704 - test_atomic does not complete on ARC
- ZEP-708 - tests/kernel/test_ipm fails on Arduino 101
- ZEP-739 - warnings when building samples for quark_se devboard