You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1102 lines
37 KiB
1102 lines
37 KiB
RIOT-2015.12 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: 8-bit |
|
microcontrollers, 16-bit microcontrollers and light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
RIOT is developed by an international open source community which is |
|
independent of specific vendors (e.g. similarly to the Linux community). |
|
|
|
About this release: |
|
=================== |
|
This release is mostly a clean-up and bug-fixing release. Besides that, it introduces SAUL, |
|
the [S]ensor [A]ctuator [U]ber [L]ayer, which offers a unified API to interact with all |
|
different types of sensors and actuators on RIOT supported hardware. Furthermore, it re-enables |
|
the support for ICN by integrating CCN-Lite as a package. A lot of new overall documentation was |
|
added and existing documentation was improved (http://riot-os.org/api/). In addition, |
|
a Vagrant (https://www.vagrantup.com/) configuration file was added to the RIOT repository in |
|
order to create reproducible and portable environments that contain all necessary toolchains. |
|
|
|
About 222 pull requests with about 631 commits have been merged since the last release and 48 |
|
additional issues have been solved. 37 people contributed code in 102 days. 980 files have been |
|
touched with ~59779 insertions and ~12115 deletions. |
|
|
|
Notations used below: |
|
===================== |
|
+ means new feature/item |
|
* means modified feature/item |
|
- means removed feature/item |
|
|
|
|
|
New features and changes |
|
======================== |
|
|
|
General |
|
------- |
|
|
|
Device support |
|
-------------- |
|
+ SAUL [S]ensor [A]ctuator [U]ber [L]ayer |
|
|
|
Core |
|
---- |
|
* replaced deprecated dINT()/eINT() calls by up-to-date disableIRQ()/enableIRQ()/restoreIRQ() |
|
calls throughout the whole core |
|
|
|
Network Stack |
|
------------- |
|
+ TFTP support |
|
+ 6LoWPAN: Next Header Compression |
|
+ leaf mode for RPL nodes |
|
* RPL: refactoring of instances and dodags (saved 1kB ROM and 0,5kB RAM) |
|
* FIB: initial source route support |
|
* change to non-blocking 6LoWPAN fragmentation |
|
* POSIX sockets: various fixes |
|
* periodic stats printing for ping6 command |
|
* convert all vtimer into xtimer calls |
|
* send router advertisements without PIOs |
|
|
|
Packages |
|
-------- |
|
+ CCN-Lite as a ICN network stack |
|
+ RELIC: efficient cryptography library |
|
* fix TLSF to compile with -pedantic |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ weio board with NXP LPC11U34 (ARM Cortex-M0) |
|
+ Silicon Labs Wireless Eval Kit SLWSTK6220A (Wonder Gecko) |
|
+ STM32 Nucleo-F401 |
|
|
|
Drivers |
|
------- |
|
+ Arduino-mega2560 GPIO |
|
+ Arduino pin mapping for Mega2560 and Due |
|
|
|
Network drivers |
|
--------------- |
|
+ enc28j60 Ethernet chip |
|
+ at86rf2xx: Add support for channel page |
|
* at86rf2xx: fix LQI reading |
|
* implement sleep mode for at86rf2xx |
|
|
|
Sensors drivers |
|
--------------- |
|
+ AT30TSE75x temperature sensor |
|
+ TCS3772 Color Light-to-Digital converter |
|
|
|
System libraries |
|
---------------- |
|
+ partial support for the Arduino API |
|
+ lightweight semaphores |
|
+ fmt: simple string formatting library |
|
+ xtimer: 32-bit version of msg_recv_timeout |
|
* implicit socket binding for POSIX connect() and sendto() |
|
* posix_semaphore: make API POSIX compliant |
|
|
|
Examples |
|
-------- |
|
+ microcoap/conn example |
|
+ minimal GNRC networking example |
|
|
|
Build System |
|
------------ |
|
* split the Cortex-M0 buildtest group to avoid timeout issues with Travis |
|
* split the Cortex-M4 buildtest group to avoid timeout issues with Travis |
|
|
|
Other |
|
----- |
|
+ vagrant configuration |
|
+ documentation: various high-level descriptions of crucial features |
|
+ IoT-LAB: create and connect to debug server |
|
* pyterm: fix problems with German umlauts as input |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
|
|
#2724: Add support for serial number passing to CMSIS boards, document it |
|
Documentation about how to discover and set the serial number of CMSIS-DAP chips is missing |
|
#3201: Odd length packet snips cause invalid check sum |
|
If an odd length packet snip occurs in a packet and is not the last snip |
|
(in the order the packet is supposed to be, not in the list's order) |
|
in a packet it will generate a wrong check sum. |
|
|
|
Known Issues |
|
============ |
|
|
|
network related issues |
|
---------------------- |
|
#3075: nhdp: unnecessary microsecond precision |
|
NHDP works with timer values of microsecond precision which is not required. Changing |
|
to lower precision would save some memory. |
|
#3086: Max. packet length for AT86RF2XX |
|
The size of the link-layer header is not dynamically calculated, but instead the maximum |
|
size is always assumed. |
|
#3970: RPL: Advertise DODAG only over the assigned interface |
|
gnrc_rpl seems to multicast DIOs over all interfaces, though gnrc_rpl_init expects an |
|
interface as parameter and sets the RPL-nodes multicast address only for that interface. |
|
#4048: potential racey memory leak |
|
According to the packet buffer stats, flood-pinging a multicast destination may lead to a |
|
memory leak due to a race condition. However, it seems to be a rare case and a |
|
completely filled up packet buffer was not observed. |
|
#4462: IPHC/NHC broken between Linux and a RIOT node with a RIOT-based border router in between. |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#3341 and #3824: nativenet crashes when hammered |
|
Flood-pinging a native instance from more than one host (either multiple threads on the |
|
host system or multiple other native instances), leads to a SEGFAULT. |
|
#4608: tests/xtimer_usleep_until: unstable behaviour |
|
The test starts to output "too large difference" and fails after a random period of time. |
|
|
|
other platform related issues |
|
----------------------------- |
|
#4560: make: clang is more pedantic than gcc |
|
oonf_api is not building with clang. |
|
#4583: cpp11: clang doesn't allow `mutex_t` to be used with `constexpr` |
|
All cpp11-* tests fail with clang. |
|
|
|
other issues |
|
------------ |
|
#2761: core: define default flags |
|
If a thread is created without the corresponding flag (CREATE_STACKTEST), |
|
the ps command will yield wrong numbers for the stack usage |
|
#2927: core: Automatically select the lowest possible LPM mode |
|
Not all available low power modes (LPMs) are implemented for each platform and the |
|
concept of how the LPM is chosen needs some reconsideration |
|
#2967: Makefile.features: location is not relevant for all features |
|
Provided features for the build system should be split up into a board and cpu specific |
|
part |
|
#3109: periph/random: random_read should return unsigned int |
|
The documentation of this function does not match corresponding implementation. |
|
#4488: Making the newlib thread-safe |
|
When calling puts/printf after thread_create(), the CPU hangs for DMA enabled uart drivers. |
|
|
|
Special Thanks |
|
-------------- |
|
We like to give our special thanks to all the companies that provided us with their hardware |
|
for porting and testing, namely the people from (in alphabetical order): |
|
Atmel, Freescale, Limifrog, Phytec, SiLabs, and Zolertia; and also companies that directly |
|
sponsored development time: |
|
Cisco Systems, Google, Eistec, Ell-i, Engineering Spirit, FreshTemp LLC, and Phytec. |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
IRC |
|
----- |
|
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
|
|
|
License |
|
======= |
|
|
|
* Most of the code developed by the RIOT community is licensed under the |
|
GNU Lesser General Public License (LGPL) version 2.1 as published by the Free Software Foundation. |
|
* Some external sources are published under a separate, LGPL compatible license |
|
(e.g. some files developed by SICS). |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
|
|
|
|
|
|
RIOT-2015.09 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: devices based on |
|
8-bit microcontrollers, 16-bit microcontrollers and light-weight 32-bit |
|
processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
RIOT is developed by an international open source community which is |
|
independent of specific vendors (e.g. similarly to the Linux community). |
|
|
|
About this release: |
|
============ |
|
This release introduces the GNRC network stack, a completely new, highly |
|
modularized and configurable IPv6/6LoWPAN stack. It also includes xtimer as a |
|
new timer subsystem for accurate short- and long-term timers. Moreover, |
|
peripheral drivers, board, and CPU support has been tidied up and contains |
|
about 50% less duplication in the build system. |
|
|
|
About 580 pull requests with about 2,500 commits have been merged since the |
|
last release and 120 additional issues have been solved. 62 people contributed |
|
code in 278 days. 2578 files have been touched with ~320,000 insertions and |
|
~134,000 deletions. |
|
|
|
Loose notations used below: |
|
============ |
|
+ means new feature/item |
|
* means modified feature/item |
|
- means removed feature/item |
|
|
|
|
|
|
|
New features |
|
============ |
|
|
|
General |
|
------- |
|
+ complete codebase now compiles with -Werror on all platforms |
|
|
|
Device support |
|
-------------- |
|
+ vastly improved hardware abstraction, unified over all devices |
|
+ unified most common code |
|
* complete refactoring of MSP430 and ARM7 code |
|
|
|
Core |
|
---- |
|
+ new timer subsystem: xtimer |
|
+ extended atomic API by compare-and-swap, increase/decrease and |
|
set-to-one/set-to-zero functions |
|
+ introduced a more energy-saving assert macro |
|
|
|
Network Stack |
|
------------- |
|
+ RFC compliant gnrc network stack (6LoWPAN, IPv6, UDP, RPL) major refactoring |
|
+ 6LoWPAN ND (including SLAAC) |
|
+ example applications working out of the box (gnrc_networking for the full |
|
gnrc experience, gnrc_border_router for a 6LoWPAN border router, and default |
|
for simple link layer connectivity) |
|
+ explicit support for border router |
|
+ auto-init for the network stack |
|
+ introduction of generic interfaces (netdev, netapi) |
|
+ introduction of a protocol-independent FIB |
|
+ introduction of a central packet buffer |
|
+ wireshark-supported protocol ZEP to send IEEE 802.15.4 frames over UDP on |
|
non-IEEE-802.15.4 devices |
|
+ support for SLIP and link-layers without addresses |
|
+ new low-level driver model |
|
+ new nativenet based directly on ethernet |
|
+ conn: general stack-independent transport layer API |
|
+ POSIX sockets ported for conn |
|
+ NHDP support |
|
|
|
Packages |
|
-------- |
|
+ support for microCoAP |
|
+ CMSIS DSP |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ Zolertia ReMote |
|
+ Atmel SAML21 Xplained Pro (saml21-xpro) |
|
+ ST Nucleo L1 |
|
+ ST Nucleo F334 |
|
+ ST Nucleo F091 |
|
+ Phytec phyWAVE KW22 |
|
+ Eistec Mulle |
|
+ Freescale Freedom FRDM-K64F |
|
+ TI Stellaris Launchpad LM4F120 |
|
+ LimiFrog V1 |
|
+ Silabs EZR32WG |
|
|
|
Drivers |
|
------- |
|
+ various peripheral drivers (ADC, UART, timer, SPI, I²C, RTC, RTT, DAC, PWM...) |
|
+ basic NVRAM driver (interface) |
|
|
|
Network drivers |
|
+ native ethernet driver |
|
+ ENCx24J600 ethernet driver |
|
|
|
Sensors drivers |
|
+ ISL29125 RGB light sensor |
|
+ PDC8544 LCD display |
|
+ INA220 current and power monitor |
|
+ MPU-9150 9-DOF motion sensor |
|
+ LIS3DH accelerometer |
|
+ TMP006 temperature sensor |
|
+ MAG3110 magnetometer |
|
+ MMA8652 accelerometer |
|
+ DHT11/DHT22 temperature-humidity sensor |
|
+ ADT7310 temperature sensor |
|
|
|
System libraries |
|
---------------- |
|
+ MD5 |
|
+ Fletcher's checksum |
|
+ Unified Cipher API and Block cipher operation modes: ECB, CBC, CTR and CCM |
|
+ Bitfield operations |
|
+ thread safe ringbuffer |
|
+ vtimer compatibility layer |
|
|
|
Build System |
|
------------ |
|
+ support for the FIT IoT-LAB testbed by direct integration into the Make build |
|
system |
|
+ integrated Docker support |
|
+ integration of llvm's clang static analyzer |
|
+ added target for the address sanitizer |
|
+ indicating possible feature conflicts at compile time |
|
+ unified OpenOCD script |
|
|
|
|
|
Changes |
|
======= |
|
|
|
Core |
|
---- |
|
* improved documentation |
|
* fixed several IPC message queue initializations |
|
- removed hwtimer |
|
|
|
Drivers |
|
------- |
|
* optimized/remodeled GPIO interface |
|
* optimized/remodeled TIMER interface |
|
- temporarily removed CC2420 driver (awaiting last bug fixes for a rewrite) |
|
* re-implementation of the CC110x driver against the peripheral interface |
|
|
|
Network Stack |
|
------------- |
|
* temporarily removed and currently being refactored: |
|
- TCP support |
|
- CCN-lite |
|
- AODVv2 |
|
|
|
System libraries |
|
---------------- |
|
* new high level UART/stdio interface |
|
* better modularisation of POSIX wrapper modules |
|
- removed skipjack crypto library |
|
|
|
Packages |
|
-------- |
|
* updated CMSIS HAL to version 4.3 |
|
|
|
Other |
|
----- |
|
* clean-up of deprecated system and network libraries |
|
* clean-up of deprecated boards and drivers |
|
|
|
Selected Issues Fixed since the Last Release |
|
============================================ |
|
#21: Deal with stdin in bordermultiplex.c |
|
A completely new border router implementation is in place |
|
#715: test_hwtimer_wait fails on native |
|
Fixed by @benoit-canet in #2870 |
|
#861: neighbor discovery for 6LoWPAN not working |
|
GNRC implements 6LoWPAN ND in a RFC6775 compliant way |
|
#1753: vtimer_msg test crashes after ~49'20" and |
|
#1449: a removed vtimer might still get called back by hwtimer |
|
vtimer has been replaced by xtimer which does not have these issues |
|
#1870: IPv6 neighbor advertisements are malformed |
|
According to Wireshark (and reference implementations) GNRC sends |
|
well-formed neighbor advertisements |
|
#1964 and #1955: eventual problems with IoT-LAB M3 nodes in the testbed |
|
Solved by new driver versions for UART and radio |
|
#2228: samd21 stack sizes are too small |
|
The stacksize has been adapted in #2229 |
|
|
|
Known Issues |
|
============ |
|
|
|
network related issues |
|
---------------------- |
|
#3075: nhdp: unnecessary microsecond precision |
|
NHDP works with timer values of microsecond precision which is not |
|
required. Changing to lower precision would save some memory. |
|
#3086: Max. packet length for AT86RF2XX |
|
The size of the link-layer header is not dynamically calculated, but |
|
instead the maximum# size is always assumed. |
|
#3201: Odd length packet snips cause invalid check sum |
|
If an odd length packet snip occurs in a packet and is not the last snip |
|
(in the order the packet is supposed to be, not in the list's order) in a |
|
packet it will generate a wrong check sum. |
|
#4048: potential racey memory leak |
|
According to the packet buffer stats, flood-pinging a multicast destination |
|
may lead to a memory leak due to a race condition. However, it seems to be |
|
a rare case and a completely filled up packet buffer was not observed. |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#3341 and #3824: nativenet crashes when hammered |
|
Flood-pinging a native instance from more than one host (either multiple |
|
threads on the host system or multiple other native instances), leads to a |
|
SEGFAULT. |
|
|
|
other platform related issues |
|
----------------------------- |
|
#2724: Add support for serial number passing to CMSIS boards, document it |
|
Documentation about how to discover and set the serial number of CMSIS-DAP |
|
chips is missing |
|
|
|
other issues |
|
------------ |
|
#2761: core: define default flags |
|
If a thread is created without the corresponding flag (CREATE_STACKTEST), |
|
the ps command will yield wrong numbers for the stack usage |
|
#2927: core: Automatically select the lowest possible LPM mode |
|
Not all available low power modes (LPMs) are implemented for each platform |
|
and the concept of how the LPM is chosen need some reconsideration |
|
#2967: Makefile.features: location is not relevant for all features |
|
Provided features for the build system should be split up into a board and |
|
cpu specific part |
|
#3109: periph/random: random_read should return unsigned int |
|
The documentation of this function does not match corresponding |
|
implementation. |
|
|
|
Special Thanks |
|
-------------------- |
|
We like to give our special thanks to all the companies that provided us with |
|
their hardware for porting and testing, namely the people from (in alphabetical |
|
order): Atmel, Freescale, Limifrog, Phytec, SiLabs, and Zolertia; and also |
|
companies that directly sponsored development time: Cisco Systems, Eistec, |
|
Ell-i, FreshTemp LLC, and Phytec. |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
IRC |
|
----- |
|
* Join the RIOT IRC channel at: irc.freenode.net, #riot-os |
|
|
|
License |
|
======= |
|
|
|
* Most of the code developed by the RIOT community is licensed under the GNU |
|
Lesser General Public License (LGPL) version 2.1 as published by the Free |
|
Software Foundation. |
|
* Some external sources are published under a separate, LGPL compatible license |
|
(e.g. some files developed by SICS). |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
|
|
|
|
|
|
RIOT-2014.12 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: from 8-bit |
|
microcontrollers to light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
New features |
|
============ |
|
Core |
|
---- |
|
+ introduced new thread_yield() and renamed the old implementation to thread_yield_higher() |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ Arduino Mega 2560 (first-time support of an 8-bit platform) |
|
+ HikoB Fox |
|
+ Atmel samr21-Xplained Pro |
|
+ OpenMote |
|
+ cc2538 Developer Kit |
|
+ Spark-Core |
|
+ f4vi1 |
|
+ Airfy-Beacon |
|
+ STMF0Discovery Board |
|
+ STMF3Discovery Board |
|
+ STMF4Discovery Board |
|
+ nrf51822 Development Kit |
|
+ yunjia-nrf51822 |
|
+ MSB-IoT |
|
+ native on ARM platforms |
|
|
|
Drivers |
|
------- |
|
+ various peripheral drivers (ADC, UART, timer, SPI, I²C, RTC, RTT, DAC, PWM...) |
|
+ MQ-3 alcohol sensor |
|
+ ISL29020 light sensor |
|
+ LPS331AP pressure sensor |
|
+ LSM303DLHC accelerometer |
|
+ L3G4200D gyroscope |
|
+ servo motor |
|
+ TI HDC 1000 low power humidity and temperature digital sensor |
|
+ SRF02/SRF08 ultrasonic range sensors |
|
+ PIR motion sensor |
|
+ RGB LED |
|
|
|
Network Stack |
|
--------------- |
|
+ AODVv2 |
|
+ RPL non-storing mode |
|
+ OF manager for RPL |
|
+ Source Routing Header support |
|
+ introduced netapi |
|
+ introduced netdev, a general interface for network device drivers |
|
+ introduced global packet buffer |
|
|
|
System libraries |
|
---------------- |
|
+ CBOR |
|
+ UBJSON |
|
+ color module for PWM |
|
|
|
Packages |
|
-------- |
|
+ libfixmath |
|
|
|
Other |
|
----- |
|
+ C++ support for most platforms |
|
+ PCAP based wireless sniffer |
|
|
|
Changes |
|
======= |
|
Core |
|
---- |
|
* PIDs begin with 1 |
|
* mamximum 16 priority levels for every platform |
|
* fixed sched_switch() |
|
* simplified mutex signatures |
|
* minimized size of TCB |
|
* allow hwtimer to run with more than 1MHz |
|
* imported ringbuffer from sys |
|
|
|
Supported platforms |
|
------------------- |
|
* improved iotlab-m3 support |
|
* major improvements on the mbed LPC1768 |
|
* improved at86rf231 radio driver |
|
* fixed hwtimer for MSP430 |
|
* added support for timer B for MSP430 |
|
* fixed thread_yield() for MSP430 |
|
* several fixes for the cc2420 |
|
* improved interrupt handling on ARM |
|
* adjusted stack sizes for Cortex platforms |
|
|
|
Network Stack |
|
--------------- |
|
* refactored CCN-lite |
|
* refactored RPL |
|
* renamed destiny to transport_layer and socket_base |
|
* several fixes for TCP |
|
* split UDP and TCP |
|
|
|
System libraries |
|
---------------- |
|
- removed hashtable implementation |
|
|
|
Packages |
|
-------- |
|
* updated and simplified OpenWSN |
|
|
|
Other |
|
----- |
|
* Improved and cleaned up build system |
|
* various new helper targets (like debug, distclean, reset, objdump...) |
|
* use newlib's nano specs if available |
|
* various new features and added Python 3 compatibility for pyterm |
|
* major reduction of warnings in doxygen and improved html layout |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#426: Interrupt handling on MSP430 is buggy |
|
Several fixes by @rousselk |
|
#1798: core: first thread on runqueue is scheduled twice |
|
Was fixed along with the thread_yield() refactoring |
|
#1127: Random build fails on OSX |
|
native is building stable also on OSX now |
|
|
|
Known Issues |
|
============ |
|
network related issues |
|
---------------------- |
|
#21: Deal with stdin in bordermultiplex.c |
|
Not all supported platforms provide a stdin in the current release. |
|
However, the implementation of the 6LoWPAN border router won't work |
|
without stdin. |
|
#861: neighbor discovery for 6LoWPAN not working |
|
Duplicate address detection according to RFC 6775 is also missing. |
|
#1577: ccn-lite: populate does not work with disabled cache |
|
If cache is set to zero, the chunks cannot be loaded and therefore also not get populated. |
|
#1870: IPv6 neighbor advertisements are malformed |
|
According to Wireshark, ICMPv6 neighbor advertisements are malformed (wrong |
|
checksum or other reasons). |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#715: test_hwtimer_wait fails on native |
|
The problem appears to be lost signals and depends on the CPU speed. |
|
#787: reboot not working with open file descriptors on native |
|
If for example a tap device is in use, the reboot command fails. |
|
#862: sometimes the tap bridge does not work in native |
|
Sometimes (rather suddenly) packages are not received by a TAP and won't be |
|
received even if I reconfigure the bridge. |
|
|
|
|
|
other platform related issues |
|
----------------------------- |
|
#1232: x86 doesn't build on OS X with clang |
|
Current version of the x86 port doesn't build for OS X with clang. |
|
#1442: setting channel is not persistent cc2420 |
|
After changing the channel via a shell command, the channel reverts back to an arbitrary |
|
value. However, this might be only a shell problem. |
|
#1753: vtimer_msg test crashes after ~49'20" |
|
dependent on the platform, vtimer stops working after some time. |
|
#1891: printf formatting does not work properly on some Cortex platforms for 64 bit numbers |
|
This problem happens mostly for the Newlib nano, which does not support 64 bit integer |
|
printing, but sometimes happens also with other toolchains. |
|
#1964 and #1955: eventual problems with IoT-LAB M3 nodes in the testbed |
|
The shell is sometimes not properly working after a reboot and the PDR is sometimes |
|
worse than expected. |
|
#2143: tests.core doesn't compile for all platforms |
|
For some missing GCC compiler builtins, the unittests do not compile for MSP430 |
|
platforms. |
|
#2228: samd21 stack sizes are too small |
|
The application examples/default for example will crash when issuing the txtsnd command |
|
|
|
other issues: |
|
-------------- |
|
#1449: a removed vtimer might still get called back by hwtimer |
|
The timer callback might still fire even after vtimer_remove() was called. |
|
#2175: valgrind registeres "Invalid write of size 4" in unittests for ubjson |
|
According to valgrind the stack gets corrupted in UBJSON. |
|
|
|
For all issues and open pull requests please check the RIOT issue tracker: |
|
https://github.com/RIOT-OS/RIOT/issues |
|
|
|
Special Thanks |
|
-------------------- |
|
We like to give our special thanks to all the companies that provided us with their hardware for porting and testing, namely the people from (in alphabetical order): airfy, Atmel, ELL-i, Intel, IoT-Lab, mbed, Phytec, and Udoo |
|
|
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
License |
|
======= |
|
* All sources and binaries that have been developed at Freie Universität Berlin |
|
and most of the other code are licensed under the GNU Lesser General Public |
|
License version 2 as published by the Free Software Foundation. |
|
* Some external sources, especially files developed by SICS are published under |
|
a separate license. |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
RIOT-2014.05 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: from 16-bit |
|
microcontrollers to light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
New features |
|
============ |
|
Core |
|
---- |
|
+ introduced explicit core/cpu interface through a set of header files |
|
+ added reboot and panic functions |
|
+ added a node name to the sysconfig struct |
|
+ added the ability to send a message to the current thread's message queue |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ Arduino Due |
|
+ UDOO board |
|
+ X86 via qemu |
|
+ Zolertia Z1 |
|
|
|
Network stack |
|
------------- |
|
+ added net_if as abstraction layer between transceiver module and L3 protocol |
|
+ added support for auto initializing of the 6LoWPAN network stack |
|
+ added support for RFC5444 via oonf_api (from OLSR.org) |
|
+ added a Wireshark dissector for nativenet packets |
|
+ introduced low-level radio driver interface |
|
+ added a default transceiver for all boards |
|
+ common IEEE 802.15.4 radio driver API definition |
|
+ added standard way to query CCA (Clear Channel Assessment) status |
|
+ enabled nonces in interests for CCN-lite (Content Centric Networking) |
|
+ added a route shell command |
|
|
|
System libraries |
|
---------------- |
|
+ added quad-precision math library (quad_math) |
|
|
|
Automated Testing |
|
----------------- |
|
+ added Travis CI based build tests |
|
+ added support for a Jenkins CI server |
|
+ added a unittest framework (based on embunit) |
|
+ added unittests for most core functions |
|
|
|
POSIX compliance |
|
---------------- |
|
+ pthread support including |
|
+ dynamic memory pool and cleanup handlers |
|
+ mutexes |
|
+ condition variable implementation |
|
+ reader/writer lock |
|
+ pthread_barrier_* functions |
|
|
|
Native |
|
------ |
|
+ added a valgrind and cachegrind targets |
|
+ added profiling support |
|
|
|
Changes |
|
======= |
|
Core |
|
---- |
|
* initialize hwtimer automatically |
|
* optimized thread status field usage |
|
* moved oneway_malloc to sys |
|
* prefixed API functions correctly |
|
|
|
Network stack |
|
------------- |
|
* major refactoring and decoupling |
|
* refactor use of vtimer |
|
* fixed forwarding |
|
* added IoT-LAB M3 Open Node support and dropped TelosB support temporarily for OpenWSN |
|
* moved ETX beaconing to a module on its own |
|
* various byte order and other bug fixes |
|
|
|
Drivers |
|
------- |
|
* added low-level driver interface for unified CPU peripheral abstraction for |
|
GPIO, ADC, PWM, Timer and UART |
|
* handle race conditions preventing timers to be set correctly on MSP430 MCUs |
|
* several CC2420 fixes |
|
|
|
System libraries |
|
---------------- |
|
* auto_init is used by default |
|
* changed function prototype for shell handlers |
|
|
|
Other |
|
----- |
|
* cleaned up Makefile system and simplified binary directory |
|
* improved documentation for core and sys |
|
* build system uses PKG dependency |
|
* build system sets include paths automatically |
|
* black and white lists for applications and tests |
|
* add stacksize checker for DEBUG macro |
|
* styling corrections |
|
* fixed license boiler plates |
|
* set lpc2k_pgm return value correctly |
|
* various bug fixes and cleanups |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#45: bit field order in the fcf may be wrong |
|
The CC2420 FIFO expects the IEEE802.15.4 FCF field in reversed bit order. |
|
With this release the byte order is now handled by the net_if module and |
|
all device specific handling is done by the driver. |
|
#82: Setting STATUS_REPLY_BLOCKED thread to STATUS_PENDING though it is not |
|
handled yet |
|
In some rare cases the status of a thread might falsely change to |
|
STATUS_PENDING instead of STATUS_REPLY_BLOCKED. |
|
#455: sha256 is broken on MSP430 |
|
Fixed. |
|
#498: native is segfaulting at startup |
|
Fixed by several PRs (#501, #583, and #588). |
|
#505: native on FreeBSD is broken |
|
Fixed by PR #1022. |
|
|
|
Known Issues |
|
============ |
|
network related issues |
|
---------------------- |
|
#21: Deal with stdin in bordermultiplex.c |
|
Not all supported platforms provide a stdin in the current release. |
|
However, the implementation of the 6LoWPAN border router won't work |
|
without stdin. |
|
#861: neighbor discovery for 6LoWPAN not working |
|
Duplicate address detection according to RFC 6775 is also missing. |
|
|
|
native related issues |
|
--------------------- |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#534: native debugging on osx fails |
|
Using valgrind or gdb with a nativenet target in OSX leads to "the network" |
|
being stuck (gdb) or the whole process being stuck (valgrind). |
|
#715: test_hwtimer_wait fails on native |
|
The problem appears to be lost signals and depends on the CPU speed. |
|
#787: reboot not working with open file descriptors on native |
|
If for example a tap device is in use, the reboot command fails. |
|
#862: sometimes the tap bridge does not work in native |
|
Sometimes (rather suddenly) packages are not received by a TAP and won't be |
|
received even if I reconfigure the bridge. |
|
#1127: Random build fails on OSX |
|
Building for native on OSX often fails - Workaround: build using -B flag, |
|
e.g.: make -B clean all |
|
|
|
other platform related issues |
|
----------------------------- |
|
#426: Interrupt handling on MSP430 is buggy |
|
UART and timer handling is currently unstable on MSP430 based platforms |
|
#1232: x86 doesn't build on OS X with clang |
|
Current version of the x86 port doesn't build for OS X with clang. |
|
|
|
For all issues and open pull requests please check the RIOT issue tracker: |
|
https://github.com/RIOT-OS/RIOT/issues |
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
License |
|
======= |
|
* All sources and binaries that have been developed at Freie Universität Berlin |
|
and most of the other code are licensed under the GNU Lesser General Public |
|
License version 2 as published by the Free Software Foundation. |
|
* Some external sources, especially files developed by SICS are published under |
|
a separate license. |
|
|
|
All code files contain licensing information. |
|
|
|
|
|
RIOT-2014.01 - Release Notes |
|
============================ |
|
RIOT is a real-time multi-threading operating system that supports a range of |
|
devices that are typically found in the Internet of Things: from 16-bit |
|
microcontrollers to light-weight 32-bit processors. |
|
|
|
RIOT is based on the following design principles: energy-efficiency, real-time |
|
capabilities, small memory footprint, modularity, and uniform API access, |
|
independent of the underlying hardware (this API offers partial POSIX |
|
compliance). |
|
|
|
New features |
|
============ |
|
Core |
|
---- |
|
+ msg_receive() with timeout |
|
+ LPM support for MSP430 based platforms |
|
+ introduced a version string |
|
|
|
Supported platforms |
|
------------------- |
|
Additional support for the following boards: |
|
+ TelosB |
|
+ mbed LPC1768 |
|
|
|
Sensor drivers |
|
--------------- |
|
+ drivers for the LM75A Digital temperature sensor and thermal watchdog |
|
+ SRF02 and SRF08 ultrasonic range finders |
|
|
|
Native port |
|
----------- |
|
+ implemented UART via I/O redirection or TCP and UNIX socket |
|
|
|
System libraries |
|
---------------- |
|
+ Mersenne twister pseudorandom number generator |
|
+ crypto libraries |
|
+ 3des |
|
+ aes |
|
+ rc5 |
|
+ skipjack |
|
+ twofish |
|
+ BSD-like package system for easy integration of external libraries |
|
|
|
Network stack |
|
------------- |
|
+ port of CCN lite |
|
+ POSIX socket wrapper |
|
+ integration of libcoap |
|
+ integration of OpenWSN |
|
|
|
Further Changes |
|
=============== |
|
* boards and projects repositories have been integrated and are now part of |
|
the RIOT repository itself |
|
* full refactoring of the network stack and introducing a substructure |
|
according to the modules' functionalities |
|
* cleaned up Makefile system and simplified binary directory |
|
* more documentation |
|
* various bug fixes and cleanups |
|
|
|
Fixed Issues from the last release |
|
================================== |
|
#45: bit field order in the fcf may be wrong |
|
The CC2420 FIFO expects the IEEE802.15.4 FCF field in reversed bit order. |
|
With this release the byte order is now handled by the net_if module and |
|
all device specific handling is done by the driver. |
|
#82: Setting STATUS_REPLY_BLOCKED thread to STATUS_PENDING though it is not |
|
handled yet |
|
Pull Request #569 fixed this bug by checking for STATUS_REPLY_BLOCKED in |
|
msg_receive(). |
|
#455: sha256 is broken on MSP430 |
|
The problem was caused |
|
|
|
Known Issues |
|
============ |
|
#21: Deal with stdin in bordermultiplex.c |
|
Not all supported platforms provide a stdin in the current release. |
|
However, the implementation of the 6LoWPAN border router won't work |
|
without stdin. |
|
#426: Interrupt handling on MSP430 is buggy |
|
UART and timer handling is still unstable on MSP430 based platforms. |
|
#495: native not float safe |
|
When the FPU is used when an asynchronous context switch occurs, either the |
|
stack gets corrupted or a floating point exception occurs. |
|
#498: native is segfaulting at startup |
|
In some cases (about 5-10%) a RIOT native process crashes with a SEGFAULT |
|
at startup. |
|
#499: native is segfaulting on heavy network usage |
|
Sending more than 100 packets per second causes a SEGFAULT in RIOT native. |
|
#505: native on FreeBSD is broken |
|
Due to different parameter handling in FreeBSD, native is currently not |
|
working there. |
|
|
|
For all issues and open pull requests please check the RIOT issue tracker: |
|
https://github.com/RIOT-OS/RIOT/issues |
|
|
|
Release 2013.08 |
|
=============== |
|
Kernel |
|
------ |
|
- Microkernel with a powerful messaging system |
|
- Multi-Threading with low overhead |
|
- an energy-efficient, real-time capable scheduler |
|
- small memory footprint |
|
|
|
Userspace |
|
--------- |
|
- 6LoWPAN according to RFC 4944, RFC 6282, and RFC 6775 |
|
- TCP and UDP |
|
- RPL according to RFC 6550 and RFC 6719 |
|
- High resolution and long-term timers |
|
- POSIX IO and BSD socket API |
|
- Bloom filter |
|
- SHA256 |
|
|
|
Hardware Support |
|
---------------- |
|
- various ARM and MSP430 MCUs |
|
* ARM7 NXP LPC2387 |
|
* TI MSP430F1612 |
|
* TI CC430F6137 |
|
* ARM7 Freescale MC13224v (preliminary) |
|
* ARM Cortex-M4 STM32f407vgt6 (preliminary) |
|
* ARM Cortex-M3 STM32f103rey6 (preliminary) |
|
- radio drivers |
|
* TI CC1100 and CC1101 |
|
* TI CC2420 |
|
* Atmel AT86RF231 |
|
- sensor drivers |
|
* Sensirion SHT11 |
|
* Linear Technology LT4150 |
|
|
|
|
|
More information |
|
================ |
|
http://www.riot-os.org |
|
|
|
Mailing lists |
|
------------- |
|
* RIOT OS kernel developers list |
|
* devel@riot-os.org (http://lists.riot-os.org/mailman/listinfo/devel) |
|
* RIOT OS users list |
|
* users@riot-os.org (http://lists.riot-os.org/mailman/listinfo/users) |
|
* RIOT commits |
|
* commits@riot-os.org (http://lists.riot-os.org/mailman/listinfo/commits) |
|
* Github notifications |
|
* notifications@riot-os.org (http://lists.riot-os.org/mailman/listinfo/notifications) |
|
|
|
License |
|
======= |
|
* All sources and binaries that have been developed at Freie Universität Berlin are |
|
licensed under the GNU Lesser General Public License version 2 as published by the |
|
Free Software Foundation. |
|
* Some external sources, especially files developed by SICS are published under |
|
a separate license. |
|
|
|
All code files contain licensing information.
|
|
|