Skip to content

2.0 Public Release

Compare
Choose a tag to compare
@sunghan-chang sunghan-chang released this 23 Jan 11:10
· 5880 commits to master since this release
695e332

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 011, not 112 so that clock API has a month value with 1 subtracted from config.
  • 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