i.MX RT Developer's Page
The µTasker project celebrated its 18th birthday this year and during the course of the years the project has continuously developed. This development, as of summer 2024, includes powerful support of various NXP i.MX RT parts, with an integrated secure boot loader concept, and this is where you can find latest information about this work.
All i.MX RT 10xx targets are now supported (boot loader concept and application):
- MIMXRT1010-EVK with i.MX RT 1011
- MIMXRT1015-EVK with i.MX RT 1015
- MIMXRT1020-EVK with i.MX RT 1021
- MIMXRT1024-EVK with i.MX RT 1024
- MIMXRT1050-EVK with i.MX RT 1052
- Embedded Artists iMX RT1052 OEM with i.MX RT 1052
- MIMXRT1060-EVK with i.MX RT 1062
- Embedded Artists iMX RT1062 OEM with i.MX RT 1062
- Teensy 4.0 with i.MX RT 1062
- Teensy 4.1 with i.MX RT 1062 and Ethernet
- MIMXRT1064-EVK with i.MX RT 1064
Binary files for the serial loader and reference applications with USB, SD card (and Ethernet) can be found at the above links, which are suitable for following the i.MX RT Tutorial.
Watch the µTasker i.MX RT Video Playlist on Youtube!
Developer's Guides [Important note - as from 30.4.2020 the boot loader concept has been upgraded and these document respect the newer version]
- µTasker Loader Concept Flow Diagram (28.08.2020) [See the µTasker µTasker Serial Loader Guide for an overview of the loading methods incorporated]
- MCUXpresso importing and building the reference project [including using encrypted NXP SDK projects together with the boot loader and pre-configuration of FlexRAM layout] (V1.03 10.01.2022) - and Video Guide
- IAR building and debugging (V1.03 19.1.2022) - and
- GCC building and debugging (V1.04 11.6.2024) - and Video Guide
- Bootloader QSPI Memory Layout and Modification Guide (V1.00 2.1.2021)
- FlexSPI (SPI Flash) configuration
- Guide to taking the µTasker Loader for a test-drive
Topics
Why Would Anyone want to use the µTasker Project?
The natural first reaction is to use NXP's KDS and possibly some of NXP MCUXpresso's code generation tools, and this is probably what the majority of typical developers will also do. However the µTasker project monitors the 'traditional' approach and then works on delivering an alternative solution that offers product developers various IMPORTANT advantages over the typical approach to ensure they have an overall improved tool kit that gives real competitive advantages over their competitors. These include:
Specific technical advantages include:
And possibly the most important for commercial developments:
Generally it is true to say that, contrary to typical silicon manufacturer's libraries, the µTasker project is not a collection of examples for use as a starting point but is instead an industrialised solution for helping complete product developments.
The µTasker tames this complicated part so that you can use its power to quickly get your work done instead of losing time fighting with its intricacies!
µTasker Power-Cycling Watchdog for i.MX RT based Products
The i.MX RT devices pose some risk in utilisation as they can hang in the ROM LOADER and require power cycling to recover. This has been addressed by the µTasker Power-Cycling Watchdog development that is intended as a cost effective solution to all i.MX RT HW designs in order to ensure that automatic recovery takes place while integrating further features making it a natural for every design.
i.MX RT Power-Cycling Watchdog document V1.04 19.2.2022
i.MX RT 117X Root Clocks
The i.MX RT 117X uses a clock source strategy based on a matrix of 8 possible sources for each root clock. 4 of the clock sources are always the same for each and then there are 4 others that could be selected. This chart gives a clear overview of the possible clock sources that can be selected to derive each root clock from: i.MX RT 117X Clock Root Frequency Selection Chart
i.MX RT Wi-Fi Implementation
See details of the Wi-Fi development in its User's Guide - V0.07 27.8.2021.
i.MX RT Generic Display Menu Interface
See details of the Display Menu development in its User's Guide.
i.MX RT Production Programmer
Once an i.MX RT based product has been developed and moves from the development environment to a production environment the requirements for programming often change dramatically. Instead of a highly qualified developer using often complicated and manual programming steps the need changes to requiring a more fool-proof method that can be easily and reliably performed by almost anyone without needing deep technical knowledge of the process.
General purpose development tools may be flexibly but are unlikely to be optimally efficient in the factory and dedicated programming tools may be unnecessarily expensive.
This is where the µTasker i.MX RT Production Programmer comes in – it is designed for production programming with a single action and with clear indication of success or failure. And it allows reuse of existing HW as a programming tool meaning that it doesn't necessarily require the purchase of HW but instead allows recycling existing HW (development board or product prototypes) to easily ramp up programming capacity if and when needed.
i.MX RT GPIO/Pin Muxing Spread Sheets
The i.MX RT Pin Multiplexing Strategy is a little strange in that it essentially uses silicon Pads as reference rather that processor Ports - see more about this at Getting your Head around i.MX RT 1020 GPIO and Port Multiplexing.
To give a clear overview of the ports and their multiplexing functions, as well as their pin connections, a set of spread sheets has been prepared that can be used as helping hand when designing new products in order to ensure that there is no confusion and the best peripheral pinout is achieved.
- i.MX RT 1010: Pin-Multiplexing Spread Sheet
- i.MX RT 1015: Pin-Multiplexing Spread Sheet
- i.MX RT 1020: Pin-Multiplexing Spread Sheet
- i.MX RT 1024: Pin-Multiplexing Spread Sheet
- i.MX RT 1050: Pin-Multiplexing Spread Sheet
- i.MX RT 1060: Pin-Multiplexing Spread Sheet
- i.MX RT 1064: Pin-Multiplexing Spread Sheet
- i.MX RT 1170: Pin-Multiplexing Spread Sheet
i.MX RT Development Guides - the µTasker way
The µTasker strategy is to enable developer's to quickly achieve reliable product development and this document gives developer's a quick and clear description of the important things to understand to use the supported i.MX RT parts efficiently without needing to read all of their 3'000+ page user's manual. With a few configuration definitions a custom setup is possible which not only gives efficient code but also ensures lowest power consumption by automatically powering down internal modules that are not used.
Follow the development of the various processor packages in the developer guides:
- i.MX RT 1011 document - V0.07 26.1.2021
- i.MX RT 1015 document - V0.01 26.1.2021
- i.MX RT 1021 document - V0.16 26.4.2024
- i.MX RT 1024 document - V0.01 14.1.2021
- i.MX RT 1052 document - V0.07 22.2.2021
- i.MX RT 1062 document - V0.05 11.7.2023
- i.MX RT 1064 document - V0.02 22.2.2021
- i.MX RT 117X document - V0.01 16.4.2021
i.MX RT GPIO and Port Multiplexing
The GPIO concept used in the i.MX RT is a little different to that used by Kinetis and various other such processors. This video discusses it and how the µTasker solution achieves compatibility with Kinetis to make is simple for Kinetis users to move projects to the i.MX RT part.
See the video "Getting your Head around i.MX RT 1020 GPIO and Port Multiplexing" here: 9.2.2019
i.MX RT XBAR and AOI
The XBAR allows pins and peripheral module outputs to be multiplexed to other pins or peripheral inputs. With the AOI (AND-OR-Invert) module complicated logical connections are also possible. This video discusses the modules and shows how it is used to achieved a DMA pin triggering interface that is highly compatible with Kinetis DMA pin triggering.
See the video "i.MX RT XBAR and AOI (On-Chip Cross Trigger Network)" here: 2.9.2020
Development Code Archive
The i.MX RT project is integrated in the Kinetis project in order to allow product development code to be easily moved between Kinetis and i.MX RT parts. Since the i.MX RT parts share a number of peripherals from Kinetis parts the project code shares the peripheral drivers where possible in order to benefit from proven Kinetis code operation and also to simplify maintenance - for example if a new feature is added, or an improvement made to such a Kinetis peripheral it is immediately inherited by the i.MX RT project.
Presently it is available to registered commerical users but not yet as open source.
µTasker Kinetis Development. Copyright (c) 2004..2022 M.J.Butcher Consulting