Kinetis Developer's Page
The µTasker project has just celebrated its 11th birthday and during the course of the years the project has continuously developed. This development, as of the beginning of 2016, focuses intensly on the Freescale Kinetis devices and this is where you can find latest information about this work as well as getting involved with trying out latest pre-release/development code.
Towards the bottom of the page regular code images are made available which can be used by registered Kinetis developers, either for early adoption in working projects or for study of the new features and code details. Please send an email to the Kinetis address at the bottom of the start side in case you would like to be involved.
Topics
- 14.09.2017 INTMUX - extending peripheral interrupt sources of Cortex-M0+ devices: INTMUX video explanation and demonstration
µTasker FAT Emulation
- 31.10.2015 This new document explains the use of FAT emulation to allow linear data to be viewed as FAT files at a PC host - either as raw data or as formatted data for easy import into data analysis tools: µTasker - FAT Emulation.
µTasker Spansion S25FL164K Driver with Automatic Erase Suspend and Resume to allow immediate Reading and Programming in other Sectors
- 6.5.2015 The Kinetis MCG (Multipurpose Clock Generator) allows a number of internal or external clock sources to be used to derive system and bus clocks from. The MCG varies between parts, some with PLL and FLL and some with only FLL but all follow a similar layout and similar rules for usage. The purpose of this discussion is to present the MCG in an easy to understand way and show how it can be worked with without the typical fear factor that can be induced by its formal documentation.
See the Kinetis MCG discussion for full information.
- 3.5.2015 During the course of development of a new SPI flash based FAT interface supporting block management and wear-levelling it was identified that the relatively slow SPI Flash erasure times (typically 50ms for a 4k sector) can be a cause of reduced performance when subsequent reading and programming is needed whilst the operation is in progress; in comparision, reading of sectors is limited only by the communication speed and programming sectors is subject to a programming time of about 1.5ms.
See the µTasker S25FL164K Driver discussion concerning the the use of automatic suspend and resume control for details of how reads and write interrupt erasures in progress to ensure fast and efficient operation.
USB Composite Devices
- 2.3.2015 The µTasker USB device support includes USB-CDC, USB-MSD and USB HID mouse and keyboard. These can however be flexibly mixed as composite devices. More details concerning how the desired composite configuration can be controlled by a few defines are available at µTasker USB Device Configuration and keyboard testing, including also an interesting keyboard test that is built into the framework.
Mixing UARTs and LPUARTs on Kinetis Devices
- 21.2.2015 Kinetis devices originally contained a number of UARTs, with up to 6 available in some parts - such as the K60. More recently newer parts started appearing with LPUARTs (Low Power UARTs), for example the KL03 with a single LPUART. However some parts can also include both types, such as the KL43 with two LPUARTs plus a single UART, or the K22 with 3 UARTs and a single LPUART.
UARTs and LPUARTs have various differences and the question that arises when using a driver interface is how can they be handled in a generic manner so that appliation code is compatible as well as how are the channels numbered in the µTasker interface?
Read more details at µTasker UART/LPUART interface.What does MAC OS X do when external drives are connected?
- 6.2.2015 USB-MSD is popular as a method of upgrading software to embedded devices. This is due to the fact that USB-MSD doesn't require a driver to be installed (this is getting more complicated - ex. with Windows 8 which will only accept signed drivers without awkward workarounds) and also because the in-built file manager can be used to see existing software in the device (assuming this is supported by the device's software). Copying new firmware to what the PC sees as an external hard drive is quick and easy (drag-and-drop can be used as standard) and so no special software is require on the PC for this confortable operation. The result is that if a file can be distributed containing the new firmware anyone with a PC can load it to the device without needing to use any non-standard software, and on any platform.
Read more details at µTasker USB-MSD Loader MAC OS X Compatibility
SSL/TLS Security for IoT Devices
- 28.1.2015 The following page follows investigations into the integration of an SSL/TLS security layer in the µTasker project, particularly in light of developments targeting the IoT (Internet Of Things).
Low-Leakage Wakeup Unit (LLWU)
- 10.1.2015 Many Kinetis derivatives include the LLWU to allow the processor to exit from one of it low power modes by either an external event (pin state change) or a supported peripheral that is either still operational or has an asynchronous event function in its own low power state. The unit is itself very low power and so enhances the overall low power capability of the devices. Low-Leakage Wakup Unit operation.
Kinetis KL RTC
- 3.1.2015 The RTC in the Kinetis KL is a little surprising due to the fact that it doesn't really support low power RTC operation without an external RTC clock. More details are given in KL RTC operation.
FreeMASTER
- 2.1.2015 Freescale offers their FreeMASTER PC tool as run-time debugging tool to users of their chips. If you are not yet familiar with what it is and can do there are details at the following FreeMASTER link.
Essentially it allows a PC program to view memory as the system is operating by integrating code in the embedded system that communicates with the tool and passes data to it when requested. This information can be displayed by the tool in forms making it easy to understand/interpret - for example it can be displayed as a graph or in real-time, which means that the data is viewed as if it were connected to with an oscilloscope. Further more, the tool concept defines a data recorder operation which allows the embedded system to transfer high resolution data that it has captured itself so that it can be displayed in a useful graphical form. It is also possible to allow the tool to modify memory/data.
Details of µTasker FreeMASTER support is given at FreeMASTER.
EEPROM
- 30.12.2014 The KE02 has 256 bytes of EEPROM that uses the Kinetis Flash interface (very similar to working with internal Flash) but composed of a single Flash block divided into 128 sectors of 2 bytes. This means that 2 bytes can be erased at a time (smallest erase unit) and single bytes can be programmed, with the ability to program up to 4 bytes in a burst sequence. The programming duration is max. 270us per byte and a sector erase takes less that 21ms. Typically the EEPROM can endure 500'000 program/erase cycles with help from ECC which can correct a single bit error in a word. During EEPROM programming the main KE02 Flash can continue to be used. Although flash based, the EEPROM functionality is close to EEPROM behaviour and so offers a practical solution for storing a small quantity of parameters that may change frequenty. KE02 EEPROM interface details.
Development Code Archive
- Registered developers can use the following passwords for code extraction.
- 5.2.2016 Release V1.4.11 - Major release with new USB audio and RNDIS support and various new features, plus device and board support according to the release note at the link.
- 15.11.2015 Complete - USB-MSD Host/Device loader using new USB-OTG driver (allows host and device loader mode at the same time, with automatic detection of the mode to use). I2C slave mode as well as compatibility of master and slave modes with double-buffered devices (eg. KL27). KL device touch slider support. Flash memory swap mechanism support including serial loader (S-Rec and USB-MSD) operation based on it (see also). FAT emulation integrated in utFAT2.02. TRK-KEA64 serial loader added.
Default configuration of serial loader and application is for the FRDM-K64F and CodeWarrior 10.x
If there is an error in mass_storage.c due to missing EMULATED_FAT_LUMS add this in its define section:
#if !defined EMULATED_FAT_LUMS #define EMULATED_FAT_LUMS DISK_COUNT #endif
µTasker Kinetis Development. Copyright (c) 2004..2018 M.J.Butcher Consulting