Releases: tock/tock
Tock 1.3
This is a large milestone-based release of Tock that encompasses numerous changes made by many contributors over the last five months. We set two main goals for this release which were tracked in the following issues:
- [#985] Make Tock Architecture Agnostic: The core Tock kernel should support running on non-Cortex-M platforms.
- [#1154] Userland UDP: There is now an interface to send and receive UDP packets from userland.
We re-architected the core kernel to (hopefully!) remove all assumptions that Tock is running on a Cortex-M platform, and moved all of the architecture-specific code to the /arch crates. This will enable Tock to run on other architectures in the future, like Cortex-MF or RISC-V.
We also significantly improved the IPv6/6LoWPAN based networking stack in Tock (built on top of 802.15.4) to enable UDP packet send and receive from userland. This is a promising step towards a full networking stack in Tock.
While we waited to complete these two goals before doing a release, numerous other changes were also made along the way. To briefly summarize:
- The
debugmodule in the kernel now includes a genericpanic!()routine used by many boards. - The kernel
debugmodule is now a direct user of aUARTobject rather than a psuedo-process. This provides more flexibility and simplifies the kernel internals. Capabilitiesare a new feature for controlling access to sensitive (but public) internal Tock APIs.- The
ADCHIL changed to handle different resolution ADCs. - The
UARTHIL changed to include aconfigure()method. - The randomness HILs now support multiple widths and entropy and RNG versions.
- Tock switched to the LLVM toolchain, removing the need for ARM gcc.
More details can be found in the CHANGELOG file.
Stability Guarantees
This release does not include any new API stability guarantees.
Testing and Board Support
This release was tested on these platforms:
- nRF51DK
- nRF52DK
- Hail
- imix
- LaunchXL CC26x2
Tock 1.3 Release Candidate 5
More little fixes:
- Fix version handling when Tock is used from a .zip rather than git.
- Imix supports 4 processes.
- Few doc fixes.
makein root lists boards properly.
Tock 1.3 Release Candidate 4
This RC includes a couple changes:
- Fix nRF51 main.rs to work with recent Tock changes.
- Update the imix LED mapping to be more consistent with the PCB labels.
Tock 1.3 Release Candidate 3
This includes a couple minor fixes:
- Fixes for the imix kernel tests to bring them up-to-date.
- Fix pin mappings for nrf52dk platforms.
- Fixes in the configuration of the launchxl platforms.
Tock 1.3 Release Candidate 2
Minor updates since RC1.
Tock 1.3 Release Candidate 1
Rolling release, April 2018, Version 1.1
This is the second rolling release. This release includes 365 commits
with bug fixes and feature additions.
Major improvements over 1.0 include a new register interface, automatic
deep sleep for most SAM4L peripherals, and moving the BLE subsystem our
of the NRF5x crates.
Ports to the nRF52 development kit and Hail and imix, based on the Atmel
SAM4L, are considered stable and are backwards compatible with 1.0. An
initial port to the CC26xx series of platforms is included but not yet
stable. It also includes system call drivers that comply with the 1.0
system call ABI for process loading and:
- Alarm
- Console
- LEDs
- Buttons
- GPIO
- ADC
- Ambient Temperature
- Humidity
Rolling release, February 2018, Version 1.0
This is the first rolling release. It includes ports to the nRF52
development kit and Hail and imix, based on the Atmel SAM4L. It also
includes system call drivers that comply with the 1.0 system call
ABI for process loading and:
- Alarm
- Console
- LEDs
- Buttons
- GPIO
- ADC
- Ambient Temperature
- Humidity
- Luminance