TWR-KL43Z48M

This Tower board is based on the KL43Z256VLH4 which is a 48MHz device from the ultra-low-power KL family with Cortex-M0+ core. This KL43 device has 256k Flash and 32k SRAM and is in a 64 pin LQFP package, whereby the KL43 is also available in 64 MAPBGA with 128k .. 256k Flash and 16k .. 32k RAM. There is an 8MHz crystal on the board for clocking the part as well as a low power 32.768kHz oscillator which can be used by the RTC.

Full details and documentation for this board can be obtained from the Freescale web site: TWR-KL43Z48M

To configure the µTasker project for this board simply enable the define TWR_KL43Z48M 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_256_32.ld should be selected [KL_256_16_BM.ld for downloadable version] {the linker script extension may vary for different compilers, whereby *.ld is valid for GCC}

TWR-KL43Z48M 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_TWR-KL43Z48M_KBOOT_UART_KBOOT_HID_USBMSD.bin KBOOT compatible UART loader or KBOOT compatible HID or USB-MSD 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 SW2 held down.
    To disable the watchdog reset the board with SW3 held down.
    This can be loaded using the TWR-KL43Z48M's USB-MSD boot loader. Note that the loader limits application sizes to 70k - it can be built without limits using the µTasker project. When USB is connected "USb" is displayed in the segment display on the board ("b" flashes in the segment display to signal boot loader mode). [17.2k]
  • uTaskerV1.4.8_BM_TWR-KL43Z48M_MSD_CDCx3_8080.bin KL43 application with command-line menu on the virtual COM connection (115'200 Baud). Low power modes can be set in the application menu and the processor runs at 48MHz from the 48MHz HIRC clock, whereby it is also used for crystal-less USB device operation. The RTC is clocked by the external low power 32.768kHz oscillator and the time is displayed in the GLCD.
    The USB device appears as composite USB-MSD with three USB-CDC interfacesb>.
    The flash drive is in the second half of the internal flash (128kBytes) and can be formatted by a PC host when connected via USB and is then seen as a 128k disk. Usually it will format it as FAT12 which gives a usable space of 108k due to the FAT12 overhead.

    The command line menu shell on the debug UART (OpenSDA virtual COM) allows the file system to also be used in the "Disk Interface" menu (this is a DOS like interface but with various extra tools for analysing visible, deleted and hidden files). The interface additionally allows formatting for FAT16 or FAT32, as well as FAT12, if desired.

    Three USB-CDC interfaces are added in the composite device and these are connected to three UARTs (the maximum number of usable UARTs on the TWR-KL43Z48M) as follows:
    - CDC Interface 0 - Connected to the command line input but can be commanded to a USB-UART2 bridge in the USB menu. UART2 is connected to the OpenSDA virtual COM port connection.
    - CDC Interface 1 - LPUART 0 (LPUART1_TX = PTA2, LPUART1_RX = PTA1)
    - CDC Interface 2 - LPUART 1 (LPUART2_TX = PTA19, LPUART2_RX = PTA18)
    All UARTs (two LPUARTs and one UART) are using DMA for transmission. Read more details about the UART/LPUARTs in the KL43 at µTasker UART/LPUART interface

    The application was configured with USB_INTERFACE to enable USB, USE_USB_MSD to enable the USB-MSD operation as well as USE_USB_CDC and #define USB_CDC_COUNT 3 for three CDC interfaces. The define FLASH_FAT is used instead of SDCARD_SUPPORT to specify that internal flash is used (the SD-card could be used in parallel with the SDCARD_SUPPORT define) and the following defines to control the location and size of the Flash area dedicated to the FAT:
    #define INTERNAL_FLASH_FAT_SIZE (128 * 1024) // size of the flash area used as disk
    #define FAT_FLASH_MANAGEMENT_ADDRESS (128 * 1024) // physical address where the used flash starts

    Linked to 0x8080, this software can be loaded using drag-and-drop with the USB-MSD loader mode or with the Freescale KBOOT utility via UART or USB-HID. When the application is running the green LED blinks at 2.5Hz. [60.1k]
  • uTaskerV1.4.8_TWR-KL43Z48M_MSD_CDCx3.bin The same KL43 application as stand-alone software that can be loaded using the TWR-KL43Z48M's USB-MSD OpenSDA boot loader [61.1k].

  • For details of the utFAT used for the internal file system interface see the utFAT2.0 User's Guide.
    This application requires the following USB driver due to its CDC interfaces
  • uTaskerFreescaleMultiVirtualCOMx3.inf USB CDC installation file for 32-bit windows (usable for 3 USB-CDC composite interfaces plus MSD).
  • uTaskerFreescaleMultiVirtualCOMx3_64bit.inf USB CDC installation file for 64-bit windows (usable for 3 USB-CDC composite interfaces plus MSD). See the following for a guide to installing unsigned drivers on Windows 8.1


Return to the Kinetis landing page


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