2.0 Public Release
sunghan-chang
released this
23 Jan 11:10
·
5953 commits
to master
since this release
TizenRT 2.0 M2 Public Release Notes
Release Date: Oct. 19, 2018
Kernel and System
New Features
- Stack trace in text
- This shows the symbol names of stack trace in human readable text instead of addresses in hexadecimal value.
- This is enabled by CONFIG_DEBUG_DISPLAY_SYMBOL, it uses ROMFS functionality and hence depends on CONFIG_FS_ROMFS. It also needs enough space.
- New pthread_tryjoin_np API
- This operates in the same way as pthread_join, except this is non-blocking.
- New minimal configurations set
- This helps to configure a target which is non-network, non-file system and non-POSIX application.
- Docker build environment
- TizenRT provides the easiest way to build with the use of Docker.
- There is no need to install the required libraries and toolchains since the provided Docker container already includes everything required for TizenRT development.
Enhanced Features
- Unlimited atexit & onexit functions
- atexit & onexit functions are maintained in a list instead of fixed array. So it keeps growing and enables any number of functions to be registerd.
- Multiple time interval constant for CPU load measurement
- It supports to measure CPU load with 3 types of interval : short-term, mid-term and long-term through configs.
- Default values of them are 2, 5 and 10 secs.
- clock_t type
- clock_t is a standard type of clock but systime_t is not. All of systime_t are replaced to clock_t.
- Heap information of threads group defined by user
- Heap information command supported information of each thread or total threads. But sometimes, heap information of grouped threads are necessary.
- This feature is enabled by CONFIG_HEAPINFO_USER_GROUP and lists thread group members on CONFIG_HEAPINFO_USER_GROUP_LIST.
Fixes
- Assert on heap usages
- Only one case does not guarantee memory atomic operation. When top priority task tries to exit and second priority task was in memory operation, top priority task does not check whether accessing heap is available or not to free used memory. It causes non-atomic memory operation and causes an assert.
- The task_exit checks availability to use memory operation before starting.
- POSIX-compatible pthread key APIs
- Previous pthread key APIs do not satisfy what POSIX expected on key create. To fit POSIX standard, pthread key APIs are re-implemented.
- Mutex destroy failure
- When pthread is on exit without unlocking mutex, mutex is not destroyed. Checking a status of pthread is added in pthread_mutex_destory.
- Prevent usages of released timer
- When timer APIs are called with released timer, they do not return an error. Checking timer validation is added to prevent use of released timer.
- Fix month index
- A range of month is 0
11, not 112 so that clock API has a month value with 1 subtracted from config.
- A range of month is 0
- Missing signal setting on restarted task
- Restared task blocks all of signals because of missing set signal.
Network and Connectivity
New Features
- IPv6
- Support for Neighbor Discovery (ND6), Multicast Listener Discovery (MLD), ICMPv6 protocols
- Add IPv6 address to TizenRT's netif structure, and register network output function with WiFi driver.
- Network monitoring tool
- Monitor real-time information regarding network sockets, network interface and WiFi Manager
- gRPC for Client roles
- Support for different RPC types: unary, client streaming, server streaming and bi-directional RPC
- Support for both Insecure and Secure mode of RPC execution
- Support for both Synchronous and Asynchronous modes of RPC call
- HTTP/2
- Port nghttp2 version 1.32.0 from Github
Enhanced Features
- LwIP version 2.0, with the following changes:
- Remove libc netdb library
- Re-map netdb functions to lwip netdb implementations
- Remove AF_UNIX, AF_LOCAL, AF_X25 and AF_PACKET domains
Fixes
- Modification of semaphore usage on sys_arch.c
- Removal of unused DHCP client structure in lwip
- DHCP client port initialization in lwip
- Logic to handle two types of broadcast address for ipv4 packet routing in lwip
- Initialization of global and union variables in lwip tcp/udp
- IPv6 address management bug fix
Framework
New Features
- Media framework
- Player/Recorder for recording and playing voice/audio streaming (w/ buffer and file data source and various codecs)
- Audio manager for audio card and device managements (volume control, etc.)
- Voice control manager for keyword detection and endpoint detection
- Task manager framework
- Support controlling and messaging between applications
- control : register, start, stop, restart, pause, resume
- message : unicast, broadcast
- information : get information with name/handle/group/pid
Enhanced Features
- Audio framework
- pcm drop, drain and pcm read/write using mmap
- Wi-Fi manager framework
- Support for auto-connect feature when WiFi station disconnects unexpectedly
- Support for configuring diverse Wi-Fi stack solutions (wpa_supplicant or WiFi library based stack) is added
- Support for Wi-Fi profiling based on observed packet count statistics
- Support for connection information management in files system
- Support for various types of authentication and cryto
- Enhancement of scanning result processing logic
Fixes
- Security type mismatch of Wi-Fi scanning in wpa_supplicant
- Unification of SSID management type in Wi-Fi Manager
External
New Features
- libc++
- Provide LLVM based implementation of the C++ standard library
- Protocol buffer
- Provide serialize/deserialize message
- cURL
Transfer data through various protocols - Stress test tool
- Generic tool for repeatedly testing specific modules in a hard condition