FRDM-KL82Z

This NXP Freedom board is based on the KL82Z128VLK7 which is a 96MHz device from the ultra-low-power KL family with Cortex-M0+ core and USB. This KL82 device has 128k Flash and 96k SRAM and is in an 80 pin LQFP package, whereby the KL82 is also available in 64 pin (LQFP and MAPBGA), 100 pin LQFP and 121 pin MAPBGA. There is a 12MHz crystal on the board for clocking the part.

Full details and documentation for this board can be obtained from the NXP web site: FRDM-KL82Z

To configure the µTasker project for this board simply enable the define FRDM_KL82Z in the project's config.h file. The compiler needs to be set to build for Cortex M0+ (and not Cortex M4) and the linker script KL_128_96.ld should be selected [KL_128_96_BM.ld for downloadable version] {the linker script extension may vary for different compilers, whereby *.ld is valid for GCC}

FRDM-KL82Z Binaries

Here are some binary files that can be loaded to the board. These were built using the µTasker applications (serial loader and V1.4 application) and can be simply generated using the supported compilers/IDEs [these were built using GCC], built using different configuration options or modified to suit specific requirements or hardware derived from this board :

  • uTaskerSerialBoot_FRDM-KL82Z_USB-MSD_KBOOT.bin USB-MSD and KBOOT compatible (composite) USB loader [18.2k] allowing applications to be loaded at link address 0x8080. When operating, the green LED blinks at 5Hz. To force the loader reset the board with SW3 held down. To disable the watchdog reset the board with SW2 held down. This can be loaded using the FRDM-KL82Z's USB-MSD (OpenSDA) boot loader. Note that the loader limits application sizes to 40k - it can be built without limits using the µTasker project.
  • uTaskerV1.4.12_BM_FRDM_KL82Z.bin KL82 application with command-line menu on the virtual COM connection (115200 Baud). Low power modes can be set in the application menu and the processor runs at 72MHz [33.5k]. Linked to 0x8080, it can be loaded using USB-MSD or the KBOOT PC tool. When the application is running the green LED blinks at 2.5Hz.
    When connected to a PC the USB device enumerates as a USB-CDC composite device, which requires no installation on Windows 10 but the following drivers need to be used with older operating systems
  • uTaskerV1.4.12_FRDM_KL82Z.bin The same KL82 application as stand-alone software that can be loaded using the FRDM-KL82Z's USB-MSD (OpenSDA) boot loader [34.5k].


KBOOT compatible USB-HID / UART Boot Loader for AES256 encrypted operation

The following µTasker serial loader version is configured for both KBOOT USB-HID and KBOOT UART loading but accepting only suitably AES256-encrypted binary files. The LTC's (LP Trusted Cryptography) AES256 HW accelerator is made use of for the decryption.
This can be loaded using the FRDM-KL82's USB-MSD (OpenSDA) boot loader. Note that the loader limits application sizes to 40k - it can be built without limits using the µTasker project. The USB device operation uses the crystal-less USB mode.
To force the loader reset the board with SW3 held down. To disable the watchdog reset the board with SW2 held down.

The corresponding application file is AES256-encrypted and so can be loaded via the KBOOT utility via USB or UART, with the target address set to 0x8000.

FRDM-KL82Z running µTasker as a task in FreeRTOS - with INTMUX test

This FRDM-KL82Z application shows µTasker operation in a FreeRTOS task. The µTasker Watchdog task flashes the green LED at 2.5Hz and a FreeRTOS blinky task flashes the red LED at 0.66Hz:
The RTC runs from the chip's 32kHz crystal oscillator and its RTC alarm can be tested in the "Application" menu. The RTC Alarm interrupt passes through the INTMUX0 module and thus shows the operation of an extended peripheral interrupt.
The µTasker application was built with the defines RUN_IN_FREE_RTOS and FREE_RTOS_BLINKY to allow it to run together with a FreeRTOS blinky task.
#define PRIORITY_INTMUX0_3_INT 3
and #define INTMUX_RTC_ALARM INPUT_TO_INTMUX0_CHANNEL_3 // the RTC alarm extended interrupt is connected to INTMUX0 channel 3 (inherits INTMUX0 channel 3's priority) were used to assign the RTC alarm interrupt to INTMUX0 channel 3 and give it the interrupt priority 3.


Return to the Kinetis landing page


µTasker Kinetis support. Copyright (c) 2004..2018 M.J.Butcher Consulting