Summary
Zephyr microPlatform changes for 34
A somewhat smaller update of Zephyr as part of the v1.14 development cycle -- no changes to MCUboot or the sample applications.
Linux microPlatform changes for 34
LMP Unified Linux Kernel updated to the 4.18.18 stable release. Core layer updates based on the latest OE/Yocto master/thud changes.
Zephyr microPlatform
Highlights
- Zephyr v1.14 development snapshot
Components
MCUboot
Features
Not addressed in this update
Bugs
Not addressed in this update
Zephyr
Features
Zephyr SDK 0.9.5 is now required
All Zephyr SDK users must update to version 0.9.5. Here is a summary of changes between 0.9.3 and 0.9.5:
- New QEMU release (based on 3.0.0+git 19b599f7664b2ebfd0f405fb79c14dd241557452)
- 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
- Added Qemu ROMs to support E1000 ethernet.
Download the new SDK at: https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/tag/0.9.5
Build will abort if Python3 is not found
Previously, users who didn't have Python3 installed would receive a warning and the build would continue. This has been changed: the build now aborts instead, avoiding any confusing error messages later in the build.
Support out-of-tree shield configurations
Out-of-tree shields can now be stored in out-of-tree board directories under boards/shields/*. Using this configuration, Zephyr will look for shields in both the normal location as well as the out-of-tree location.
Console subsystem receives POSIX-like read/write interfaces
For now the TTY device gets read/write calls, but the getchar/putchar calls will stay for convenience. The console subsystem also added the ability to set receive and transmit timeouts.
MCUMGR library updated to latest master
MCUMGR was updated to the latest master at https://github.com/apache/mynewt-mcumgr at commit 62516893. This adds the following support:
- ability to resume partial upload
- option to not compile taskstat and echo commands
POSIX generic file descriptor table support
Zephyr sees the addition of a table to maintain file descriptors across several POSIX-compatible objects using I/O (fd-based read/write operations). This unified file descriptor is intended for use with files, sockets, special devices, etc. It is currently implemented by the sockets layer.
New PCI shell
A basic 'lspci' command was added to the shell to list PCI devices. This command can be enabled with the new Kconfig PCI_SHELL. Example below:
uart:~$ lspci 0:1 8086:7010 class: 0x1, 1, 4, I/O, addrs: 0xC000-0xC00F, IRQ -1
Coccinelle improvements
Zephyr uses the Coccinelle tool (which can do pattern matching and text transformation) for static code analysis. The scripts live under scripts/coccinelle/ and saw these improvements:
- Use BIT() helper macro instead of hardcoding using bitshifting
- Added cases of NULL dereference checks
- Make sure memset has a (void) cast to ignore its return value
- Use unsigned int as the return value for irq_lock()
- Find cases of missing locks
- Find cases of unsigned < 0
- Remove redundant semicolons
- Check legal usage of sizeof expression
Several device tree improvements
- Binding added for pwm-leds
- Kinetis saw basic DTS support for RNGA and TRNG
- cc3220sf_launchxl added support for leds / buttons
- hexiwear_k64: added PWM LED to DTS
Bugs
Several bugs were squashed in this latest merge-up
The qemu_riscv32 configuration broke during the move to QEMU 3.0. The fix changes the RISC-V QEMU to use the hifive1 board configuration.
The apollo_lake board was seeing build errors related to GPIO and DTS changes. These were fixed.
The size of the Arm MPU thread user stack region was fixed.
Several fixes to the NVS subsystem related to write block size:
- Error out if write block size is not supported
- Fix ATE read/write when write block size > 8 bytes
- increase NVS_BLOCK_SIZE to help support hardware with 16-byte write block size.
hawkBit and MQTT sample application
Features
Not addressed in this update
Bugs
Not addressed in this update
LWM2M sample application
Features
Not addressed in this update
Bugs
Not addressed in this update
Linux microPlatform
Highlights
- LMP Unified Linux Kernel updated to 4.18.18.
- Docker updated to the 18.09.0 release.
- Docker Compose updated to the 1.23.1 release.
- Default golang version updated to the 1.11 series.
- Support for the official Raspberry Pi Touch Display.
- Core layer series now fully based on the OE/Yocto thud release.
Components
Meta Freescale
Features
Layer Update
Linux-fslc updated to 4.18.12. Initial NXP BSP support for i.MX 8.
Bugs
Not addressed in this update
Meta RISC-V
Features
Layer Update
Riscv-pk updated to the latest revision (7bee30c1ff).
Bugs
Not addressed in this update
Meta Virtualization
Features
Layer Update
Ceph update to 13.2.2. Cri-o updated to 1.12. Docker updated to 18.09.0. Kubernetes updated to v1.12.
Bugs
Not addressed in this update
Meta OpenEmbedded Layer
Features
Layer Update
Adduser updated to 3.118. Libgit2 updated to 0.27.5. Libssh updated to 0.8.4. Mbedtls updated to 2.13.0.
Bugs
Not addressed in this update
OpenEmbedded-Core Layer
Features
Layer Update
Default golang version updated to the 1.11 series. Elfutils updated to 0.174. Git updated to 2.18.1. Glide updated to 0.13.2. Tzcode and tzdata updated to 2018g.
Bugs
binutils
Multiple issues.
curl
Multiple issues.
qemu
Qemu emulator built with the NE2000 NIC emulation support is vulnerable to an integer overflow, which could lead to buffer overflow issue.
systemd
Multiple issues.
unzip
Buffer overflow in list.c, when a ZIP archive has a crafted relationship between the compressed-size value and the uncompressed-size value.
nasm
Memory corruption (crashed) of nasm when handling a crafted file due to function assemble_file(inname, depend_ptr) at asm/nasm.c:482.
elfutils
Multiple issues.
ghostscript
Multiple issues.
openssl
Multiple issues.
Meta Updater Layer
Features
Layer Update
Aktualizr updated to the 3c1c77c005 revision.
Bugs
Not addressed in this update
Meta Linaro
Features
Layer Update
Optee OS, client and test updated to v3.3.0.
Bugs
Not addressed in this update
Meta LMP Layer
Features
Layer Update
LMP Unified Linux Kernel updated to 4.18.18. Python3-docker updated to 3.5.1. Python3-docker-compose updated to 1.23.1. Python3-requests updated to 2.20. Support for the official Raspberry Pi Touch Display.
Bugs
Not addressed in this update