|
| 1 | +Zephyr Kernel 1.6.0 Release Notes |
| 2 | +################################# |
| 3 | + |
| 4 | +[Content: create executive summary] |
| 5 | + |
| 6 | +Major enhancements included with the release: |
| 7 | + |
| 8 | +* New Unified Kernel. The nano and micro kernel were removed. |
| 9 | +* The legacy API is still supported but deprecated. All the test were moved to tests/legacy. |
| 10 | +* Added Unified Kernel documentation. |
| 11 | +* Added support for ARM LTD Beetle SoC and V2M Beetle board. |
| 12 | +* Cleaned Build System and separated Kernel / Application build. |
| 13 | +* Added support for USB mass storage access to the internal filesystem. |
| 14 | + |
| 15 | +A detailed list of changes since v1.5.0 by component follows: |
| 16 | + |
| 17 | +Kernel |
| 18 | +****** |
| 19 | + |
| 20 | +* Introduced Unified kernel. |
| 21 | +* Micro: Removed deprecated Tasks IRQs. |
| 22 | +* Removed deprecated dynamic interrupt API. |
| 23 | +* Added DLIST to operate in all elements of a doubly-linked list. |
| 24 | +* SLIST: Added sys_slist_get() to fetch and remove the head, also Added append_list and merge_slist. |
| 25 | +* Added nano_work_pending to check if it is pending execution. |
| 26 | +* ARM: Added choice to use floating point ABI. |
| 27 | +* Unified: Added support for k_malloc and k_free. |
| 28 | +* Renamed kernel objects event to alert and memory map to memory slab. |
| 29 | +* Changed memory pool, memory maps, message queues and event handling APIs. |
| 30 | + |
| 31 | +Architectures |
| 32 | +************* |
| 33 | + |
| 34 | +* ARC: Removed CONFIG_TIMER0_CLOCK_FREQ. |
| 35 | +* ARC: Unified linker scripts. |
| 36 | +* ARC: Removed dynamic interrupts. |
| 37 | +* ARM: Added NXP Kinetis kconfig options to configure clocks. |
| 38 | +* ARM: Removed dynamic interrupts and exceptions. |
| 39 | +* ARM: Atmel: Added constants and structures for watchdog registers. |
| 40 | +* x86: Removed dynamic interrupts and exceptions. |
| 41 | +* x86: Declared internal API for interrupt controllers. |
| 42 | +* x86: Changed IRQ controller to return -1 if cannot determine source vector. |
| 43 | +* x86: Grouped Quark SoC's under intel_quark family. |
| 44 | +* x86: Optimized and simplified IRQ and exception stubs. |
| 45 | +* Changed memory pool, memory maps, message queues and event handling APIs. |
| 46 | + |
| 47 | +Boards |
| 48 | +****** |
| 49 | + |
| 50 | +* Renamed board Quark SE devboard to Quark SE C1000 devboard. |
| 51 | +* Renamed board Quark SE SSS devboard to Quark SE C1000 SS devboard. |
| 52 | +* Quark SE C1000: Disabled IPM and enabled UART0 on the Sensor SubSytem. |
| 53 | +* Removed basic_cortex_m3 and basic_minuteia. |
| 54 | +* Arduino 101: Removed backup/restore scripts use flashpack utility instead. |
| 55 | +* Renamed nRF52 Nitrogen to 96Boards Nitrogen. |
| 56 | +* Added ARM LTD Beetle SoC and V2M Beetle board. |
| 57 | +* SoC: Added Texas Instruments CC3200 LaunchXL support. |
| 58 | +* SoC: Added support for Nordic Semiconductor nRF51822. |
| 59 | +* SoC: Added support for ARM Cortex-M0/M0+. |
| 60 | +* Added support for NXP Hexiwear board. |
| 61 | + |
| 62 | +Drivers and Sensors |
| 63 | +******************* |
| 64 | + |
| 65 | +* SPI: Fixed typos in SPI port numbers. |
| 66 | +* Pinmux: Removed Quark dev unused file. |
| 67 | +* I2C: Added KSDK shim driver. |
| 68 | +* Ethernet: Added KSDK shim driver. |
| 69 | +* I2C: Changed config parameters to SoC specific. |
| 70 | +* QMSI: Implemented suspend and resume functions in WDT, I2C, SPI and AONPT. |
| 71 | +* Added HP206C sensor. |
| 72 | +* Changed config_info pointers to const. |
| 73 | +* Added support for SoCWatch driver. |
| 74 | +* Added FXOS8700 accelerometer / magnetometer sensor driver. |
| 75 | + |
| 76 | +Networking |
| 77 | +********** |
| 78 | + |
| 79 | +* [Content: component changes] |
| 80 | + |
| 81 | +Bluetooth |
| 82 | +********* |
| 83 | + |
| 84 | +* [Content: component changes] |
| 85 | + |
| 86 | +Build Infrastructure |
| 87 | +******************** |
| 88 | + |
| 89 | +* Makefile: Changed outdir into board-specific directory to avoid build collisions. |
| 90 | +* Makefile: Changed to use HOST_OS environment variable. |
| 91 | +* Makefile: Added support for third party build systems. |
| 92 | +* printk: Added support for modifiers. |
| 93 | +* Sanity: Added support to filter using environment variables. |
| 94 | +* Sanity: Added support for multiple toolchains. |
| 95 | +* Sanity: Added ISSM and ARM GCC embedded toolchains to the supported toolchains. |
| 96 | +* Sanity: Added extra arguments to be passed to the build. |
| 97 | +* Sanity: Removed linker VMA/LMA offset check. |
| 98 | +* Sysgen: Added --kernel_type argument. |
| 99 | +* Modified build infrastructure to support unified kernel. |
| 100 | +* SDK: Zephyr: Added check for minimum required version. |
| 101 | +* Cleaned Build System and separated Kernel / Application build. |
| 102 | + |
| 103 | +Libraries |
| 104 | +********* |
| 105 | + |
| 106 | +* libc: Added subset of standard types in inttypes.h. |
| 107 | +* libc: Added support for 'z' length specifier. |
| 108 | +* libc: Removed stddef.h which is provided by the compiler. |
| 109 | +* libc: printf: Improved code for printing. |
| 110 | +* Imported Nordic MDK nRF51 files. |
| 111 | +* Imported Kinetis SDK Ethernet phy driver. |
| 112 | +* Imported SDK RNGA driver. |
| 113 | +* Imported get_maintainer.pl from kernel. |
| 114 | +* Added CoAP implementation for Zephyr. |
| 115 | +* File system: Added API to grow or shrink a file. |
| 116 | +* File system: Added API to get volume statistics. |
| 117 | +* File system: Added API to flush cache of an opened file. |
| 118 | +* QMSI: Updated to version 1.3. |
| 119 | +* HAL: Imported CC3200 SDK. |
| 120 | + |
| 121 | +Documentation |
| 122 | +************* |
| 123 | + |
| 124 | +* Drivers: Improved Zephyr Driver model. |
| 125 | +* Updated device power management API. |
| 126 | +* Unified Kernel primer. |
| 127 | +* Moved supported board information to the wiki.zephyrproject.org site. |
| 128 | +* Revised documentation for Kernel Event logger and Timing. |
| 129 | + |
| 130 | +Test and Samples |
| 131 | +**************** |
| 132 | + |
| 133 | +* Fixed incorrect printk usage. |
| 134 | +* Removed test for dynamic exceptions. |
| 135 | +* Added USB sample. |
| 136 | +* Added microkernel support for the shell sample. |
| 137 | +* Added tests and samples for CoAP client and server. |
| 138 | +* Added philosophers unified sample. |
| 139 | +* Removed printf/printk wrappers. |
| 140 | +* Added Unified kernel API samples. |
| 141 | +* Imported tinycrypt test cases for CTR, ECC DSA and ECC DH algorithm. |
| 142 | + |
| 143 | +Deprecations |
| 144 | +************ |
| 145 | + |
| 146 | +* Deprecated microkernel and nanokernel APIs. |
| 147 | +* Removed dynamic IRQs and exceptions. |
| 148 | +* Removed Tasks IRQs. |
| 149 | + |
| 150 | +JIRA Related Items |
| 151 | +****************** |
| 152 | + |
| 153 | +Epic |
| 154 | +==== |
| 155 | + |
| 156 | +* [ZEP-308] - Build System cleanup and Kernel / Application build separation |
| 157 | +* [ZEP-334] - Unified Kernel |
| 158 | +* [ZEP-760] - Clean up samples and sanitise them. |
| 159 | +* [ZEP-766] - USB Mass Storage access to internal filesystem |
| 160 | +* [ZEP-1090] - CPU x86 save/restore using new QMSI bootloader flow |
| 161 | + |
| 162 | +Story |
| 163 | +===== |
| 164 | + |
| 165 | +* [ZEP-48] - define API for interrupt controllers |
| 166 | +* [ZEP-233] - Support USB mass storage device class |
| 167 | +* [ZEP-237] - Support pre-built host tools |
| 168 | +* [ZEP-240] - printk/printf usage in samples |
| 169 | +* [ZEP-248] - Add a BOARD/SOC porting guide |
| 170 | +* [ZEP-328] - HW Encryption Abstraction |
| 171 | +* [ZEP-342] - USB DFU |
| 172 | +* [ZEP-451] - Quark SE output by default redirected to IPM |
| 173 | +* [ZEP-521] - ARM - add choice to floating point ABI selection |
| 174 | +* [ZEP-546] - UART interrupts not triggered on ARC |
| 175 | +* [ZEP-584] - warn user if SDK is out of date |
| 176 | +* [ZEP-614] - Port tinycrypt 2.0 test cases to Zephyr |
| 177 | +* [ZEP-622] - Add FS API to truncate/shrink a file |
| 178 | +* [ZEP-627] - Port Trickle support from Contiki into current stack |
| 179 | +* [ZEP-635] - Add FS API to grow a file |
| 180 | +* [ZEP-636] - Add FS API to get volume total and free space |
| 181 | +* [ZEP-640] - Remove dynamic IRQs/exceptions from Zephyr |
| 182 | +* [ZEP-653] - QMSI shim driver: Watchdog: Implement suspend and resume callbacks |
| 183 | +* [ZEP-654] - QMSI shim driver: I2C: Implement suspend and resume callbacks |
| 184 | +* [ZEP-657] - QMSI shim driver: AONPT: Implement suspend and resume callbacks |
| 185 | +* [ZEP-661] - QMSI shim driver: SPI: Implement suspend and resume callbacks |
| 186 | +* [ZEP-688] - unify duplicated sections of arch linker scripts |
| 187 | +* [ZEP-715] - Add K64F clock configurations |
| 188 | +* [ZEP-716] - Add Hexiwear board support |
| 189 | +* [ZEP-717] - Add ksdk I2C shim driver |
| 190 | +* [ZEP-718] - Add ksdk ethernet shim driver |
| 191 | +* [ZEP-721] - Add FXOS8700 accelerometer/magnetometer sensor driver |
| 192 | +* [ZEP-737] - Update host tools from upstream: fixdep.c |
| 193 | +* [ZEP-745] - Revisit design of PWM Driver API |
| 194 | +* [ZEP-750] - Arduino 101 board should support one configuration using original bootloader |
| 195 | +* [ZEP-758] - Rename Quark SE Devboard to its official name: Quark SE C1000 |
| 196 | +* [ZEP-767] - Add FS API to flush cache of an open file |
| 197 | +* [ZEP-775] - Enable USB CDC by default on Arduino 101 and redirect serial to USB |
| 198 | +* [ZEP-783] - ARM Cortex-M0/M0+ support |
| 199 | +* [ZEP-784] - Add support for Nordic Semiconductor nRF51822 SoC |
| 200 | +* [ZEP-850] - remove obsolete boards basic_minuteia and basic_cortex_m3 |
| 201 | +* [ZEP-906] - [unified] Add scheduler time slicing support |
| 202 | +* [ZEP-907] - Test memory pool support (with mailboxes) |
| 203 | +* [ZEP-908] - Add task offload to fiber support |
| 204 | +* [ZEP-909] - Adapt tickless idle + power management for ARM |
| 205 | +* [ZEP-910] - Adapt tickless idle for x86 |
| 206 | +* [ZEP-911] - Refine thread priorities & locking |
| 207 | +* [ZEP-912] - Finish renaming kernel object types |
| 208 | +* [ZEP-916] - Eliminate kernel object API anomalies |
| 209 | +* [ZEP-920] - Investigate malloc/free support |
| 210 | +* [ZEP-921] - Miscellaneous documentation work |
| 211 | +* [ZEP-922] - Revise documentation for Kernel Event Logger |
| 212 | +* [ZEP-923] - Revise documentation for Timing |
| 213 | +* [ZEP-924] - Revise documentation for Interrupts |
| 214 | +* [ZEP-925] - API changes to message queues |
| 215 | +* [ZEP-926] - API changes to memory pools |
| 216 | +* [ZEP-927] - API changes to memory maps |
| 217 | +* [ZEP-928] - API changes to event handling |
| 218 | +* [ZEP-930] - Cutover to unified kernel |
| 219 | +* [ZEP-933] - Unified kernel ARC port |
| 220 | +* [ZEP-934] - NIOS_II port |
| 221 | +* [ZEP-935] - Kernel logger support (validation) |
| 222 | +* [ZEP-954] - Update device PM API to allow setting additional power states |
| 223 | +* [ZEP-957] - Create example sample for new unified kernel API usage |
| 224 | +* [ZEP-959] - sync checkpatch.pl with upstream Linux |
| 225 | +* [ZEP-981] - Add doxygen documentation to both include/kernel.h and include/legacy.h |
| 226 | +* [ZEP-989] - Cache next ready thread instead of finding out the long way |
| 227 | +* [ZEP-993] - Quark SE (x86): Refactor save/restore execution context feature |
| 228 | +* [ZEP-994] - Quark SE (ARC): Add PMA sample |
| 229 | +* [ZEP-996] - Refactor save/restore feature from i2c_qmsi driver |
| 230 | +* [ZEP-997] - Refactor save/restore feature from spi_qmsi driver |
| 231 | +* [ZEP-998] - Refactor save/restore feature from uart_qmsi driver |
| 232 | +* [ZEP-999] - Refactor save/restore feature from gpio_qmsi driver |
| 233 | +* [ZEP-1000] - Refactor save/restore feature from rtc_qmsi driver |
| 234 | +* [ZEP-1001] - Refactor save/restore feature from wdt_qmsi driver |
| 235 | +* [ZEP-1002] - Refactor save/restore feature from counter_qmsi_aonpt driver |
| 236 | +* [ZEP-1004] - Extend counter_qmsi_aon driver to support save/restore peripheral context |
| 237 | +* [ZEP-1005] - Extend dma_qmsi driver to support save/restore peripheral context |
| 238 | +* [ZEP-1006] - Extend soc_flash_qmsi driver to support save/restore peripheral context |
| 239 | +* [ZEP-1008] - Extend pwm_qmsi driver to support save/restore peripheral context |
| 240 | +* [ZEP-1030] - Enable QMSI shim drivers of SoC peripherals on the sensor subsystem |
| 241 | +* [ZEP-1045] - Add/Enhance shim layer to wrap SOC specific PM implementations |
| 242 | +* [ZEP-1046] - Implement RAM sharing between bootloader and Zephyr |
| 243 | +* [ZEP-1047] - Adapt to new PM related boot flow changes in QMSI boot loader |
| 244 | +* [ZEP-1106] - Fix all test failures from TCF |
| 245 | +* [ZEP-1107] - Update QMSI to 1.3 |
| 246 | +* [ZEP-1109] - Texas Instruments CC3200 LaunchXL Support |
| 247 | +* [ZEP-1119] - move top level usb/ to sys/usb |
| 248 | +* [ZEP-1120] - move top level fs/ to sys/fs |
| 249 | +* [ZEP-1121] - Add config support for enabling SoCWatch in Zephyr |
| 250 | +* [ZEP-1188] - Add an API to retrieve pending interrupts for wake events |
| 251 | +* [ZEP-1191] - Create wiki page for Hexiwear board |
| 252 | +* [ZEP-1245] - ARM LTD V2M Beetle Support |
| 253 | +* [ZEP-1313] - porting and user guides must include a security section |
| 254 | + |
| 255 | +Task |
| 256 | +==== |
| 257 | + |
| 258 | +* [ZEP-592] - Sanitycheck support for multiple toolchains |
| 259 | +* [ZEP-740] - PWM API: Check if 'flags' argument is really required |
| 260 | + |
| 261 | +Bug |
| 262 | +=== |
| 263 | + |
| 264 | +* [ZEP-145] - no 'make flash' for Arduino Due |
| 265 | +* [ZEP-199] - Zephyr driver model is undocumented |
| 266 | +* [ZEP-471] - Ethernet packet with multicast address is not working |
| 267 | +* [ZEP-472] - Ethernet packets are getting missed if sent in quick succession. |
| 268 | +* [ZEP-517] - build on windows failed "zephyr/Makefile:869: *** multiple target patterns" |
| 269 | +* [ZEP-528] - ARC has 2 almost identical copies of the linker script |
| 270 | +* [ZEP-577] - Sample application source does not compile on Windows |
| 271 | +* [ZEP-601] - enable CONFIG_DEBUG_INFO |
| 272 | +* [ZEP-602] - unhandled CPU exceptions/interrupts report wrong faulting vector if triggered by CPU |
| 273 | +* [ZEP-615] - Un-supported flash erase size listed in SPI flash w25qxxdv driver header file |
| 274 | +* [ZEP-639] - device_pm_ops structure should be defined as static |
| 275 | +* [ZEP-686] - docs: Info in "Application Development Primer" and "Developing an Application and the Build System" is largely duplicated |
| 276 | +* [ZEP-698] - samples/task_profiler issues |
| 277 | +* [ZEP-707] - mem_safe test stomps on top of .data and bottom of .noinit |
| 278 | +* [ZEP-724] - build on windows failed: 'make: execvp: uname: File or path name too long' |
| 279 | +* [ZEP-733] - Minimal libc shouldn't be providing stddef.h |
| 280 | +* [ZEP-762] - unexpected "abspath" and "notdir" from mingw make system |
| 281 | +* [ZEP-777] - samples/driver/i2c_stts751: kconfig build warning from "select DMA_QMSI" |
| 282 | +* [ZEP-778] - Samples/drivers/i2c_lsm9ds0: kconfig build warning from "select DMA_QMSI" |
| 283 | +* [ZEP-779] - Using current MinGW gcc version 5.3.0 breaks Zephyr build on Windows |
| 284 | +* [ZEP-905] - hello_world compilation for arduino_due target fails when using CROSS_COMPILE |
| 285 | +* [ZEP-950] - USB: Device is not listed by USB20CV test suite |
| 286 | +* [ZEP-961] - samples: other cases cannot execute after run aon_counter case |
| 287 | +* [ZEP-1025] - Unified kernel build sometimes breaks on a missing .d dependency file. |
| 288 | +* [ZEP-1027] - Doccumentation for GCC ARM is not accurate |
| 289 | +* [ZEP-1048] - grove_lcd sample: sample does not work if you disable serial |
| 290 | +* [ZEP-1100] - Current master still identifies itself as 1.5.0 |
| 291 | +* [ZEP-1101] - SYS_KERNEL_VER_PATCHLEVEL() and friends artificially limit version numbers to 4 bits |
| 292 | +* [ZEP-1130] - region `RAM' overflowed occurs while building test_hmac_prng |
| 293 | +* [ZEP-1141] - Tinycrypt SHA256 test fails with system crash using unified kernel type |
| 294 | +* [ZEP-1144] - Tinycrypt AES128 fixed-key with variable-text test fails using unified kernel type |
| 295 | +* [ZEP-1145] - system hang after tinycrypt HMAC test |
| 296 | +* [ZEP-1146] - zephyrproject.org home page needs technical scrub for 1.6 release |
| 297 | +* [ZEP-1149] - port ztest framework to unified kernel |
| 298 | +* [ZEP-1155] - Fix filesystem API namespace |
| 299 | +* [ZEP-1163] - LIB_INCLUDE_DIR is clobbered in Makefile second pass |
| 300 | +* [ZEP-1164] - ztest skip waiting the test case to finish its execution |
| 301 | +* [ZEP-1179] - Build issues when compiling with LLVM from ISSM (icx) |
| 302 | +* [ZEP-1226] - cortex M7 port assembler error |
| 303 | +* [ZEP-1287] - ARC SPI 1 Port is not working |
| 304 | +* [ZEP-1297] - test/legacy/kernel/test_mail: failure on ARC platforms |
| 305 | +* [ZEP-1299] - System can't resume completely with DMA suspend and resume operation |
| 306 | +* [ZEP-1303] - Configuration talks about >32 thread prios, but the kernel does not support it |
| 307 | +* [ZEP-1309] - ARM uses the end of memory for its init stack |
| 308 | +* [ZEP-1310] - ARC uses the end of memory for its init stack |
| 309 | +* [ZEP-1319] - Zephyr is unable to compile when CONFIG_RUNTIME_NMI is enabled on ARM platforms |
0 commit comments